2000 USENIX Annual Technical Conference   
[Technical Index]
Pp. 337350 of the Proceedings | |
Isolation with Flexibility: A Resource Management Framework for Central Servers
[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.
- Introduction
- 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
- 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
- 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
- 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
- Related Work
- Conclusions
- Availability
- Acknowledgements
- References
[top |
prev |
next]
|