Method for Reducing Overhead of Shared Memory Access Instrumentation

被引:4
|
作者
Liu, Qianyu [1 ]
Gu, Naijie [1 ]
Su, Junjie [1 ]
机构
[1] Univ Sci & Technol China, Dept Comp Sci, Hefei, Anhui, Peoples R China
关键词
Shared memory; Instrumentation; Runtime overhead; Memory access; multithreaded programs; LLVM;
D O I
10.1145/3331453.3361323
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Memory monitoring is crucial for understanding the memory access behavior of applications. Especially in multithreaded programs, dealing with concurrency bugs relies on tracking and analyzing accesses to shared memory. Instrumentation is widely used to obtain diagnostic information for runtime checks. However, instrumenting all memory accesses incurs a high performance overhead, slowing down a program's execution by an order of magnitude. In this paper, a simple but novel method is proposed to address performance degradation problem caused by instrumentation. It is based on the following key insight: there is no need to track those thread-local stack accesses. Recognizing such redundancy in memory access instrumentation and runtime checks, the paper presents the IIMA (Is Interesting Memory Access) algorithm to conduct instrumentation pruning. The algorithm is implemented based on LLVM infrastructure and evaluated across a range of well-designed test cases and open source benchmarks. The results show that the method is able to aggressively reduce the amount of instrumented memory accesses especially at low compilation optimization level and further reduce the runtime overhead.
引用
收藏
页数:6
相关论文
共 50 条
  • [1] Shared memory mirroring for reducing communication overhead on commodity networks
    Palmer, B
    Nieplocha, J
    Aprà, E
    [J]. IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING, PROCEEDINGS, 2003, : 420 - 428
  • [2] Reducing the communication overhead of dynamic applications on shared memory multiprocessors
    Sivasubramaniam, A
    [J]. THIRD INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE - PROCEEDINGS, 1997, : 194 - 203
  • [3] Shared memory access method for a λ computing environment
    Nakamoto, H
    Baba, K
    Murata, M
    [J]. OPTICAL NETWORKS AND TECHNOLOGIES, 2005, 164 : 210 - 217
  • [4] Reducing coverage collection overhead with disposable instrumentation
    Chilakamarri, KR
    Elbaum, S
    [J]. 15TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 2004, : 233 - 244
  • [5] Reducing the virtual memory overhead of swizzling
    Narasayya, V
    Ng, TSE
    McNamee, D
    Tiwary, A
    Levy, H
    [J]. PROCEEDINGS OF THE FIFTH INTERNATIONAL WORKSHOP ON OBJECT-ORIENTATION IN OPERATING SYSTEMS, 1996, : 108 - 111
  • [6] Analysis of sharing overhead in Shared Memory Multiprocessors
    Foglia, P
    Giorgi, R
    Prete, CA
    [J]. PROCEEDINGS OF THE THIRTY-FIRST HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, VOL VII: SOFTWARE TECHNOLOGY TRACK, 1998, : 776 - 777
  • [7] MEMORY ACCESS IN SHARED VIRTUAL MEMORY
    BERRENDORF, R
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1992, 634 : 785 - 786
  • [8] Reducing Manipulation Overhead of Remote Data-Structure by Controlling Remote Memory Access Order
    Ajima, Yuichiro
    Nose, Takafumi
    Saga, Kazushige
    Shida, Naoyuki
    Sumimoto, Shinji
    [J]. HIGH PERFORMANCE COMPUTING, ISC HIGH PERFORMANCE 2016 INTERNATIONAL WORKSHOPS, 2016, 9945 : 85 - 97
  • [9] Reducing The Virtual Memory Overhead in Nested Virtualization
    Ben Zur, Ori
    Bergman, Shai
    Silberstein, Mark
    [J]. PROCEEDINGS OF THE 16TH ACM INTERNATIONAL SYSTEMS AND STORAGE CONFERENCE, SYSTOR 2023, 2023, : 156 - 156
  • [10] Reducing the Overhead of Direct Application Instrumentation Using Prior Static Analysis
    Mussler, Jan
    Lorenz, Daniel
    Wolf, Felix
    [J]. EURO-PAR 2011 PARALLEL PROCESSING, PT 1, 2011, 6852 : 65 - 76