CORFU (Clusters of Raw Flash Units) is a cluster of network-attached flash exposed as a global shared log. CORFU has two primary goals. As a shared log, it exploits flash storage to alter the trade-off between performance and consistency, supporting applications such as databases at wire speed. As a distributed SSD, it slashes power consumption and infrastructure cost by eliminating storage servers.
Unlike conventional single-machine SSDs, CORFU's distributed nature enables fault-tolerance to machine and rack failures, as well as incremental scaling of capacity and throughput. CORFU also avoids the bandwidth bottlenecks present in high-performance SSD servers by distributing flash capacity throughout the data center.
- Michael Wei, Mahesh Balakrishnan, John D. Davis, Dahlia Malkhi, Vijayan Prabhakaran, and Ted Wobber, Dynamically Scalable, Fault-Tolerant Coordination on a Shared Logging Service, no. MSR-TR-2013-40, 28 March 2013
- Mahesh Balakrishnan, Dahlia Malkhi, John Davis, Vijayan Prabhakaran, Michael Wei, and Ted Wobber, CORFU: A Distributed Shared Log, in ACM Transactions on Computer Systems, ACM, 2013
- Mahesh Balakrishnan, Dahlia Malkhi, Vijayan Prabhakaran, Ted Wobber, Michael Wei, and John Davis, CORFU: A Shared Log Design for Flash Clusters, in 9th USENIX Symposium on Networked Systems Design and Implementation (NSDI '12), USENIX, April 2012
- Dahlia Malkhi, Mahesh Balakrishnan, John Davis, Vijayan Prabhakaran, and Ted Wobber, From Paxos to CORFU: A Flash-Speed Shared Log, in ACM SIGOPS Operating Systems Reviews, ACM SIGOPS, 2012
- Mahesh Balakrishnan, Dahlia Malkhi, Vijayan Prabhakaran, and Ted Wobber, Going beyond Paxos, no. MSR-TR-2011-86, July 2011