Check out the new USENIX Web site.

Home About USENIX Events Membership Publications Students
2000 USENIX Annual Technical Conference    [Technical Index]

Pp. 337–350 of the Proceedings
Isolation with Flexibility: A Resource Management Framework for Central Servers Check out the new USENIX Web site. [top | prev | next]

Isolation with Flexibility:
A Resource Management Framework for Central Servers

David G. Sullivan, Margo I. Seltzer
Division of Engineering and Applied Sciences
Harvard University, Cambridge, MA 02138

{sullivan,margo}@eecs.harvard.edu



Abstract

Proportional-share resource management is becoming increasingly important in today's computing environments. In particular, the growing use of the computational resources of central service providers argues for a proportional-share approach that allows resource principals to obtain allocations that reflect their relative importance. In such environments, resource principals must be isolated from one another to prevent the activities of one principal from impinging on the resource rights of others. However, such isolation limits the flexibility with which resource allocations can be modified to reflect the actual needs of applications. We present extensions to the lottery-scheduling resource management framework that increase its flexibility while preserving its ability to provide secure isolation. To demonstrate how this extended framework safely overcomes the limits imposed by existing proportional-share schemes, we have implemented a prototype system that uses the framework to manage CPU time, physical memory, and disk bandwidth. We present the results of experiments that evaluate the prototype, and we show that our framework has the potential to enable server applications to achieve significant gains in performance.


  1. Introduction
  2. Securely Managing Multiple Resources
    2.1 The Original Framework
    2.2 Resource-Specific Tickets
    2.3 Currency Brokers
    2.4 Hard and Soft Resource Shares
  3. Isolation with Greater Flexibility
    3.1 Problem: Currencies Impose Upper Limits
    3.2 Solution: Ticket Exchanges
    3.3 Problem: Currencies Impose Lower Limits
    3.4 Solution: Limited Permission to Issue Base-Currency Tickets
  4. Prototype Implementation
    4.1 Threads and Currencies
    4.2 Currency Configuration and Permissions
    4.3 Managing CPU Time
    4.4 Managing Memory
    4.5 Managing Disk Bandwidth
    4.6 Emulating Nice
    4.7 Carrying Out Exchanges
  5. Experiments
    5.1 Experimental Setup
    5.2 Providing Shares of CPU Time
    5.3 Providing Memory Shares
    5.4 Providing Shares of Disk Bandwidth
    5.5 Ticket Exchanges: CPU and Disk Tickets
    5.6 Ticket Exchanges Between Database Applications: Memory and Disk Tickets
  6. Related Work
  7. Conclusions
Availability
Acknowledgements
References
[top | prev | next]

This paper was originally published in the Proceedings of the 2000 USENIX Annual Technical Conference, June 18-23, 2000, San Diego, California, USA
Last changed: 7 Feb 2002 ml
Technical Program
Conference Index Home
USENIX home