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
Link To Document