Report ID
2012-02
Report Authors
Hatem A. Mahmoud, Hyun Jin Moon, Yun Chi, Hakan Hacigumus, Divyakant Agrawal, and Amr El-Abbadi
Report Date
Abstract

Consolidation of multiple databases on the same server allows service providers to save significant resources because many production database servers are often under-utilized. We consider the problem of minimizing the number of servers needed to host a set of tenants, while satisfying the service level agreement (SLA) on the throughput of each tenant. Recent research investigates this problem under the assumption that the working sets of tenants are kept in main memory (e.g., OLTP workloads, or in-memory OLAP workloads), thus the buffer size of each tenant is dictated by the working set size of that tenant. In this paper we instead investigate the problem when the throughput SLAs of tenants are low enough for queries to be answered from disk. We study the trade-off between buffer size and query execution time for IO-bound workloads and propose an algorithm, called Greedy Memory Reduction (GMR). GMR approximates a globally-optimum memory allocation function (i.e., a function that assigns a buffer size to each tenant) for tenants running in private DBMS instances, such that the number of servers needed to host all tenants is minimized. GMR further inspires the design of another online heuristic that, though lacks an approximation guarantee, performs very well in practice. We then present a heuristic algorithm, called Greedy Tenant Consolidation (GTC), for consolidating tenants into shared DBMS instances whenever their throughput SLAs allow. Finally, we conduct extensive experimental evaluations of our algorithms to demonstrate their effectiveness, scalability, and correctness.

Document
2012-02.pdf476.73 KB