ParaLog: Enabling and Accelerating Online Parallel Monitoring of Multithreaded Applications

被引:2
|
作者
Vlachos, Evangelos [1 ]
Goodstein, Michelle L. [1 ]
Kozuch, Michael A. [2 ]
Chen, Shimin [2 ]
Falsafi, Babak [3 ]
Gibbons, Phillip B. [2 ]
Mowry, Todd C. [1 ]
机构
[1] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
[2] Intel Labs Pittsburgh, Pittsburgh, PA USA
[3] Ecole Polytech Fed Lausanne, CH-1015 Lausanne, Switzerland
关键词
Design; Performance; Reliability; Security; Online Parallel Monitoring; Hardware Support for Debugging; Instruction-grain Lifeguards;
D O I
10.1145/1735971.1736051
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Instruction-grain lifeguards monitor the events of a running application at the level of individual instructions in order to identify and help mitigate application bugs and security exploits. Because such lifeguards impose a 10-100X slowdown on existing platforms, previous studies have proposed hardware designs to accelerate lifeguard processing. However, these accelerators are either tailored to a specific class of lifeguards or suitable only for monitoring single-threaded programs. We present ParaLog, the first design of a system enabling fast online parallel monitoring of multithreaded parallel applications. ParaLog supports a broad class of software-defined lifeguards. We show how three existing accelerators can be enhanced to support online multithreaded monitoring, dramatically reducing lifeguard overheads. We identify and solve several challenges in monitoring parallel applications and/or parallelizing these accelerators, including (i) enforcing inter-thread data dependences, (ii) dealing with inter-thread effects that are not reflected in coherence traffic, (iii) dealing with unmonitored operating system activity, and (iv) ensuring lifeguards can access shared metadata with negligible synchronization overheads. We present our system design for both Sequentially Consistent and Total Store Ordering processors. We implement and evaluate our design on a 16 core simulated CMP, using benchmarks from SPLASH-2 and PARSEC and two lifeguards: a data-flow tracking lifeguard and a memory-access checker lifeguard. Our results show that (i) our parallel accelerators improve performance by 2-9X and 1.13-3.4X for our two lifeguards, respectively, (ii) we are 5-126X faster than the time-slicing approach required by existing techniques, and (iii) our average overheads for applications with eight threads are 51% and 28% for the two lifeguards, respectively.
引用
收藏
页码:271 / 283
页数:13
相关论文
共 50 条
  • [1] ParaLog: Enabling and accelerating online parallel monitoring of multithreaded applications
    Vlachos, Evangelos
    Goodstein, Michelle L.
    Kozuch, Michael A.
    Chen, Shimin
    Falsafi, Babak
    Gibbons, Phillip B.
    Mowry, Todd C.
    ACM SIGPLAN Notices, 2010, 45 (03): : 271 - 283
  • [2] ParaLog: Enabling and Accelerating Online Parallel Monitoring of Multithreaded Applications
    Vlachos, Evangelos
    Goodstein, Michelle L.
    Kozuch, Michael A.
    Chen, Shimin
    Falsafi, Babak
    Gibbons, Phillip B.
    Mowry, Todd C.
    ASPLOS XV: FIFTEENTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, 2010, : 271 - 283
  • [3] A monitoring system for multithreaded applications
    Balis, B
    Bubak, M
    Funika, W
    Wismüller, R
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF GRID COMPUTING AND ESCIENCE, 2003, 19 (05): : 641 - 650
  • [4] Multithreaded runtime framework for parallel and adaptive applications
    Thomadakis, Polykarpos
    Tsolakis, Christos
    Chrisochoides, Nikos
    ENGINEERING WITH COMPUTERS, 2022, 38 (05) : 4675 - 4695
  • [5] Multithreaded runtime framework for parallel and adaptive applications
    Polykarpos Thomadakis
    Christos Tsolakis
    Nikos Chrisochoides
    Engineering with Computers, 2022, 38 : 4675 - 4695
  • [6] Data Transformations Enabling Loop Vectorization on Multithreaded Data Parallel Architectures
    Jang, Byunghyun
    Mistry, Perhaad
    Schaa, Dana
    Dominguez, Rodrigo
    Kaeli, David
    PPOPP 2010: PROCEEDINGS OF THE 2010 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2010, : 353 - 354
  • [7] Data Transformations Enabling Loop Vectorization on Multithreaded Data Parallel Architectures
    Jang, Byunghyun
    Mistry, Perhaad
    Schaa, Dana
    Dominguez, Rodrigo
    Kaeli, David
    ACM SIGPLAN NOTICES, 2010, 45 (05) : 353 - 354
  • [8] Enabling High-Performance Memory Migration for Multithreaded Applications on Linux
    Goglin, Brice
    Furmento, Nathalie
    2009 IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL & DISTRIBUTED PROCESSING, VOLS 1-5, 2009, : 2188 - +
  • [9] SAFIRE: Scalable and Accurate Fault Injection For Parallel Multithreaded Applications
    Georgakoudis, Giorgis
    Laguna, Ignacio
    Vandierendonck, Hans
    Nikolopoulos, Dimitrios S.
    Schulz, Martin
    2019 IEEE 33RD INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2019), 2019, : 890 - 899
  • [10] High-Level Synthesis for Irregular Applications: Enabling Temporally Multithreaded Accelerators
    Devecchi, Stefano
    Saporetti, Nicola
    Minutoli, Marco
    Castellana, Vito Giovanni
    Lattuada, Marco
    Fezzardi, Pietro
    Ferrandi, Fabrizio
    Tumeo, Antonino
    PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON MEMORY SYSTEMS (MEMSYS 2018), 2018, : 183 - 184