Characterizing Performance and Energy-Efficiency of the RAMCloud Storage System

Most large popular web applications, like Facebook and Twitter, have been relying on large amounts of in-memory storage to cache data and offer a low response time. As the main memory capacity of clusters and clouds increases, it becomes possible to keep most of the data in the main memory. This motivates the introduction of in-memory storage systems. While prior work has focused on how to exploit the low-latency of in-memory access at scale, there is very little visibility into the energy-efficiency of in-memory storage systems. Even though it is known that main memory is a fundamental energy bottleneck in computing systems (i.e., DRAM consumes up to 40% of a server's power). In this paper, by the means of experimental evaluation, we have studied the performance and energy-efficiency of RAMCloud - a well-known in-memory storage system. We reveal that although RAMCloud is scalable for read-only applications, it exhibits non-proportional power consumption. We also find that the current replication scheme implemented in RAMCloud limits the performance and results in high energy consumption. Surprisingly, we show that replication can also play a negative role in crash-recovery.

[1]  Satoshi Matsushita,et al.  Implementing linearizability at large scale and low latency , 2015, SOSP.

[2]  Pavlin Radoslavov,et al.  ONOS: towards an open, distributed SDN OS , 2014, HotSDN.

[3]  Karsten Schwan,et al.  Robust and flexible power-proportional storage , 2010, SoCC '10.

[4]  Daniel Wong,et al.  KnightShift: Scaling the Energy Proportionality Wall through Server-Level Heterogeneity , 2012, 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture.

[5]  María S. Pérez-Hernández,et al.  Exploring Energy-Consistency Trade-Offs in Cassandra Cloud Storage System , 2015, 2015 27th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD).

[6]  Franck Le,et al.  Stateless Network Functions: Breaking the Tight Coupling of State and Processing , 2017, NSDI.

[7]  Tony Tung,et al.  Scaling Memcache at Facebook , 2013, NSDI.

[8]  Song Jiang,et al.  Workload analysis of a large-scale key-value store , 2012, SIGMETRICS '12.

[9]  Gabriel Antoniu,et al.  Understanding how the network impacts performance and energy-efficiency in the RAMCloud storage system , 2016 .

[10]  Bin Fan,et al.  MemC3: Compact and Concurrent MemCache with Dumber Caching and Smarter Hashing , 2013, NSDI.

[11]  Christoph M. Kirsch,et al.  Proceedings of the sixth conference on Computer systems , 2011, Eurosys 2011.

[12]  Qingyuan Deng,et al.  MemScale: active low-power modes for main memory , 2011, ASPLOS XVI.

[13]  Dimitrios S. Nikolopoulos,et al.  Software-managed energy-efficient hybrid DRAM/NVM main memory , 2015, Conf. Computing Frontiers.

[14]  Jinyang Li,et al.  Using One-Sided RDMA Reads to Build a Fast, CPU-Efficient Key-Value Store , 2013, USENIX ATC.

[15]  Miguel Castro,et al.  FaRM: Fast Remote Memory , 2014, NSDI.

[16]  Tilmann Rabl,et al.  Solving Big Data Challenges for Enterprise Application Performance Management , 2012, Proc. VLDB Endow..

[17]  Peter Druschel,et al.  Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles , 2011, SOSP 2011.

[18]  Norman P. Jouppi,et al.  Rethinking DRAM design and organization for energy-constrained multi-cores , 2010, ISCA.

[19]  Baochun Li,et al.  Beehive: Erasure Codes for Fixing Multiple Failures in Distributed Storage Systems , 2017, IEEE Transactions on Parallel and Distributed Systems.

[20]  Christian Tinnefeld,et al.  Elastic online analytical processing on RAMCloud , 2013, EDBT '13.

[21]  Ashish Gupta,et al.  The RAMCloud Storage System , 2015, ACM Trans. Comput. Syst..

[22]  Amar Phanishayee,et al.  FAWN: a fast array of wimpy nodes , 2009, SOSP '09.

[23]  Heng Zhang,et al.  Efficient and Available In-Memory KV-Store with Hybrid Erasure Coding and Replication , 2016, FAST.

[24]  Austin Donnelly,et al.  Sierra: practical power-proportionality for data center storage , 2011, EuroSys '11.

[25]  Mendel Rosenblum,et al.  Fast crash recovery in RAMCloud , 2011, SOSP.

[26]  Sachin Katti,et al.  Copysets: Reducing the Frequency of Data Loss in Cloud Storage , 2013, USENIX Annual Technical Conference.

[27]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[28]  Amar Phanishayee,et al.  FAWN: a fast array of wimpy nodes , 2011, Commun. ACM.

[29]  Hyeontaek Lim,et al.  MICA: A Holistic Approach to Fast In-Memory Key-Value Storage , 2014, NSDI.

[30]  Li Zhang,et al.  HydraDB: a resilient RDMA-driven key-value middleware for in-memory cluster computing , 2015, SC15: International Conference for High Performance Computing, Networking, Storage and Analysis.

[31]  Stephen M. Rumble,et al.  Log-structured memory for DRAM-based storage , 2014, FAST.

[32]  Gerardo Ganis,et al.  Large-Scale Merging of Histograms using Distributed In-Memory Computing , 2015 .