• DocumentCode
    3074664
  • 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
  • fYear
    2011
  • fDate
    10-12 April 2011
  • Firstpage
    87
  • Lastpage
    96
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • 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
  • Type

    conf

  • DOI
    10.1109/ISPASS.2011.5762718
  • Filename
    5762718