Skip to content

Latest commit

 

History

History
27 lines (17 loc) · 2.12 KB

2018.02.20-CORFU.md

File metadata and controls

27 lines (17 loc) · 2.12 KB

CORFU: A Shared Log Design for Flash Clusters

Mahesh Balakrishnan, Dahlia Malkhi, Vijayan Prabhakaran, Ted Wobber, Michael Wei, and John D. Davis

Summary

CORFU aims to provide a single, shared log by organizing a cluster of flash devices, and such log can be accessed concurrently by multiple clients over the network. Due to the high-speed property of flash devices, CORFU shared log provides strong consistency at high speeds, which can be further applied to many distributed applications like databases, transactional key-value stores, replicated state machines, and metadata services. In CORFU, there exists a mapping between each position in the shared log and a set of flash pages on different flash units. This map is maintained on the client side. In this paper, the author discusses how to address "holes" in the log and then describe two prototype application over CORFU. After that, they evaluate a CORFU implementation on a cluster of 32 Intel X25-V SSDs as well as a CORFU running over an FPGA-based network-attached flash unit. Besides, they also show that CORFU can recover from holes within short times.

Contributions

  • CORFU is the first design and implementation of a shared log over a cluster of flash devices.
  • The maximum append throughput of CORFUis not a function of any single node's I/O bandwidth.
  • For recovering from flash unit crashes and holes in the log, the authors propose low-latency fault-tolerance mechanisms.
  • The evaluation of CORFU covers many aspects, such as throughput, latency, fault-tolerance, and application performance on different hardware environments (i.e., server-attached SSDs and network-attached SSDs).

Strengths

  • The client-centric design ensures that the append throughput of the log does not rely on the bandwidth of any single flash unit.
  • Placing functionality at the clients reduces the complexity, cost, latency, and power consumption of the flash units.
  • The reconfiguration mechanism of CORFU can be completed within low latency on drive failures.

Weaknesses

  • The performance of the user-space sequencer node may be a bottleneck for large-scale web applications.