The art of latency hiding in modern database engines
Modern database engines must well use multicore CPUs, large main memory and fast
storage devices to achieve high performance. A common theme is hiding latencies such that
more CPU cycles can be dedicated to" real" work, improving overall throughput. Yet existing
systems are only able to mitigate the impact of individual latencies, eg, by interleaving
memory accesses with computation to hide CPU cache misses. They still lack the joint
optimization of hiding the impact of multiple latency sources. This paper presents MosaicDB …
storage devices to achieve high performance. A common theme is hiding latencies such that
more CPU cycles can be dedicated to" real" work, improving overall throughput. Yet existing
systems are only able to mitigate the impact of individual latencies, eg, by interleaving
memory accesses with computation to hide CPU cache misses. They still lack the joint
optimization of hiding the impact of multiple latency sources. This paper presents MosaicDB …
Modern database engines must well use multicore CPUs, large main memory and fast storage devices to achieve high performance. A common theme is hiding latencies such that more CPU cycles can be dedicated to "real" work, improving overall throughput. Yet existing systems are only able to mitigate the impact of individual latencies, e.g., by interleaving memory accesses with computation to hide CPU cache misses. They still lack the joint optimization of hiding the impact of multiple latency sources.
This paper presents MosaicDB, a set of latency-hiding techniques to solve this problem. With stackless coroutines and carefully crafted scheduling policies, we explore how I/O and synchronization latencies can be hidden in a well-crafted OLTP engine that already hides memory access latency, without hurting the performance of memory-resident workloads. MosaicDB also avoids oversubscription and reduces contention using the coroutine-to-transaction paradigm. Our evaluation shows MosaicDB can achieve these goals and up to 33x speedup over prior state-of-the-art.
