Results 1 -
2 of
2
Cello: A Disk Scheduling Framework for Next Generation Operating Systems
- In Proceedings of ACM SIGMETRICS Conference
, 1997
"... In this paper, we present the Cello disk scheduling framework for meeting the diverse service requirements of applications. Cello employs a two-level disk scheduling architecture, consisting of a classindependent scheduler and a set of class-specific schedulers. The two levels of the framework alloc ..."
Abstract
-
Cited by 153 (11 self)
- Add to MetaCart
In this paper, we present the Cello disk scheduling framework for meeting the diverse service requirements of applications. Cello employs a two-level disk scheduling architecture, consisting of a classindependent scheduler and a set of class-specific schedulers. The two levels of the framework allocate disk bandwidth at two timescales: the class-independent scheduler governs the coarse-grain allocation of bandwidth to application classes, while the class-specific schedulers control the fine-grain interleaving of requests. The two levels of the architecture separate application-independent mechanisms from application-specific scheduling policies, and thereby facilitate the co-existence of multiple class-specific schedulers. We demonstrate that Cello is suitable for next generation operating systems since: (i) it aligns the service provided with the application requirements, (ii) it protects application classes from one another, (iii) it is work-conserving and can adapt to changes in wor...
Application-assisted physical . . .
, 2003
"... Many software applications can, in principle, trade main memory consumption for other resources. For instance, garbage collected language runtimes can trade collection overhead for heap size, and many programs can improve their performance by caching data that was precomputed, read from disk or rece ..."
Abstract
- Add to MetaCart
Many software applications can, in principle, trade main memory consumption for other resources. For instance, garbage collected language runtimes can trade collection overhead for heap size, and many programs can improve their performance by caching data that was precomputed, read from disk or received from the network. Unfortunately, OSs provide little useful information about physical memory availability, and so applications use main memory cautiously to avoid unnecessary paging when memory is scarce. In this thesis proposal, we revisit physical memory management in generalpurpose OSs, with the goal to inform interested applications about the level of contention for physical memory. We define a severity metric for memory contention, which allows applications to balance the cost of paging against the cost of freeing and later regenerating a memory page. We describe how the system can maintain the severity metric with low overhead, and show how slightly modified applications can realize substantial performance improvements by dynamically adjusting

