Understanding the effect of data center resource disaggregation on production DBMSs

Resource disaggregation is a new architecture for data centers in which resources like memory and storage are decoupled from the CPU, managed independently, and connected through a high-speed network. Recent work has shown that although disaggregated data centers (DDCs) provide operational benefits, applications running on DDCs experience degraded performance due to extra network latency between the CPU and their working sets in main memory. DBMSs are an interesting case study for DDCs for two main reasons: (1) DBMSs normally process data-intensive workloads and require data movement between different resource components; and (2) disaggregation drastically changes the assumption that DBMSs can rely on their own internal resource management. We take the first step to thoroughly evaluate the query execution performance of production DBMSs in disaggregated data centers. We evaluate two popular open-source DBMSs (MonetDB and PostgreSQL) and test their performance with the TPC-H benchmark in a recently released operating system for resource disaggregation. We evaluate these DBMSs with various configurations and compare their performance with that of single-machine Linux with the same hardware resources. Our results confirm that significant performance degradation does occur, but, perhaps surprisingly, we also find settings in which the degradation is minor or where DDCs actually improve performance.

[1]  Stefan Manegold,et al.  Cache-Conscious Radix-Decluster Projections , 2004, VLDB.

[2]  Gustavo Alonso,et al.  Customized OS support for data-processing , 2016, DaMoN '16.

[3]  Michael Stonebraker,et al.  Operating system support for database management , 1981, CACM.

[4]  Wolfgang Lehner,et al.  Cache-Efficient Aggregation: Hashing Is Sorting , 2015, SIGMOD Conference.

[5]  Scott Shenker,et al.  Making Sense of Performance in Data Analytics Frameworks , 2015, NSDI.

[6]  Jignesh M. Patel,et al.  Quickstep: A Data Platform Based on the Scaling-Up Approach , 2018, Proc. VLDB Endow..

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

[8]  Andrew Pavlo,et al.  How to Build a Non-Volatile Memory Database Management System , 2017, SIGMOD Conference.

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

[10]  Siddhartha Sen,et al.  Disaggregation and the Application , 2019, HotCloud.

[11]  Miron Livny,et al.  Global Memory Management in Client-Server Database Architectures , 1992, VLDB.

[12]  Gang Chen,et al.  Efficient Distributed Memory Management with RDMA and Caching , 2018, Proc. VLDB Endow..

[13]  Thomas F. Wenisch,et al.  System-level implications of disaggregated memory , 2012, IEEE International Symposium on High-Performance Comp Architecture.

[14]  Boon Thau Loo,et al.  Rethinking Data Management Systems for Disaggregated Data Centers , 2020, CIDR.

[15]  Kuang-Ching Wang,et al.  The Design and Operation of CloudLab , 2019, USENIX ATC.

[16]  Hakim Weatherspoon,et al.  Shoal: A Network Architecture for Disaggregated Racks , 2019, NSDI.

[17]  Dushyanth Narayanan,et al.  Fast General Distributed Transactions with Opacity , 2019, SIGMOD Conference.

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

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

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

[21]  Marcos K. Aguilera,et al.  Designing Far Memory Data Structures: Think Outside the Box , 2019, HotOS.

[22]  Gustavo Alonso,et al.  Rack-Scale In-Memory Join Processing using RDMA , 2015, SIGMOD Conference.

[23]  Amanda Carbonari,et al.  Tolerating Faults in Disaggregated Datacenters , 2017, HotNets.

[24]  Feng Li,et al.  Accelerating Relational Databases by Leveraging Remote Memory and RDMA , 2016, SIGMOD Conference.

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

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

[27]  Kai Li,et al.  Management of Multilevel, Multiclient Cache Hierarchies with Application Hints , 2011, TOCS.

[28]  Xuhui Li,et al.  CLIC: CLient-Informed Caching for Storage Servers , 2009, FAST.

[29]  Yoshiyasu Doi,et al.  Managing Non-Volatile Memory in Database Systems , 2018, SIGMOD Conference.