Heuristics for Scheduling I/O Operations

The I/O bottleneck in parallel computer systems has recently begun receiving increasing interest. Most attention has focused on improving the performance of I/O devices using fairly low level parallelism in techniques such as disk striping and interleaving. Widely applicable solutions, however, will require an integrated approach which addresses the problem at multiple system levels, including applications, systems software, and architecture. We propose that within the context of such an integrated approach, scheduling parallel I/O operations will become increasingly attractive and can potentially provide substantial performance benefits. We describe a simple I/O scheduling problem and present approximate algorithms for its solution. The costs of using these algorithms in terms of execution time, and the benefits in terms of reduced time to complete a batch of I/O operations, are compared with the situations in which no scheduling is used, and in which an optimal scheduling algorithm is used. The comparison is performed both theoretically and experimentally. We have found that, in exchange for a small execution time overhead, the approximate scheduling algorithms can provide substantial improvements in I/O completion times.

[1]  Daniel P. Siewiorek,et al.  Modeling and measurement of the impact of Input/Output on system performance , 1991, ISCA '91.

[2]  Peter J. Denning,et al.  Effects of scheduling on file memory operations , 1899, AFIPS '67 (Spring).

[3]  M. Arrott,et al.  Supercomputers-perspectives on visualization , 1992 .

[4]  Ravi Jain,et al.  A General Model for Scheduling of Parallel Computations and its Application to Parallel I/O Operations , 1991, ICPP.

[5]  Charles E. Catlett,et al.  Balancing resources , 1992 .

[6]  Alok N. Choudhary,et al.  High-performance I/O for massively parallel computers: problems and prospects , 1994, Computer.

[7]  Ravi Jain,et al.  Analysis of Approximate Algorithms for Edge-Coloring Bipartite Graphs , 1995, Inf. Process. Lett..

[8]  Randy H. Katz,et al.  Input/output behavior of supercomputing applications , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[9]  Pierre L'Ecuyer,et al.  Efficient and portable combined random number generators , 1988, CACM.

[10]  Ravi Jain,et al.  Scheduling parallel I/O operations , 1993, CARN.

[11]  Takao Nishizeki,et al.  A Better than "Best Possible" Algorithm to Edge Color Multigraphs , 1986, J. Algorithms.

[12]  David J. DeWitt,et al.  Database Machines: An Idea Whose Time Passed? A Critique of the Future of Database Machines , 1989, IWDM.

[13]  John P. Hayes,et al.  Multiple Bus Architectures , 1987, Computer.

[14]  C. E. Catlett Supercomputing-balancing resources , 1992 .

[15]  James E. Smith,et al.  Future general purpose supercomputer architectures , 1990, Proceedings SUPERCOMPUTING '90.

[16]  Prithviraj Banerjee,et al.  Compiler Support for Parallel I/O Operations , 1991, ICPP.

[17]  Garth A. Gibson Redundant disk arrays: Reliable, parallel secondary storage. Ph.D. Thesis , 1990 .

[18]  Jeffrey Scott Vitter,et al.  Large-Scale Sorting in Uniform Memory Hierarchies , 1993, J. Parallel Distributed Comput..

[19]  William Feller,et al.  An Introduction to Probability Theory and Its Applications , 1967 .

[20]  Rajeev Motwani,et al.  The Greedy Algorithm is Optimal for On-Line Edge Coloring , 1992, Inf. Process. Lett..

[21]  Ravi Jain,et al.  Applying randomized edge coloring algorithms to distributed communication: an experimental study , 1995, SPAA '95.

[22]  Joseph Pasquale System software and hardware support considerations for digital video and audio computing , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[23]  Ravi Jain,et al.  I/O in Parallel and Distributed Systems: An Introduction , 1996, Input/Output in Parallel and Distributed Computer Systems.

[24]  Ravi Jain,et al.  Scheduling Parallel I/O Operations in Multiple Bus Systems , 1992, J. Parallel Distributed Comput..

[25]  Z. Lin,et al.  Parallelizing I/O intensive applications for a workstation cluster: a case study , 1993, CARN.

[26]  Randy H. Katz,et al.  A case for redundant arrays of inexpensive disks (RAID) , 1988, SIGMOD '88.

[27]  R. L. Haskin,et al.  The Shark continuous-media file server , 1993, Digest of Papers. Compcon Spring.

[28]  Kevin P. McAuliffe,et al.  The IBM Research Parallel Processor Prototype (RP3): Introduction and Architecture , 1985, ICPP.

[29]  H.M. Vin,et al.  Designing an on-demand multimedia service , 1992, IEEE Communications Magazine.

[30]  David Kotz Microprocessor file system interfaces , 1993 .

[31]  Feller William,et al.  An Introduction To Probability Theory And Its Applications , 1950 .

[32]  David Kotz,et al.  Multiprocessor file system interfaces , 1993, [1993] Proceedings of the Second International Conference on Parallel and Distributed Information Systems.

[33]  Kiran K Somalwar Data Transfer Scheduling , 1988 .

[34]  Ravi Jain Scheduling data transfers in parallel computers and communications systems , 1992 .

[35]  D. C. Cox,et al.  An Optimum Time Slot Assignment Algorithm for an SS/TDMA System with Variable Number of Transponders , 1981 .

[36]  Shreekant S. Thakkar,et al.  The Symmetry Multiprocessor System , 1988, ICPP.

[37]  Thomas H. Cormen Fast Permuting on Disk Arrays , 1993, J. Parallel Distributed Comput..