Scheduling and Buffer Management for Parallel I/O

Parallel I/O systems are an integral component of modern high performance systems, providing large secondary storage capacity, and having the potential to alleviate the I/O bottleneck of data intensive applications. In these systems the I/O buffer can be used for two purposes (a) improve I/O parallelism by buffering prefetched blocks and making the load on disks more uniform, and (b) improve I/O latency by caching blocks to avoid repeated disk accesses for the same block. To make best use of available parallelism and locality in I/O accesses, it is necessary to design and implement prefetching and buffer management algorithms that schedule reads intelligently so that the most useful blocks are prefetched into the buffer and the most valuable blocks are retained in the buffer when the need for evictions arises. This dissertation focuses on prefetching and buffer management algorithms for parallel I/O systems. Our aim is to exploit the high parallelism provided by multiple disks by using appropriate buffer management to reduce the average read latency seen by an application. The thesis is that, prefetching and buffer management in parallel I/O systems is fundamentally different from that in systems with a single disk, thereby necessitating new algorithms to handle it. To this end we first present evidence to show the limitations of intuitive algorithms that generalize those for sequential systems to a parallel I/O system, and then design algorithms that have better performance.

[1]  E. L. Lawler,et al.  Recent Results in the Theory of Machine Scheduling , 1982, ISMP.

[2]  David Kotz,et al.  Disk-directed I/O for MIMD multiprocessors , 1994, OSDI '94.

[3]  A. L. Narasimha Reddy,et al.  An Evaluation of Multiple-Disk I/O Systems , 1989, IEEE Trans. Computers.

[4]  Susanne Albers,et al.  Minimizing stall time in single and parallel disk systems , 1998, STOC '98.

[5]  Anna R. Karlin,et al.  Near-Optimal Parallel Prefetching and Caching , 2000, SIAM J. Comput..

[6]  Robert E. Tarjan,et al.  Amortized efficiency of list update and paging rules , 1985, CACM.

[7]  Laszlo A. Belady,et al.  A Study of Replacement Algorithms for Virtual-Storage Computer , 1966, IBM Syst. J..

[8]  Edward F. Grove,et al.  Simple randomized mergesort on parallel disks , 1996, SPAA '96.

[9]  A. L. Narasimha Reddy,et al.  Disk scheduling in a multimedia I/O system , 2001 .

[10]  A. L. Narasimha Reddy,et al.  I/O issues in a multimedia system , 1994, Computer.

[11]  Garth A. Gibson,et al.  RAID: high-performance, reliable secondary storage , 1994, CSUR.

[12]  Anna R. Karlin,et al.  A study of integrated prefetching and caching strategies , 1995, SIGMETRICS '95/PERFORMANCE '95.

[13]  Tracy Kimbrel Parallel prefetching and caching , 1998 .

[14]  Peter Varman,et al.  Prefetching and buffer management for parallel i/o systems , 1997 .

[15]  Peter J. Varman,et al.  Optimal Read-Once Parallel Disk Scheduling , 1999, IOPADS '99.

[16]  Amos Fiat,et al.  Competitive Paging Algorithms , 1991, J. Algorithms.

[17]  Rakesh M. Verma,et al.  Tight Bounds for Prefetching and Buffer Management Algorithms for Parallel I/O Systems , 1996, FSTTCS.

[18]  David J. DeWitt,et al.  The SPIFFI scalable video-on-demand system , 1995, SIGMOD '95.

[19]  Carla Schlatter Ellis,et al.  Practical prefetching techniques for parallel file systems , 1991, [1991] Proceedings of the First International Conference on Parallel and Distributed Information Systems.

[20]  Edward Y. Chang,et al.  Admissions control and data placement for VBR video servers , 1994, Proceedings of 1st International Conference on Image Processing.

[21]  Eugene L. Lawler,et al.  Sequencing and scheduling: algorithms and complexity , 1989 .

[22]  Alok Aggarwal,et al.  The input/output complexity of sorting and related problems , 1988, CACM.

[23]  Rajeev Rastogi,et al.  The Fellini Multimedia Storage Server , 1996 .

[24]  Vinay S. Pai,et al.  Markov Analysis of Multiple-Disk Prefetching Strategies for External Merging , 1994, Theor. Comput. Sci..

[25]  Allan Borodin,et al.  Competitive paging with locality of reference , 1991, STOC '91.

[26]  Frédéric Thiesse,et al.  Constant data length retrieval for video servers with variable bit rate streams , 1996, Proceedings of the Third IEEE International Conference on Multimedia Computing and Systems.

[27]  Christos H. Papadimitriou,et al.  Beyond competitive analysis [on-line algorithms] , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[28]  Eric Torng A Unified Analysis of Paging and Caching , 1998, Algorithmica.

[29]  Kai Li,et al.  Implementation and performance of application-controlled file caching , 1994, OSDI '94.

[30]  Sandy Irani,et al.  Strongly competitive algorithms for paging with locality of reference , 1992, SODA '92.

[31]  Jim Zelenka,et al.  Informed prefetching and caching , 1995, SOSP.

[32]  Jeffrey Scott Vitter,et al.  Competitive parallel disk prefetching and buffer management , 1997, IOPADS '97.

[33]  Dany Breslauer,et al.  On Competitive On-Line Paging with Lookahead , 1995, Theor. Comput. Sci..

[34]  Frédéric Thiesse,et al.  New class of constant data length retrieval algorithms for video servers with VBR streams , 1996, Other Conferences.

[35]  Susanne Albers,et al.  On the Influence of Lookahead in Competitive Paging Algorithms , 1997, Algorithmica.