When multiple tenants compete for resources, database performance tends to suffer. Yet there are scenarios where guaranteed sub-millisecond latencies are crucial, such as in real-time data processing, IoT devices, or when operating in safety-critical environments. In this paper, we study how to make query latencies deterministic in the face of noise (whether caused by other tenants or unrelated operating system tasks). We perform controlled experiments with an in-memory database engine in a multi-tenant setting, where we successively eradicate noisy interference from within the system software stack, to the point where the engine runs close to bare-metal on the underlying hardware. We show that we can achieve query latencies comparable to the database engine running as the sole tenant, but without noticeably impacting the workload of competing tenants. We discuss these results in the context of ongoing efforts to build custom operating systems for database workloads, and point out that for certain use cases, the margin for improvement is rather narrow. In fact, for scenarios like ours, existing operating systems might just be good enough, provided that they are expertly configured. We then critically discuss these findings in the light of a broader family of database systems (e.g., including disk-based), and how to extend the approach of this paper accordingly.
翻译:当多个租户争夺资源时,数据库业绩往往会受到影响。然而,在某些情况下,有保证的二次二次延迟至关重要,例如在实时数据处理、IoT装置或安全临界环境下操作时。在本文中,我们研究如何在噪音(无论是由其他租户造成的还是无关操作系统任务造成的)面前使质疑延迟具有确定性。我们在一个多租制环境中用一个模拟数据库引擎进行受控实验,在多租制环境中,我们相继消除系统软件堆堆积中的噪音干扰,到发动机接近于光金属的点。我们表明,我们可以实现与作为唯一租户运行的数据库引擎相比的质疑延迟,但不会明显影响相互竞争的租户的工作量。我们在不断努力为数据库工作量建立定制操作系统的背景下讨论这些结果,并指出,对于某些使用案例来说,改进的余地相当窄。事实上,对于像我们这样的情景,现有的操作系统可能足够好,只要它们具有专门知识地配置。我们然后严格地讨论这些结果,从一个更广泛的家庭数据库系统的角度,包括这个数据库的扩大。