Going beyond Paxos

Mahesh Kumarr Balakrishnan, Dahlia Malkhi, Vijayan Prabhakaran, Ted Wobber · 2011

Flash storage is making inroads into data centers, enabling a new class of applications that require persistence as well as extreme performance. Clusters of flash can satisfy millions of IOs per second at submillisecond latencies while consuming significantly less power per IO than disk clusters. Unfortunately, current designs for scalable storage systems are predicated on the properties of hard disks, and can be inefficient or unreliable when used with flash clusters. For example, replacing hard disks in high-end servers with expensive PCI-E flash drives (e.g., Fusion-io [10]) can result in a rigid architecture which is hard to scale incrementally and may be susceptible to network bottlenecks. Furthermore, scaling techniques such as data partitioning (e.g., FAWN [2]) can age drives at difference rates, resulting in uneven reliability and performance across the cluster. The upshot is that new abstractions are required to fully realize the potential of flash clusters. Accordingly, Corfu1 is a new storage system for flash clusters. The key idea in Corfu is to expose a cluster of network-attached flash devices as a single, shared log to clients running within the data center. Applications running on the clients can append data to this log or read entries from its middle. Internally, this shared log is implemented as a distributed log spread over the flash cluster. This design makes sense for two reasons:

Read the paper · More papers on PaperTik