Title :
Trace-driven simulation of multithreaded applications
Author :
Rico, Alejandro ; Duran, Alejandro ; Cabarcas, Felipe ; Etsion, Yoav ; Ramirez, Alex ; Valero, Mateo
Author_Institution :
Centro Nac. de Supercomputacion, Barcelona Supercomput. Center, Barcelona, Spain
Abstract :
Over the past few years, computer architecture research has moved towards execution-driven simulation, due to the inability of traces to capture timing-dependent thread execution interleaving. However, trace-driven simulation has many advantages over execution-driven that are being missed in multithreaded application simulations. We present a methodology to properly simulate multithreaded applications using trace-driven environments. We distinguish the intrinsic application behavior from the computation for managing parallelism. Application traces capture the intrinsic behavior in the sections of code that are independent from the dynamic multithreaded nature, and the points where parallelism-management computation occurs. The simulation framework is composed of a trace-driven simulation engine and a dynamic-behavior component that implements the parallelism-management operations for the application. Then, at simulation time, these operations are reproduced by invoking their implementation in the dynamic-behavior component. The decisions made by these operations are based on the simulated architecture, allowing to dynamically reschedule sections of code taken from the trace to the target simulated components. As the captured sections of code are independent from the parallel state of the application, they can be simulated on the trace-driven engine, while the parallelism-management operations, that require to be re-executed, are carried out by the execution-driven component, thus achieving the best of both trace- and execution-driven worlds. This simulation methodology creates several new research opportunities, including research on scheduling and other parallelism-management techniques for future architectures, and hardware support for programming models.
Keywords :
computer architecture; multi-threading; computer architecture research; dynamic-behavior component; execution-driven; multithreaded applications; parallelism-management techniques; trace-driven simulation; Computational modeling; Computer architecture; Dynamic scheduling; Instruction sets; Instruments; Runtime; Synchronization;
Conference_Titel :
Performance Analysis of Systems and Software (ISPASS), 2011 IEEE International Symposium on
Conference_Location :
Austin, TX
Print_ISBN :
978-1-61284-367-4
Electronic_ISBN :
978-1-61284-368-1
DOI :
10.1109/ISPASS.2011.5762718