SCIENCE CHINA Information Sciences, Volume 59 , Issue 9 : 092104(2016) https://doi.org/10.1007/s11432-015-5383-x

Characterizing and optimizing TPC-C workloads on large-scale systems using SSD arrays

More info
  • ReceivedNov 23, 2015
  • AcceptedApr 19, 2016
  • PublishedAug 23, 2016


Transaction processing performance council benchmark C (TPC-C) is the de facto standard for evaluating the performance of high-end computers running on-line transaction processing applications. Differing from other standard benchmarks, the transaction processing performance council only defines specifications for the TPC-C benchmark, but does not provide any standard implementation for end-users. Due to the complexity of the TPC-C workload, it is a challenging task to obtain optimal performance for TPC-C evaluation on a large-scale high-end computer. In this paper, we designed and implemented a large-scale TPC-C evaluation system based on the latest TPC-C specification using solid-state drive (SSD) storage devices. By analyzing the characteristics of the TPC-C workload, we propose a series of system-level optimization methods to improve the TPC-C performance. First, we propose an approach based on SmallFile table space to organize the test data in a round-robin method on all of the disk array partitions; this can make full use of the underlying disk arrays. Second, we propose using a NOOP-based disk scheduling algorithm to reduce the utilization rate of processors and improve the average input/output service time. Third, to improve the system translation lookaside buffer hit rate and reduce the processor overhead, we take advantage of the huge page technique to manage a large amount of memory resources. Lastly, we propose a locality-aware interrupt mapping strategy based on the asymmetry characteristic of non-uniform memory access systems to improve the system performance. Using these optimization methods, we performed the TPC-C test on two large-scale high-end computers using SSD arrays. The experimental results show that our methods can effectively improve the TPC-C performance. For example, the performance of the TPC-C test on an Intel Westmere server reached 1.018 million transactions per minute.

Funded by

National High Technology Research and Development Program of China(863)


National Natural Science Foundation of China(61472201)

National Natural Science Foundation of China(61170008)



This work was supported by National High Technology Research and Development Program of China (863) (Grant No. 2013AA01A213), National Natural Science Foundation of China (Grant No. 61472201, 61170008), and Tsinghua University Initiative Scientific Research Program.


[1] Gostin G, Collard J F, Collins K. The architecture of the HP superdome shared-memory multiprocessor. In: Proceedings of the 19th Annual International Conference on Supercomputing, Cambridge, 2005. 239--245. Google Scholar

[2] Hsu W W, Smith A J, Young H C. Characteristics of production database workloads and the TPC benchmarks. IBM Syst J, 2001, 40: 781-802 CrossRef Google Scholar

[3] Transaction Processing Performance Council. TPC Benchmark C, Standard Specification Version 5.11. http:// www.tpc.org. 2010. Google Scholar

[4] Henning J L. SPEC CPU2000: measuring CPU performance in the new millennium. Computer, 2000, 33: 28-35 Google Scholar

[5] Transaction Processing Performance Council. TPC-C results by performance. http://www.tpc.org. 2013. Google Scholar

[6] Shaw S. HammerDB Installation and Troubleshooting Guide Version 2.5, 2013. Google Scholar

[7] Llanos D R. TPCC-UVa: An open-source TPC-C implementation for global performance measurement of computer systems. ACM SIGMOD Record, 2006, 35: 6-15 Google Scholar

[8] Wong M, Meredith M E. Open Source Development Labs Database Test 2 User Guide Version 0.21, 2002. Google Scholar

[9] Quest Software Inc. Benchmark Factory for Databases User Guide Version 6.9.2, 2013. Google Scholar

[10] Clark M. Installation and Configuration Guide for Orabm and Orastress Version 2.1, 2006. Google Scholar

[11] PostgreSQL Global Development Group. PostgreSQL 7.1 Reference Manual, 2001. Google Scholar

[12] Delimitrou C, Sankar S, Khessib B, et al. Time and cost-efficient modeling and generation of large-scale TPCC/TPCE/TPCH workloads. Topics in Performance Evaluation, Measurement and Characterization. Berlin: Springer, 2012, 7144: 146-162 Google Scholar

[13] Barham P, Donnelly A, Isaacs R, et al. Using magpie for request extraction and workload modelling. In: Proceedings of the 6th Symposium on Operating Systems Design and Implementation (OSDI), San Francisco, 2004, 4: 18. Google Scholar

[14] Kim S H, Jung D, Kim J S, et al. HeteroDrive: reshaping the storage access pattern of OLTP workload using SSD. In: Proceedings of 4th International Workshop on Software Support for Portable Storage (IWSSPS), Seoul, 2009. 13--17. Google Scholar

[15] Chen S, Ailamaki A, Athanassoulis M, et al. TPC-E vs. TPC-C: characterizing the new TPC-E benchmark via an I/O comparison study. ACM SIGMOD Record, 2011, 39, 5--10. Google Scholar

[16] Ash S M, Lin K I. Optimizing database index performance for solid state drives. In: Proceedings of the 18th International Database Engineering Applications Symposium. New York: ACM, 2014. 237--246. Google Scholar

[17] Yao J H, Ng A, Chen S P, et al. A performance evaluation of public cloud using TPC-C. In: Service-Oriented Computing-ICSOC Workshops. Berlin: Springer, 2013, 7759: 3--13. Google Scholar

[18] Zhai J, Chen W, Zheng W. Phantom: predicting performance of parallel applications on large-scale parallel machines using a single node. ACM Sigplan Notices. 2010, 45: 305--314. Google Scholar

[19] Chen Y P, Raab F, Katz R. From TPC-C to big data benchmarks: a functional workload model. Specifying Big Data Benchmarks. Berlin: Springer, 2014, 8163: 28-43 CrossRef Google Scholar

[20] Tozun P, Pandis I, Kaynak C, et al. From A to E: analyzing TPC's OLTP benchmarks: the obsolete, the ubiquitous, the unexplored. In: Proceedings of the 16th International Conference on Extending Database Technology, Genoa, 2013. 17--28. Google Scholar

[21] Teigland D, Mauelshagen H. Volume Managers in Linux. In: Proceedings of USENIX Annual Technical Conference, FREENIX Track, Boston, 2001. 185--198. Google Scholar

[22] Seelam S R, Teller P J. Fairness and performance isolation: an analysis of disk scheduling algorithms. In: IEEE International Conference on Cluster Computing, Barcelona, 2006. 1--10. Google Scholar

[23] Iyer S, Druschel P. Anticipatory scheduling: a disk scheduling framework to overcome deceptive idleness in synchronous I/O. In: Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP), Banff, 2001. 117--130. Google Scholar

[24] Raina S. Virtual Shared Memory: A Survey of Techniques and Systems. University of Bristol Technical Report, 1992. Google Scholar

[25] Zaharia M, Chowdhury M, Franklin M J, et al. Spark: cluster computing with working sets. In: Proceedings of the 2nd USENIX Conference on Hot Topics in Cloud Computing, Berkeley, 2010. 10. Google Scholar

Copyright 2020 Science China Press Co., Ltd. 《中国科学》杂志社有限责任公司 版权所有

京ICP备17057255号       京公网安备11010102003388号