60 research outputs found

    Sharing Buffer Pool Memory in Multi-Tenant Relational Database-as-a-Service

    Get PDF
    ABSTRACT Relational database-as-a-service (DaaS) providers need to rely on multi-tenancy and resource sharing among tenants, since statically reserving resources for a tenant is not cost effective. A major consequence of resource sharing is that the performance of one tenant can be adversely affected by resource demands of other colocated tenants. One such resource that is essential for good performance of a tenant's workload is buffer pool memory. In this paper, we study the problem of how to effectively share buffer pool memory in multi-tenant relational DaaS. We first develop an SLA framework that defines and enforces accountability of the service provider to the tenant even when buffer pool memory is not statically reserved on behalf of the tenant. Next, we present a novel buffer pool page replacement algorithm (MT-LRU) that builds upon theoretical concepts from weighted online caching, and is designed for multi-tenant scenarios involving SLAs and overbooking. MT-LRU generalizes the LRU-K algorithm which is commonly used in relational database systems. We have prototyped our techniques inside a commercial DaaS engine and extensive experiments demonstrate the effectiveness of our solution

    PerfIso: Performance isolation for commercial latency-sensitive services

    Get PDF
    Large commercial latency-sensitive services, such as web search, run on dedicated clusters provisioned for peak load to ensure responsiveness and tolerate data center outages. As a result, the average load is far lower than the peak load used for provisioning, leading to resource under-utilization. The idle resources can be used to run batch jobs, completing useful work and reducing overall data center provisioning costs. However, this is challenging in practice due to the complexity and stringent tail-latency requirements of latency-sensitive services. Left unmanaged, the competition for machine resources can lead to severe response-time degradation and unmet service-level objectives (SLOs). This work describes PerfIso, a performance isolation framework which has been used for nearly three years in Microsoft Bing, a major search engine, to colocate batch jobs with production latency-sensitive services on over 90,000 servers. We discuss the design and implementation of PerfIso, and conduct an experimental evaluation in a production environment. We show that colocating CPU-intensive jobs with latency-sensitive services increases average CPU utilization from 21% to 66% for off-peak load without impacting tail latency

    An Analysis of Swizzling Costs in an OODBMS

    No full text
    Swizzling is a mechanism used by OODBMSs to convert pointers from their disk formats to a more efficient in-memory format. In this project we analyze the the costs associated with swizzling in Texas, an OODBMS which does pointer swizzling at pagefault time. We report the costs of signal handling, object translation, the virtual memory overhead, and unswizzling. We compare the performance of Texas with that of Opal, a single address space system, in which no swizzling is necessary. 1 Introduction In the last decade there has been a great deal of interest in the database research community regarding object oriented database management systems (OODBMS). OODBMSs offer the ability to model complex, pointer rich structures which is not natural in the relational database approach. Specifically OODBMSs meet the needs of applications such as computer aided design and manufacturing (CAD/CAM) and computer aided software engineering (CASE). Most existing OODBMSs use a technique known as swizzling..
    corecore