ISSN 1000-1239 CN 11-1777/TP

Journal of Computer Research and Development ›› 2015, Vol. 52 ›› Issue (1): 45-55.doi: 10.7544/issn1000-1239.2015.20140105

Special Issue: 2015优青专题

Previous Articles     Next Articles

A Replay System for Performance Analysis of Multi-Threaded Programs

Zheng Long, Liao Xiaofei, Wu Song, Jin Hai   

  1. (Key Laboratory of Services Computing Technology and System (Huazhong University of Science and Technology), Ministry of Education, Wuhan 430074) (School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074)
  • Online:2015-01-01

Abstract: In recent years, it is a hotspot for program analysis to detect performance bugs in multi-threaded applications. However, traditional record/replay systems focusing on concurrent anomalies have many limitations to tackle the issues of performance bugs, such as replay overhead and imprecision of replay-based execution time. To cope with the problems above, this paper proposes an improved replay system PerfPlay which can be used for the performance analysis of multi-threaded programs. To be specific, we first collect and analyze the requisite information for the program performance. Secondly, the different replay strategies are discussed and then we present a novel schedule-driven strategy to ensure the performance fidelity of replay system. Finally, we study the classical performance problem of “inter-thread unnecessary lock contention” under the framework of PerfPlay. Compared with the traditional replay strategies, our experimental results demonstrate the performance fidelity of PerfPlay. Through the case study, we find a few performance bugs in real-world and further verify the effectiveness of PerfPlay.

Key words: performance bug, replay, case study, multi-threaded, unnecessary lock contention