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 :
بازگشت