A Tool to Detect Performance Problems of Multi-threaded Programs on NUMA Systems

被引:0
|
作者
Zhu, Liang [1 ]
Jin, Hai [1 ]
Liao, Xiaofei [1 ]
机构
[1] Huazhong Univ Sci & Technol, Sch Comp Sci & Technol, Cluster & Grid Comp Lab, Serv Comp Technol & Syst Lab, Wuhan 430074, Peoples R China
关键词
D O I
10.1109/TrustCom.2016.185
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The multi-core architectures are nowadays characterized by Non-Uniform Memory Access (NUMA). Efficiently exploiting such architectures is extremely complicated for programmers. Multi-threaded programs may encounter high memory access latency if the mapping of data and computing is not considered carefully on such systems. Programmers need tools to detect performance problems if high memory access latency occurs. To address this need, we present a profiling tool called LaProf, which uses memory access latency information to detect performance problems on NUMA systems. This tool can be used to detect three performance problems of multi-threaded programs, which are: 1) data sharing. Shared data will cause remote memory access if threads which access the shared data are not allocated on the same node of NUMA systems; 2) shared resource contention. High memory access latency will influence the performance severely if contention happens on shared resources, such as last-level caches, inter-connect links and memory controllers; 3) remote access imbalance. The thread which has the most number of remote data access becomes the critical thread which lags down the overall performance of multi-threaded program. After the detection done by LaProf, using simple and general NUMA optimization techniques, the performance improvement for each problem is 88%, 32%, 99% respectively.
引用
收藏
页码:1145 / 1152
页数:8
相关论文
共 50 条
  • [41] Complexity and information flow analysis for multi-threaded programs
    Tri Minh Ngo
    Marieke Huisman
    [J]. The European Physical Journal Special Topics, 2017, 226 : 2375 - 2392
  • [42] Safe and Timely Dynamic Updates for Multi-threaded Programs
    Neamtiu, Iulian
    Hicks, Michael
    [J]. ACM SIGPLAN NOTICES, 2009, 44 (06) : 13 - 24
  • [43] Interactive visualization environment of multi-threaded parallel programs
    Stein, B
    de Kergommeaux, JC
    [J]. PARALLEL COMPUTING: FUNDAMENTALS, APPLICATIONS AND NEW DIRECTIONS, 1998, 12 : 311 - 318
  • [44] Handling information release and erasure in multi-threaded programs
    Jiang, Li
    Ping, Lingdi
    Pan, Xuezeng
    [J]. CIS: 2007 INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY, PROCEEDINGS, 2007, : 824 - 828
  • [45] Threader: A Verifier for Multi-threaded Programs (Competition Contribution)
    Popeea, Corneliu
    Rybalchenko, Andrey
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2013, 2013, 7795 : 633 - 636
  • [46] Thread-specific heaps for multi-threaded programs
    Steensgaard, B
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (01) : 18 - 24
  • [47] AggrePlay: Efficient Record and Replay of Multi-threaded Programs
    Pobee, Ernest
    Chan, W. K.
    [J]. ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 567 - 577
  • [48] Predicate Abstraction and Refinement for Verifying Multi-Threaded Programs
    Gupta, Ashutosh
    Popeea, Corneliu
    Rybalchenko, Andrey
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (01) : 331 - 344
  • [49] Predicate Abstraction and Refinement for Verifying Multi-Threaded Programs
    Gupta, Ashutosh
    Popeea, Corneliu
    Rybalchenko, Andrey
    [J]. POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2011, : 331 - 344
  • [50] Safe and Timely Dynamic Updates for Multi-threaded Programs
    Neamtiu, Iulian
    Hicks, Michael
    [J]. PLDI'09 PROCEEDINGS OF THE 2009 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2009, : 13 - 24