• DocumentCode
    1915129
  • Title

    A Static Binary Instrumentation Threading Model for Fast Memory Trace Collection

  • Author

    Laurenzano, Michael A. ; Peraza, Joshua ; Carrington, Laura ; Tiwari, Anish ; Ward, William A. ; Campbell, Rick

  • Author_Institution
    Performance Modeling & Characterization Lab., Univ. of California, San Diego, La Jolla, CA, USA
  • fYear
    2012
  • fDate
    10-16 Nov. 2012
  • Firstpage
    741
  • Lastpage
    745
  • Abstract
    In order to achieve a high level of performance, data intensive applications such as the real-time processing of surveillance feeds from unmanned aerial vehicles will require the strategic application of multi/many-core processors and coprocessors using a hybrid of inter-process message passing (e.g. MPI and SHMEM) and intra-process threading (e.g. pthreads and OpenMP). To facilitate program design decisions, memory traces gathered through binary instrumentation can be used to understand the low-level interactions between a data intensive code and the memory subsystem of a multi-core processor or many-core co-processor. Toward this end, this paper introduces the addition of threading support for PMaCs Efficient Binary Instrumentation Toolkit for Linux/x86 (PEBIL) and compares PEBILs threading model to the threading models of two other popular Linux/x86 binary instrumentation platforms - Pin and Dyninst - on both theoretical and empirical grounds. The empirical comparisons are based on experiments which collect memory address traces for the OpenMP-threaded implementations of the NASA Advanced Supercomputing Parallel Benchmarks (NPBs). This work shows that the overhead of collecting full memory address traces for multithreaded programs is higher in PEBIL (7.7x) than in Pin (4.7x), both of which are significantly lower than Dyninst (897x). This work also shows that PEBIL, uniquely, is able to take advantage of interval-based sampling of a memory address trace by rapidly disabling and re-enabling instrumentation at the transitions into and out of sampling periods in order to achieve significant decreases in the overhead of memory address trace collection. For collecting the memory address streams of each of the NPBs at a 10% sampling rate, PEBIL incurs an average slowdown of 2.9x compared to 4.4x with Pin and 897x with Dyninst.
  • Keywords
    Linux; aerospace computing; application program interfaces; coprocessors; message passing; multi-threading; shared memory systems; Dyninst; Linux-x86 binary instrumentation platform; NASA advanced supercomputing parallel benchmark; NPB; OpenMP-threaded implementations; PEBIL threading model; PMaC efficient binary instrumentation toolkit; Pin; coprocessors; data intensive applications; data intensive code; fast memory trace collection; interprocess message passing; intraprocess threading; low-level interactions; many-core processors; memory address stream collection; memory address trace collection; memory address trace interval-based sampling; memory subsystem; multicore processors; multithreaded programs; static binary instrumentation threading model;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High Performance Computing, Networking, Storage and Analysis (SCC), 2012 SC Companion:
  • Conference_Location
    Salt Lake City, UT
  • Print_ISBN
    978-1-4673-6218-4
  • Type

    conf

  • DOI
    10.1109/SC.Companion.2012.101
  • Filename
    6495883