Adaptive disk scheduling with workload-dependent anticipation intervals

Anticipatory scheduling (AS) of I/O requests has become a viable choice for block-device schedulers in open-source OS-kernels as prior work has established its superiority over traditional disk-scheduling policies. An AS-scheduler selectively stalls the block-device right after servicing a request in hope that a new request for a nearby sector will be soon posted. Clearly, this decision may introduce delays if the anticipated I/O does not arrive on time. In this paper, we build on the success of the AS and propose an approach that minimizes the overhead of unsuccessful anticipations. Our suggested approach termed workload-dependent anticipation scheduling (WAS), determines the length of every anticipation period in an on-line fashion in order to reduce penalties by taking into account the evolving spatio-temporal characteristics of running processes as well as properties of the underlying computing system. We harvest the spatio-temporal features of individual processes and employ a system-wide process classification scheme that is re-calibrated on the fly. The resulting classification enables the disk scheduler to make informed decisions and vary the anticipation interval accordingly, on a per-process basis. We have implemented and incorporated WAS into the current Linux kernel. Through experimentation with a wide range of diverse workloads, we demonstrate WAS benefits and establish reduction of penalties over other AS-scheduler implementations.

[1]  Azer Bestavros,et al.  Timeliness via speculation for real-time databases , 1994, 1994 Proceedings Real-Time Systems Symposium.

[2]  Manfred Ruschitzka,et al.  A unifying approach to scheduling , 1977, CACM.

[3]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[4]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[5]  B. Saravanos,et al.  Statistical Analysis of Experimental Data , 2008 .

[6]  Vasileios Megalooikonomou,et al.  Fast and effective characterization for classification and similarity searches of 2D and 3D spatial region data , 2005, Pattern Recognit..

[7]  Banu Özden,et al.  A Low-Cost Storage Server for Movie on Demand Databases , 1994, VLDB.

[8]  Richard McDougall,et al.  Solaris Internals: Core Kernel Architecture , 2000 .

[9]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1987, SOSP '87.

[10]  R. S. Fabry,et al.  A fast file system for UNIX , 1984, TOCS.

[11]  Uresh K. Vahalia UNIX Internals: The New Frontiers , 1995 .

[12]  Athena Vakali,et al.  QoS-oriented negotiation in disk subsystems , 2006, Data Knowl. Eng..

[13]  Scott D. Carson,et al.  A system for adaptive disk rearrangement , 1990, Softw. Pract. Exp..

[14]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[15]  Krithi Ramamritham,et al.  The integration of deadline and criticalness in hard real-time scheduling , 1988, Proceedings. Real-Time Systems Symposium.

[16]  B. Ripley,et al.  Pattern Recognition , 1968, Nature.

[17]  Anujan Varma,et al.  Efficient fair queueing algorithms for packet-switched networks , 1998, TNET.

[18]  Yale N. Patt,et al.  Scheduling algorithms for modern disk drives , 1994, SIGMETRICS 1994.

[19]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[20]  Hector Garcia-Molina,et al.  Scheduling real-time transactions: a performance evaluation , 1988, TODS.

[21]  Christos Faloutsos,et al.  Flexible and Adaptable Buffer Management Techniques for Database Management Systems , 1995, IEEE Trans. Computers.

[22]  Sergios Theodoridis,et al.  Pattern Recognition, Third Edition , 2006 .

[23]  David A. Patterson,et al.  Computer Organization & Design: The Hardware/Software Interface , 1993 .

[24]  Donald F. Towsley,et al.  Performance evaluation of two new disk scheduling algorithms for real-time systems , 2004, Real-Time Systems.

[25]  장훈,et al.  [서평]「Computer Organization and Design, The Hardware/Software Interface」 , 1997 .

[26]  Robert Love,et al.  Linux Kernel Development , 2003 .

[27]  John Dilley Hewlett-Packard Web Server Workload Characterization , 1996 .

[28]  Michael Stonebraker,et al.  Read optimized file system designs: a performance evaluation , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[29]  Scott Shenker,et al.  Analysis and simulation of a fair queueing algorithm , 1989, SIGCOMM '89.

[30]  Peter J. Denning,et al.  The working set model for program behavior , 1968, CACM.

[31]  Edward D. Lazowska,et al.  Quantitative System Performance , 1985, Int. CMG Conference.

[32]  Alma Riska,et al.  It's not fair - evaluating efficient disk scheduling , 2003, 11th IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer Telecommunications Systems, 2003. MASCOTS 2003..

[33]  F. ArlittMartin,et al.  Web server workload characterization , 1996 .

[34]  Kenneth Salem,et al.  Adaptive Block Rearrangement Under UNIX , 1997, Softw. Pract. Exp..

[35]  Peter Druschel,et al.  Anticipatory scheduling: a disk scheduling framework to overcome deceptive idleness in synchronous I/O , 2001, SOSP.

[36]  Kenneth Salem,et al.  Adaptive block rearrangement , 1993, TOCS.

[37]  Raphael A. Finkel,et al.  An Operating Systems Vade Mecum , 1986 .

[38]  Miron Livny,et al.  On being optimistic about real-time constraints , 1990, PODS '90.

[39]  Alex Delis,et al.  Radio-wave propagation prediction using ray-tracing techniques on a network of workstations (NOW) , 2004, J. Parallel Distributed Comput..

[40]  Banu Özden,et al.  Disk scheduling with quality of service guarantees , 1999, Proceedings IEEE International Conference on Multimedia Computing and Systems.

[41]  John L. Hennessy,et al.  WSCLOCK—a simple and effective algorithm for virtual memory management , 1981, SOSP.

[42]  Robert S. Fabry,et al.  A fast file system for UNIX , 1984, TOCS.