This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Using System-Level Models to Evaluate I/O Subsystem Designs
June 1998 (vol. 47 no. 6)
pp. 667-678

Abstract—We describe a system-level simulation model and show that it enables accurate predictions of both I/O subsystem and overall system performance. In contrast, the conventional approach for evaluating the performance of an I/O subsystem design, which is based on standalone subsystem models, is often unable to accurately predict performance changes because it is too narrow in scope. In particular, conventional methodology treats all I/O requests equally, ignoring differences in how individual requests' response times affect system behavior (including both system performance and the subsequent I/O workload). We introduce the concept of request criticality to describe these feedback effects and show that real I/O workloads are not approximated well by either open or closed input models. Because conventional methodology ignores this fact, it often leads to inaccurate performance predictions and can thereby lead to incorrect conclusions and poor design choices. We illustrate these problems with real examples and show that a system-level model, which includes both the I/O subsystem and other important system components (e.g., CPUs and system software), properly captures the feedback and subsequent performance effects.

[1] G. Ganger and Y. Patt, "The Process-Flow Model: Examing I/O Performance from the System's Point of View," Proc. ACM Sigmetrics Conf., pp. 86-97, May 1993.
[2] C. Ruemmler and J. Wilkes, "UNIX Disk Access Patterns," Proc. 1993 Winter USENIX, pp. 405-420, Jan. 1993.
[3] G. Ganger, "System-Oriented Evaluation of I/O Subsystem Performance," PhD dissertation, CSE-TR-243-95, Univ. of Michigan, Ann Arbor, June 1995.
[4] J. Ousterhout, "Why Aren't Operating Systems Getting Faster as Fast as Hardware?" Proc. 1990 Summer USENIX, pp. 247-256, June 1990.
[5] S. Carson and S. Setia, "Analysis of the Periodic Update Write Policy for Disk Cache," IEEE Trans. Software Eng., vol. 18, no. 1, pp. 44-54, Jan. 1992.
[6] R.H. Patterson, G. Gibson, E. Ginting, D. Stodolsky, and J. Zelenka, "Informed Prefetching and Caching," Proc. 15th ACM Symp. Operating Systems Principles, pp. 79-95, Dec. 1995.
[7] P. Cao, E.W. Felten, and K. Li, "Implementation and Performance of Application-Controlled File Caching," Proc. First USENIX Symp. Operating Systems Design and Implementation (OSDI), pp. 165-178, Nov. 1994.
[8] J. Griffioen and R. Appleton, "Reducing File System Latency Using a Predictive Approach," Proc. 1994 Summer USENIX, pp. 197-207, June 1994.
[9] R. Abbott and H. Garcia-Molina, "Scheduling I/O Requests with Deadlines: A Performance Evaluation," Proc. IEEE Real-Time Systems Symp., pp. 113-124, 1990.
[10] S. Chen, J. Kurose, J. Stankovic, and D. Towsley, "Performance Evaluation of Two New Disk Request Scheduling Algorithms for Real-Time Systems," J. Real-Time Systems, vol. 3, pp. 307-336, 1991.
[11] M. Carey, R. Jauhari, and M. Livny, "Priority in DBMS Resource Scheduling," Proc. Int'l Conf. Very Large Data Bases, pp. 397-410, 1989.
[12] "Small Computer System Interface-2," ANSI X3T9.2, Draft Revision 10k, Mar. 1993.
[13] R. Lary storage architect, Digital Equipment Corp., personal communication, Feb. 1993.
[14] B. Worthington, "Aggressive Centralized and Distributed Scheduling of Disk Requests," PhD dissertation, CSE-TR-244-95, Univ. of Michigan, Ann Arbor, June 1995.
[15] P. Seaman and R. Soucy, "Simulating Operating Systems," IBM Systems J., vol. 8, no. 4, pp. 264-279, 1969.
[16] W. Chiu and W. Chow, "A Performance Model of MVS," IBM Systems J., vol. 17, no. 4, pp. 444-463, 1978.
[17] P. Haigh, "An Event Tracing Method for UNIX Performance Measurement," Proc. Computer Measurement Group (CMG) Conf., pp. 603-609, 1990.
[18] K. Richardson and M. Flynn, "Time: Tools for Input/Output and Memory Evaluation," Proc. Hawaii Int'l Conf. Systems Sciences, pp. 58-66, Jan. 1992.
[19] M. Rosenblum, S. Herrod, E. Witchel, and A. Gupta, "Complete Computer System Simulation," IEEE Parallel and Distributed Technology, Fall 1995.
[20] J. Busch and A. Kondoff, "Disk Caching in the System Processing Units of the HP 3000 Family of Computers," HP J., vol. 36, no. 2, pp. 21-39, Feb. 1985.
[21] E. Miller and R. Katz, "Input/Output Behavior of Supercomputing Applications," Proc. Supercomputing '91, pp. 567-576, 1991.
[22] A. Dan, D. Dias, and P. Yu, "Buffer Analysis for a Data Sharing Environment with Skewed Data Access," IEEE Trans. Knowledge and Data Eng., vol. 6, no. 2, pp. 331-337, 1994.
[23] C. Thekkath, J. Wilkes, and E. Lazowska, "Techniques for File System Simulation," Software—Practice and Experience, vol. 24, no. 11, pp. 981-999, Nov. 1994.
[24] L. Mummert, M. Ebling, and M. Satyanarayanan, "Exploiting Weak Connectivity for Mobile File Access," Proc. 15th ACM Symp. Operating Systems Principles, pp. 143-155, Dec. 1995.
[25] Hewlett-Packard Company, "HP C2244/45/46/47 3.5-Inch SCSI-2 Disk Drive Technical Reference Manual," part no. 5960-8346, ed. 3, Sept. 1992.
[26] B. Worthington, G. Ganger, and Y. Patt, "Scheduling Algorithms for Modern Disk Drives," Proc. ACM Sigmetrics Conf., pp. 241-251, May 1994.
[27] M.K. McKusick, W. Joy, S. Leffler, and R. Fabry, "A Fast File System for UNIX," ACM Trans. Computer Systems, vol. 2, no. 3, pp. 181-197, Aug. 1984.
[28] R. Gingell, J. Moran, and W. Shannon, "Virtual Memory Architecture in SunOS," Proc. 1987 Summer USENIX, pp. 81-94, June 1987.
[29] J. Moran, "SunOS Virtual Memory Implementation," Proc. EUUG Conf., pp. 285-300, Spring 1988.
[30] C. Ruemmler and J. Wilkes, "An Introduction to Disk Drive Modeling," Computer, vol. 27, no. 3, pp. 17-28, Mar. 1994.
[31] M. Seltzer, P. Chen, and J. Ousterhout, "Disk Scheduling Revisited," Proc. 1990 Summer USENIX, pp. 313-324, Jan. 1990.
[32] D. Jacobson and J. Wilkes, "Disk Scheduling Algorithms Based on Rotational Position," Technical Report HPL-CSP-91-7, Hewlett-Packard, Feb. 1991.
[33] R. Geist and J. Westall, "Disk Scheduling in Linux," Proc. Computer Measurement Group (CMG), pp. 739-746, Dec. 1994.

Index Terms:
I/O subsystems, storage subsystem, system-level model, system simulation, disk system, disk scheduling, simulation, performance model, disk modeling.
Citation:
Gregory R. Ganger, Yale N. Patt, "Using System-Level Models to Evaluate I/O Subsystem Designs," IEEE Transactions on Computers, vol. 47, no. 6, pp. 667-678, June 1998, doi:10.1109/12.689646
Usage of this product signifies your acceptance of the Terms of Use.