Memtrade: A Disaggregated-Memory Marketplace for Public Clouds

We present Memtrade, the first memory disaggregation system for public clouds. Public clouds introduce a set of unique challenges for resource disaggregation across different tenants, including security, isolation and pricing. Memtrade allows producer virtual machines (VMs) to lease both their unallocated memory and allocated-but-idle application memory to remote consumer VMs for a limited period of time. Memtrade does not require any modifications to host-level system software or support from the cloud provider. It harvests producer memory using an application-aware control loop to form a distributed transient remote memory pool with minimal performance impact; it employs a broker to match producers with consumers while satisfying performance constraints; and it exposes the matched memory to consumers as a secure KV cache. Our evaluation using realworld cluster traces shows that Memtrade provides significant performance benefit for consumers (improving average read latency up to 2.8×) while preserving confidentiality and integrity, with little impact on producer applications (degrading performance by less than 2.1%).

[1]  K. V. Rashmi,et al.  A large scale analysis of hundreds of in-memory cache clusters at Twitter , 2020, OSDI.

[2]  Ashish Motivala,et al.  Building An Elastic Query Engine on Disaggregated Storage , 2020, NSDI.

[3]  Kostas Katrinis,et al.  Rack-scale disaggregated cloud data centers: The dReDBox project vision , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[4]  David E. Irwin,et al.  Transient Guarantees: Maximizing the Value of Idle Cloud Capacity , 2016, SC16: International Conference for High Performance Computing, Networking, Storage and Analysis.

[5]  Irfan Ahmad,et al.  Cache Modeling and Optimization using Miniature Simulations , 2017, USENIX Annual Technical Conference.

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

[7]  Thomas F. Wenisch,et al.  Disaggregated memory for expansion and sharing in blade servers , 2009, ISCA '09.

[8]  Sachin Katti,et al.  Bandana: Using Non-volatile Memory for Storing Deep Learning Models , 2018, MLSys.

[9]  Balaji Prabhakar,et al.  CloudEx: a fair-access financial exchange in the cloud , 2021, HotOS.

[10]  Ricardo Bianchini,et al.  Providing SLOs for Resource-Harvesting VMs in Cloud Platforms , 2020, OSDI.

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

[12]  Kang G. Shin,et al.  Efficient Memory Disaggregation with Infiniswap , 2017, NSDI.

[13]  Sahil Malik Azure Functions , 2019 .

[14]  Dhabaleswar K. Panda,et al.  Swapping to Remote Memory over InfiniBand: An Approach using a High Performance Network Block Device , 2005, 2005 IEEE International Conference on Cluster Computing.

[15]  John K. Ousterhout,et al.  In Search of an Understandable Consensus Algorithm , 2014, USENIX ATC.

[16]  Marcos K. Aguilera,et al.  Remote regions: a simple abstraction for remote memory , 2018, USENIX ATC.

[17]  Michael Abd-El-Malek,et al.  Omega: flexible, scalable schedulers for large compute clusters , 2013, EuroSys '13.

[18]  Gustavo Alonso,et al.  Application level ballooning for efficient server consolidation , 2013, EuroSys '13.

[19]  Ryan Stutsman,et al.  Memshare: a Dynamic Multi-tenant Key-value Cache , 2017, USENIX Annual Technical Conference.

[20]  Ricardo Bianchini,et al.  Resource Central: Understanding and Predicting Workloads for Improved Resource Management in Large Cloud Platforms , 2017, SOSP.

[21]  Yiying Zhang,et al.  LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation , 2018, OSDI.

[22]  Mosharaf Chowdhury,et al.  Effectively Prefetching Remote Memory with Leap , 2019, USENIX ATC.

[23]  Kai Ren,et al.  DeltaFS: exascale file systems scale better without dedicated servers , 2015, PDSW '15.

[24]  Liang Zheng,et al.  How to Bid the Cloud , 2015, Comput. Commun. Rev..

[25]  Mor Harchol-Balter,et al.  The CacheLib Caching Engine: Design and Experiences at Scale , 2020, OSDI.

[26]  Peter J. Denning,et al.  Operating Systems Theory , 1973 .

[27]  Chen Tian,et al.  When Cloud Storage Meets RDMA , 2021, NSDI.

[28]  George Kesidis,et al.  Exploiting Spot and Burstable Instances for Improving the Cost-efficacy of In-Memory Caches on the Public Cloud , 2017, EuroSys.

[29]  Abhishek Verma,et al.  Large-scale cluster management at Google with Borg , 2015, EuroSys.

[30]  Yang Song,et al.  Optimal bidding in spot instance market , 2012, 2012 Proceedings IEEE INFOCOM.

[31]  Christoforos E. Kozyrakis,et al.  Pocket: Elastic Ephemeral Storage for Serverless Analytics , 2018, OSDI.

[32]  Gustavo Alonso,et al.  Serverless Clusters: The Missing Piece for Interactive Batch Applications? , 2020 .

[33]  Chris Mason,et al.  Paravirtualized Paging , 2008, Workshop on I/O Virtualization.

[34]  Scott Shenker,et al.  Network Requirements for Resource Disaggregation , 2016, OSDI.

[35]  Zhuo Liu,et al.  Benchmarking Streaming Computation Engines: Storm, Flink and Spark Streaming , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW).

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

[37]  Thomas F. Wenisch,et al.  Thermostat: Application-transparent Page Management for Two-tiered Main Memory , 2017, ASPLOS.

[38]  Yiyu Yao,et al.  Granular Computing , 2008 .

[39]  Marcos K. Aguilera,et al.  Remote memory in the age of fast networks , 2017, SoCC.

[40]  Irfan Ahmad,et al.  Efficient MRC Construction with SHARDS , 2015, FAST.

[41]  Muli Ben-Yehuda,et al.  The Resource-as-a-Service (RaaS) Cloud , 2012, HotCloud.

[42]  Mahadev Konar,et al.  ZooKeeper: Wait-free Coordination for Internet-scale Systems , 2010, USENIX ATC.

[43]  Sachin Katti,et al.  Cliffhanger: Scaling Performance Cliffs in Web Memory Caches , 2016, NSDI.

[44]  Randy H. Katz,et al.  Heterogeneity and dynamicity of clouds at scale: Google trace analysis , 2012, SoCC '12.

[45]  Marcos K. Aguilera,et al.  AIFM: High-Performance, Application-Integrated Far Memory , 2020, OSDI.

[46]  Muli Ben-Yehuda,et al.  Ginseng: market-driven memory allocation , 2014, VEE '14.

[47]  Marcos K. Aguilera,et al.  Can far memory improve job throughput? , 2020, EuroSys.

[48]  Jichuan Chang,et al.  Software-Defined Far Memory in Warehouse-Scale Computers , 2019, ASPLOS.

[49]  Chris Mason,et al.  Transcendent Memory and Linux , 2006 .

[50]  Tianqi Chen,et al.  XGBoost: A Scalable Tree Boosting System , 2016, KDD.

[51]  Quanyan Zhu,et al.  Dynamic Resource Allocation for Spot Markets in Cloud Computing Environments , 2011, 2011 Fourth IEEE International Conference on Utility and Cloud Computing.

[52]  Christoforos E. Kozyrakis,et al.  ReFlex: Remote Flash ≈ Local Flash , 2017, ASPLOS.

[53]  Baochun Li,et al.  Dynamic Cloud Pricing for Revenue Maximization , 2013, IEEE Transactions on Cloud Computing.

[54]  Suresh Subramaniam,et al.  CRED: Cloud Right-Sizing to Meet Execution Deadlines and Data Locality , 2016, 2016 IEEE 9th International Conference on Cloud Computing (CLOUD).

[55]  Zhichao Cao,et al.  Characterizing, Modeling, and Benchmarking RocksDB Key-Value Workloads at Facebook , 2020, FAST.

[56]  Min Xie,et al.  The use of ARIMA models for reliability forecasting and analysis , 1998 .

[57]  Srinivasan Keshav,et al.  An Engineering Approach to Computer Networking: ATM Networks , 1996 .

[58]  Christoforos E. Kozyrakis,et al.  Selecta: Heterogeneous Cloud Storage Configuration for Data Analytics , 2018, USENIX Annual Technical Conference.

[59]  Krzysztof Rzadca,et al.  Autopilot: workload autoscaling at Google , 2020, EuroSys.

[60]  Daniel Hagimont,et al.  Welcome to zombieland: practical and energy-efficient memory disaggregation in a datacenter , 2018, EuroSys.

[61]  Scott Shenker,et al.  Network support for resource disaggregation in next-generation datacenters , 2013, HotNets.

[62]  Muli Ben-Yehuda,et al.  Deconstructing Amazon EC2 Spot Instance Pricing , 2011, 2011 IEEE Third International Conference on Cloud Computing Technology and Science.

[63]  Minlan Yu,et al.  CherryPick: Adaptively Unearthing the Best Cloud Configurations for Big Data Analytics , 2017, NSDI.

[64]  Peter J. Denning,et al.  The working set model for program behavior , 1968, CACM.

[65]  Yingwei Luo,et al.  Kinetic Modeling of Data Eviction in Cache , 2016, USENIX Annual Technical Conference.

[66]  Irene Zhang,et al.  Securing RDMA for High-Performance Datacenter Storage Systems , 2020, HotCloud.

[67]  Sachin Katti,et al.  Reducing DRAM footprint with NVM in Facebook , 2018, EuroSys.

[68]  Christoforos E. Kozyrakis,et al.  Flash storage disaggregation , 2016, EuroSys.

[69]  Christoforos E. Kozyrakis,et al.  SmartHarvest: harvesting idle CPUs safely and efficiently in the cloud , 2021, EuroSys.

[70]  Sachin Katti,et al.  Dynacache: Dynamic Cloud Caching , 2015, HotStorage.

[71]  Orna Agmon Ben-Yehuda,et al.  Ginseng: Market-Driven LLC Allocation , 2016, USENIX Annual Technical Conference.

[72]  Carl A. Waldspurger,et al.  Memory resource management in VMware ESX server , 2002, OSDI '02.