Application-Independent Mechanisms
We have developed mechanisms for multiplexing disk bandwidth,
storage space, and file server cache among heterogeneous
applications. The most noteworthy of these mechanisms is the one for
managing disk bandwidth.
Conventional disk scheduling algorithms are optimized either for
best-effort requests or for requests with real-time deadlines. A
disk scheduling algorithm that simultaneously supports applications
with heterogeneous performance requirements should: (1) align the
service it provides with the application needs, (2) protect
application classes from one another, (3) be work-conserving and
adapt to changes in work-load, (4) minimize the seek time and
rotational latency overhead incurred during access, and (5) be
computationally efficient. We have developed the Cello disk
scheduling algorithm that addresses these requirements. Cello
achieves this by allocating disk bandwidth to application classes at
two time-scales. At a coarse time-scale, it determines the number of
requests from each application class to be serviced, and at a fine
time-scale, it determines the order for servicing the set of
selected requests. Whereas the former enables Cello to protect
application classes from one another and to adapt disk bandwidth
allocation with changing work-load, the latter enables it to align
the service provided with the application requirements while
minimizing the seek time and rotational latency overhead. These two
tasks naturally map to an extensible two-level disk scheduling
architecture consisting of a application-independent and a set of
application-specific schedulers.
Representative Publications:
-
P. Shenoy and H.M. Vin, Cello: A Disk Scheduling Framework for
Next-generation Operating Systems, In Proceedings of ACM
SIGMETRICS'98, the International Conference on Measurement and
Modeling of Computer Systems, June 1998
[
Abstract |
Paper ]