The end of scaling from Moore’s and Dennard’s laws has greatly slowed improvements in CPU speed, RAM capacity, and disk/flash capacity. Meanwhile, cloud database systems, which are the backbone for many large-scale services and applications in the cloud, are continuing to grow exponentially. For example, most of Google’s products that run on the Spanner database have more than a billion users and are continuously growing. Moreover, the growth in data also shows no signs of slowing down, with further orders-of-magnitude increases likely, due to autonomous vehicles, the internet-of-things, and human-driven data creation. Meanwhile, machine learning creates an appetite for data that also needs to be pre-processed using scalable cloud database systems. As a result, cloud database systems are facing a fundamental scalability wall on how to further support this exponential growth given the stagnation in hardware.
While database research has a long tradition of investigating how modern hardware can be leveraged to improve overall system performance – which is also shown by the series of past Dagstuhl Seminars – a more holistic view is required to address the imminent exponential scalability challenge that databases will be facing. However, applying hardware accelerators in database needs a careful design. In fact, so far, no commercial system has applied hardware accelerators at scale. Unlike other hyper-scale applications such as machine learning training and video processing where accelerators such as GPUs and TPUs circumvent this problem, workloads in cloud database systems are typically not compute-bound and thus benefit less or not at all from such existing accelerators. Database systems also rely more on balanced performance across the full storage hierarchy, from level 1 caches all the way to disks accessed over the network.
This Dagstuhl Seminar aim to bringing together leading researchers and practitioners from database systems, hardware architecture, and storage systems to rethink, from the ground up, how to co-design database systems and compute/storage hardware. By bringing together experts across these disciplines, we hope to identify the architectural changes and system designs that will enable the order-of-magnitude improvements required for the next generation of applications. Many directions can be discussed: Instead of focusing on how to leverage accelerators, should we not focus on how to efficiently enable systems that allow us to have a more flexible balance of cores, accelerators, fabrics, RAM, and IO? In the same vein, we think that it is worth investigating how to customize CPU architectures for database workloads instead of using existing accelerators such as GPUs? Another interesting direction is how do we balance disaggregation which promotes resource efficiency with aggregation that promotes performance? And most prominently, how do we avoid the pitfalls of much past work, both academic and industrial, on accelerators or storage subsystems that wind up failing due to limited impact?
- Hardware Architecture
- Database systems
- Hyperscale systems
- Cloud computing
- Computer architecture
- Hardware/software co-design