Monday, September 21, 2015

Review of "The Case for RAMCloud"

This paper definitely discussed a real problem - applications increasingly want to load more complex data quickly, have a larger total amount of data, and want all of this in a redundant manner. 

The solution's main idea is to implement a storage system fully in DRAM (possibly with SSDs or disks for increased durability) to provide very low latency, high bandwidth storage. 

This is different from previous work because, at the time of publication, DRAM was just starting to reach the point where you could install large enough amounts on a server, at a cost effective price, to be able to store significant amounts of data purely in DRAM. 

There are definitely some fundamental trade-offs here. DRAM does not provide the same durability guarantees as disk/SSD; even with replication, non-volatile storage is necessary as a backup in case of e.g. a power outage at a data center. It also costs significantly more, and requires more energy per bit of storage, than disks/SSDs. But, they run at significantly lower latency and higher bandwidth. 

I do think this will be influential in 10 years -- it has already been 6 years since its publication and I have seen this paper discussed in some of the other modern papers we have read. Also, DRAM is significantly cheaper and more spacious than it was at the time of publication, making this type of system even more viable in today's world. While the volume of data collected has also increased hugely, meaning that I don't see RAMClouds being a full replacement system for current disk-based clusters anytime soon, I think that the idea of using such a system for large online data stores will continue to be increasingly prevalent. 

No comments:

Post a Comment