System-oriented evaluation of I/O subsystem performance

This dissertation demonstrates that the conventional approach for evaluating the performance of an I/O subsystem design, which is based on standalone subsystem models, is too narrow in scope. In particular, conventional methodology treats all I/O requests equally, ignoring differences in how individual request response times affect system behavior. As a result, it often leads to inaccurate performance predictions and can thereby lead to incorrect conclusions and poor design choices. A new methodology, which expands the model's scope to include other important system components (e.g., CPUs and system software), is proposed and shown to enable accurate predictions of both subsystem and overall system performance. This dissertation focuses on two specific problems with conventional methodology: (1) Benchmark workloads are often not representative of reality in that they do not accurately reflect feedback effects between I/O subsystem performance (in particular, individual request completion times) and the workload of requests (in particular, subsequent request arrivals). (2) Changes in I/O subsystem performance (e.g., as measured by mean request response times) do not always translate into similar changes in overall system performance (e.g., as measured by mean elapsed times for user tasks). These problems are fundamental to the subsystem-oriented approach and are independent of the model's accuracy. The first problem is illustrated with several examples where commonly-utilized workload generators trivialize feedback effects and produce unrealistic workloads. In each case, quantitative and/or qualitative errors result. The second problem is illustrated with a disk scheduling algorithm that gives priority to those requests that are most critical to overall system performance. This change increases overall system performance while decreasing storage subsystem performance (as indicated by subsystem metrics). In all of the experiments, the new methodology is shown to avoid the short-comings of conventional methodology.

[1]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[2]  Philip H. Seaman,et al.  Simulating Operating Systems , 1969, IBM Syst. J..

[3]  Toby J. Teorey,et al.  A comparative analysis of disk scheduling policies , 1972, CACM.

[4]  Edward G. Coffman,et al.  Analysis of Scanning Policies for Reducing Disk Seek Times , 1972, SIAM J. Comput..

[5]  Toby J. Teorey,et al.  A comparative analysis of disk scheduling policies , 1972, CACM.

[6]  Calvin C. Gotlieb,et al.  Performance of Movable-Head Disk Storage Devices , 1973, JACM.

[7]  Walter C. Oney Queueing Analysis of the Scan Policy for Moving-Head Disks , 1975, JACM.

[8]  Neil C. Wilhelm An anomaly in disk scheduling: a comparison of FCFS and SSTF seek scheduling using an empirical model for disk accesses , 1976, CACM.

[9]  Setsuo Ohsuga,et al.  INTERNATIONAL CONFERENCE ON VERY LARGE DATA BASES , 1977 .

[10]  We-Min Chow,et al.  A Performance Model of MVS , 1978, IBM Syst. J..

[11]  Micha Hofri Disk scheduling: FCFS vs.SSTF revisited , 1980, CACM.

[12]  Micha Hofri,et al.  On the Expected Performance of Scanning Disks , 1982, SIAM J. Comput..

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

[14]  Alan Jay Smith,et al.  Disk cache—miss ratio analysis and design considerations , 1983, TOCS.

[15]  Dan Walsh,et al.  Design and implementation of the Sun network filesystem , 1985, USENIX Conference Proceedings.

[16]  John A. Kunze,et al.  A trace-driven analysis of the UNIX 4.2 BSD file system , 1985, SOSP '85.

[17]  Gilbert E. Houtekamer The Local Disk Controller , 1985, SIGMETRICS.

[18]  Tetsuo Mizoguchi,et al.  Performance evaluation for buffer-contained disk units , 1985, Systems and Computers in Japan.

[19]  A.Y.C. Yu,et al.  Microprocessor technology trends , 1986, Proceedings of the IEEE.

[20]  Taizo Miyachi,et al.  Performance Evaluation for Memory Subsystem of Hierarchical Disk-Cache , 1986, Systems and Computers in Japan.

[21]  Michelle Y. Kim,et al.  Synchronized Disk Interleaving , 1986, IEEE Transactions on Computers.

[22]  Robert B. Hagmann,et al.  Reimplementing the Cedar file system using logging and group commit , 1987, SOSP '87.

[23]  Robert Geist,et al.  A continuum of disk scheduling algorithms , 1987, TOCS.

[24]  Miron Livny,et al.  Multi-disk management algorithms , 1987, SIGMETRICS '87.

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

[26]  S. Ng,et al.  Trade-offs between devices and paths in achieving disk interleaving , 1988, [1988] The 15th Annual International Symposium on Computer Architecture. Conference Proceedings.

[27]  Tom W. Keller,et al.  A comparison of high-availability media recovery techniques , 1989, SIGMOD '89.

[28]  V. Rich Personal communication , 1989, Nature.

[29]  Dina Bitton,et al.  Arm scheduling in shadowed disks , 1989, Digest of Papers. COMPCON Spring 89. Thirty-Fourth IEEE Computer Society International Conference: Intellectual Leverage.

[30]  Joel L. Wolf,et al.  The placement optimization program: a practical solution to the disk file assignment problem , 1989, SIGMETRICS '89.

[31]  Miron Livny,et al.  Priority in DBMS Resource Scheduling , 1989, VLDB.

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

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

[34]  John K. Ousterhout,et al.  Why Aren't Operating Systems Getting Faster As Fast as Hardware? , 1990, USENIX Summer.

[35]  John C. S. Lui,et al.  Performance Analysis of Disk Arrays under Failure , 1990, VLDB.

[36]  Peter L. Haigh An Event Tracing Method for UNIX Performance Measurement , 1990, Int. CMG Conference.

[37]  H. Garcia-Molina,et al.  Scheduling I/O requests with deadlines: A performance evaluation , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[38]  Randy H. Katz,et al.  An evaluation of redundant arrays of disks using an Amdahl 5890 , 1990, SIGMETRICS '90.

[39]  David J. DeWitt,et al.  Chained declustering: a new availability strategy for multiprocessor database machines , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[40]  Cyril U. Orji,et al.  Write-only disk caches , 1990, SIGMOD '90.

[41]  Asser N. Tantawi,et al.  Asynchronous Disk Interleaving: Approximating Access Delays , 1991, IEEE Trans. Computers.

[42]  Randy H. Katz,et al.  Performance of a RAID Prototype , 1991, SIGMETRICS.

[43]  John Wilkes,et al.  Disk scheduling algorithms based on rotational position , 1991 .

[44]  Roderic G. G. Cattell The benchmark handbook for database and transaction processing systems , 1991 .

[45]  Mary Baker,et al.  Measurements of a distributed file system , 1991, SOSP '91.

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

[47]  Steve R. Kleiman,et al.  Extent-like Performance from a UNIX File System , 1991, USENIX Winter.

[48]  Randy H. Katz,et al.  Performance consequences of parity placement in disk arrays , 1991, ASPLOS IV.

[49]  Alexander A. Stepanov,et al.  Loge: A Self-Organizing Disk Controller , 1991 .

[50]  J. Menon,et al.  Methods for improved update performance of disk arrays , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[51]  Sanjeev Setia,et al.  Analysis of the Periodic Update Write Policy For Disk Cache , 1990, IEEE Trans. Software Eng..

[52]  Jai Menon,et al.  Performance of disk arrays in transaction processing environments , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[53]  A. L. Narasimha Reddy A study of I/O system organizations , 1992, ISCA '92.

[54]  Spencer W. Ng,et al.  Maintaining good performance in disk arrays during failure via uniform parity group distribution , 1992, Proceedings of the First International Symposium on High-Performance Distributed Computing. (HPDC-1).

[55]  Jim Gray,et al.  Benchmark Handbook: For Database and Transaction Processing Systems , 1992 .

[56]  Michael J. Flynn,et al.  TIME: Tools for Input/output and Memory Evaluation , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[57]  Garth A. Gibson,et al.  Parity declustering for continuous operation in redundant disk arrays , 1992, ASPLOS V.

[58]  K. K. Ramakrishnan,et al.  Analysis of file I/O traces in commercial computing environments , 1992, SIGMETRICS '92/PERFORMANCE '92.

[59]  John Wilkes,et al.  UNIX Disk Access Patterns , 1993, USENIX Winter.

[60]  Yale N. Patt,et al.  Trading disk capacity for performance , 1993, [1993] Proceedings The 2nd International Symposium on High Performance Distributed Computing.

[61]  John Wilkes,et al.  A trace-driven analysis of disk working set sizes , 1993 .

[62]  Daniel Stodolsky,et al.  Parity logging overcoming the small write problem in redundant disk arrays , 1993, ISCA '93.

[63]  Randy H. Katz,et al.  Performance modeling and analysis of disk arrays , 1993 .

[64]  Jai Menon,et al.  The architecture of a fault-tolerant cached RAID controller , 1993, ISCA '93.

[65]  Jai Menon,et al.  The Architecture Of A Fault-tolerant Cached RAID Controller , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[66]  Robert Y. Hou,et al.  Balancing I/O response time and disk rebuild time in a RAID5 disk array , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[67]  Yale N. Patt,et al.  The process-flow model: examining I/O performance from the system's point of view , 1993, SIGMETRICS '93.

[68]  K. K. Ramakrishnan,et al.  Trace driven analysis of write caching policies for disks , 1993, SIGMETRICS '93.

[69]  Daniel G. Saab,et al.  Performance of Redundant Disk Array Organizations in Transaction Processing Environments , 1993, 1993 International Conference on Parallel Processing - ICPP'93.

[70]  Shivakumar Venkataraman,et al.  The TickerTAIP parallel RAID architecture , 1993, ISCA '93.

[71]  Mahadev Satyanarayanan,et al.  A status report on research in transparent informed prefetching , 1993, OPSR.

[72]  Carl Staelin,et al.  An Implementation of a Log-Structured File System for UNIX , 1993, USENIX Winter.

[73]  Yale N. Patt,et al.  Comparing rebuild algorithms for mirrored and RAID5 disk arrays , 1993, SIGMOD '93.

[74]  Yale N. Patt,et al.  Disk subsystem load balancing: disk striping vs. conventional data placement , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[75]  Cyril U. Orji,et al.  Doubly distorted mirrors , 1993, SIGMOD '93.

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

[77]  Yale N. Patt,et al.  Metadata update performance in file systems , 1994, OSDI '94.

[78]  Philip S. Yu,et al.  Buffer Analysis for a Data Sharing Environment with Skewed Data Access , 1994, IEEE Trans. Knowl. Data Eng..

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

[80]  David Kotz,et al.  A Detailed Simulation Model of the HP 97560 Disk Drive , 1994 .

[81]  John Wilkes,et al.  An introduction to disk drive modeling , 1994, Computer.

[82]  J. Spencer Love,et al.  Caching strategies to improve disk system performance , 1994, Computer.

[83]  SynRGen: an extensible file reference generator , 1994, SIGMETRICS.

[84]  Robert Geist,et al.  Disk Scheduling in Linux , 1994, Int. CMG Conference.

[85]  David Melski,et al.  A Class-Based Disk Scheduling Algorithm: Implementation and Performance Study , 1994 .

[86]  Yale N. Patt,et al.  Disk arrays: high-performance, high-reliability storage subsystems , 1994, Computer.

[87]  Jim Griffioen,et al.  Reducing File System Latency using a Predictive Approach , 1994, USENIX Summer.

[88]  Peter M. Chen,et al.  Striping in a RAID level 5 disk array , 1995, SIGMETRICS '95/PERFORMANCE '95.

[89]  Yale N. Patt,et al.  On-line extraction of SCSI disk drive parameters , 1995, SIGMETRICS '95/PERFORMANCE '95.

[90]  Jai Menon,et al.  Simulation study of cached RAID5 designs , 1995, Proceedings of 1995 1st IEEE Symposium on High Performance Computer Architecture.

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

[92]  Maria Ebling,et al.  Exploiting weak connectivity for mobile file access , 1995, SOSP.

[93]  Carl Staelin,et al.  Idleness is Not Sloth , 1995, USENIX.

[94]  Bruce L. Worthington Aggressive centralized and distributed scheduling of disk requests , 1996 .

[95]  IEEE Transactions on Computers , Computing in Science & Engineering.