I/O reference behavior of production database workloads and the TPC benchmarks—an analysis at the logical level

As improvements in processor performance continue to far outpace improvements in storage performance, I/O is increasingly the bottleneck in computer systems, especially in large database systems that manage huge amoungs of data. The key to achieving good I/O performance is to thoroughly understand its characteristics. In this article we present a comprehensive analysis of the logical I/O reference behavior of the peak productiondatabase workloads from ten of the world's largest corporations. In particular, we focus on how these workloads respond to different techniques for caching, prefetching, and write buffering. Our findings include several broadly applicable rules of thumb that describe how effective the various I/O optimization techniques are for the production workloads. For instance, our results indicate that the buffer pool miss ratio tends to be related to the ratio of buffer pool size to data size by an inverse square root rule. A similar fourth root rule relates the write miss ratio and the ration of buffer pool size to data size. In addition, we characterize the reference characteristics of workloads similar to the Transaction Processing Performance Council (TPC) benchmarks C (TPC-C) and D(TPC-D), which are de facto standard performance measures for online transaction processing (OLTP) systems and decision support systems (DSS), respectively. Since benchmarks such as TPC-C and TPC-D can only be used effectively if their strengths and limitations are understood, a major focus of our analysis is to identify aspects of the benchmarks that stress the system differently than the production workloads. We discover that for the most part, the reference behavior of TPC-C and TPC-D fall within the range of behavior exhibited by the production workloads. However, there are some noteworthy exceptions that affect well-known I/O optimization techniques such as caching (LRU is further from the optimal for TPC-C, while there is little sharing of pages between transactions for TPC-D), prefetching (TPC-C exhibits no significant sequentiality), and write buffering (write buffering is lees effective for the TPC benchmarks). While the two TPC benchmarks generally complement one another in reflecting the characteristics of the production workloads, there remain aspects of the real workloads that are not represented by either of the benchmarks.

[1]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

[2]  Jaishankar Moothedath Menon,et al.  A performance comparison of RAID-5 and log-structured arrays , 1995, Proceedings of the Fourth IEEE International Symposium on High Performance Distributed Computing.

[3]  Christos Faloutsos,et al.  Flexible buffer allocation based on marginal gains , 1991, SIGMOD '91.

[4]  Carla Schlatter Ellis,et al.  File-Access Characteristics of Parallel Scientific Workloads , 1996, IEEE Trans. Parallel Distributed Syst..

[5]  SmithAlan Jay,et al.  I/O reference behavior of production database workloads and the TPC benchmarksan analysis at the logical level , 2001 .

[6]  Michael Stonebraker,et al.  Operating system support for database management , 1981, CACM.

[7]  Nick Roussopoulos,et al.  Adaptive Database Buffer Allocation Using Query Feedback , 1993, VLDB.

[8]  Carla Schlatter Ellis,et al.  Directory Reference Patterns in Hierarchical File Systems , 1989, IEEE Trans. Knowl. Data Eng..

[9]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[10]  Andrew A. Chien,et al.  Input/Output Characteristics of Scalable Parallel Applications , 1995, SC.

[11]  Trevor N. Mudge,et al.  Trace-driven memory simulation: a survey , 1997, CSUR.

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

[13]  Giovanni Maria Sacco,et al.  Buffer management in relational database systems , 1986, TODS.

[14]  Alan Jay Smith Analysis of the Optimal, Look-Ahead Demand Paging Algorithms , 1976, SIAM J. Comput..

[15]  William G. Tuel An Analysis of Buffer Paging in Virtual Storage Systems , 1976, IBM J. Res. Dev..

[16]  Alfred V. Aho,et al.  Principles of Optimal Page Replacement , 1971, J. ACM.

[17]  Goetz Graefe,et al.  Query evaluation techniques for large databases , 1993, CSUR.

[18]  E. F. Codd,et al.  A relational model of data for large shared data banks , 1970, CACM.

[19]  David A. Patterson,et al.  Computer architecture (2nd ed.): a quantitative approach , 1996 .

[20]  Samuel DeFazio,et al.  Locality of Reference in Hierarchical Database Systems , 1983, IEEE Transactions on Software Engineering.

[21]  Alan Jay Smith,et al.  A File System Tracing Package for Berkeley UNIX , 1985 .

[22]  George C. Polyzos,et al.  Dynamic I/O characterization of I/O intensive scientific applications , 1994, Proceedings of Supercomputing '94.

[23]  W. Press,et al.  Numerical Recipes: The Art of Scientific Computing , 1987 .

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

[25]  Bruce McNutt,et al.  A Simple Statistical Model of Cache Reference Locality, and its Application to Cache Planning, Measurement and Control , 1991, Int. CMG Conference.

[26]  Asit Dan,et al.  An approximate analysis of the LRU and FIFO buffer replacement schemes , 1990, SIGMETRICS '90.

[27]  Giovanni Maria Sacco,et al.  A Mechanism for Managing the Buffer Pool in a Relational Database System Using the Hot Set Model , 1982, VLDB.

[28]  Peter J. Denning,et al.  Operating Systems Theory , 1973 .

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

[30]  Christos Faloutsos,et al.  Predictive Load Control for Flexible Buffer Allocation , 1991, VLDB.

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

[32]  Alan Jay Smith,et al.  Sequentiality and prefetching in database systems , 1978, TODS.

[33]  James Z. Teng,et al.  Managing IBM Database 2 Buffers to Maximize Performance , 1984, IBM Syst. J..

[34]  Alan Jay Smith,et al.  Disk caching in large database and timeshared systems , 1997, Proceedings Fifth International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[35]  Daniel M. Dias,et al.  A modeling study of the TPC-C benchmark , 1993, SIGMOD '93.

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

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

[38]  Samuel DeFazio,et al.  Diversity in database reference behavior , 1989, SIGMETRICS '89.

[39]  E. F. Codd,et al.  A Relational Model for Large Shared Data Banks , 1970 .

[40]  A. Inkeri Verkamo Empirical Results on Locality in Database Referencing , 1985, SIGMETRICS.

[41]  Asit Dan,et al.  Analysis of the generalized clock buffer replacement scheme for database transaction processing , 1992, SIGMETRICS '92/PERFORMANCE '92.

[42]  Keng-Tai Ko,et al.  Database buffer size investigation for OLTP workloads , 1997, SIGMOD '97.

[43]  Alfons Kemper,et al.  Database performance in the real world: TPC-D and SAP R/3 , 1997, SIGMOD '97.

[44]  Philip S. Yu,et al.  Database access characterization for buffer hit prediction , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[45]  William H. Press,et al.  Numerical Recipes in FORTRAN - The Art of Scientific Computing, 2nd Edition , 1987 .

[46]  Dennis Shasha,et al.  2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm , 1994, VLDB.

[47]  Sandra Johnson Baylor,et al.  Parallel I/O Workload Characteristics Using Vesta , 1996, Input/Output in Parallel and Distributed Computer Systems.

[48]  A. Hill The Combinations of Haemoglobin with Oxygen and with Carbon Monoxide. I. , 1913, The Biochemical journal.

[49]  Alan Jay Smith,et al.  Analysis of locking behavior in three real database systems , 1997, The VLDB Journal.

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

[51]  Jeffrey C. Mogul,et al.  A Better Update Policy , 1994, USENIX Summer.

[52]  Alan Jay Smith,et al.  Efficient Analysis of Caching Systems , 1987 .

[53]  Donald D. Chamberlin,et al.  Access Path Selection in a Relational Database Management System , 1989 .

[54]  Michael Stonebraker,et al.  Performance analysis of a relational data base management system , 1979, SIGMOD '79.

[55]  Alan Jay Smith,et al.  Projecting the performance of decision support workloads on systems with smart storage (SmartSTOR) , 1999, Proceedings Seventh International Conference on Parallel and Distributed Systems (Cat. No.PR00568).

[56]  Bruce McNutt MVS DASD Survey: Results And Trends , 1995, Int. CMG Conference.

[57]  George C. Polyzos,et al.  A case study of scientific application I/O behavior , 1994, Proceedings of International Workshop on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

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

[59]  Hamid Pirahesh,et al.  Starburst Mid-Flight: As the Dust Clears , 1990, IEEE Trans. Knowl. Data Eng..

[60]  Alan Jay Smith,et al.  Disk Cache Design and Performance as Evaluated in Large Timesharing and Database Systems , 1997, Int. CMG Conference.

[61]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach, 5th Edition , 1996 .

[62]  Carla Schlatter Ellis,et al.  Characterizing parallel file-access patterns on a large-scale multiprocessor , 1995, IPPS.

[63]  Philip S. Yu,et al.  Integration of Buffer Management and Query Optimization in Relational Database Environment , 1989, VLDB.

[64]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

[65]  Brent B. Welch Measured Performance of Caching in the Sprite Network File System , 1991, Comput. Syst..

[66]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

[67]  J. T. Robinson,et al.  Data cache management using frequency-based replacement , 1990, SIGMETRICS '90.

[68]  D. B. Davis,et al.  Intel Corp. , 1993 .

[69]  William H. Press,et al.  Numerical recipes in C. The art of scientific computing , 1987 .

[70]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[71]  KemperAlfons,et al.  Database performance in the real world , 1997 .

[72]  Juan Rodriguez-Rosell,et al.  Empirical Data Reference Behavior in Data Base Systems , 1976, Computer.

[73]  Alan Jay Smith,et al.  Characteristics of production database workloads and the TPC benchmarks , 2001, IBM Syst. J..

[74]  Alan Jay Smith,et al.  Analysis of the Characteristics of Production Database Workloads and Comparison with the TPC Benchmarks , 1999 .

[75]  Mary E. S. Loomis,et al.  Logical, internal, and physical reference behavior in CODASYL database systems , 1984, TODS.

[76]  Maurice J. Bach The Design of the UNIX Operating System , 1986 .

[77]  Kenneth C. Sevcik,et al.  A buffer management model for use in predicting overall database system performance , 1989, [1989] Proceedings. Fifth International Conference on Data Engineering.

[78]  Gerhard Weikum,et al.  The LRU-K page replacement algorithm for database disk buffering , 1993, SIGMOD Conference.

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