loading...
Program Demultiplexing: Data-flow based Speculative Parallelization of Methods in Sequential Programs
Boston, Massachusetts June 17-June 21
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ISCA.2006.3133rd International Symposium on Compu ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Saisanthosh Balakrishnan, University of Wisconsin-Madison
Gurindar S. Sohi, University of Wisconsin-Madison

We present Program Demultiplexing (PD), an execution paradigm that creates concurrency in sequential programs by "demultiplexing" methods (functions or subroutines). Call sites of a demultiplexed method in the program are associated with handlers that allow the method to be separated from the sequential program and executed on an auxiliary processor. The demultiplexed execution of a method (and its handler) is speculative and occurs when the inputs of the method are (speculatively) available, which is typically far in advance of when the method is actually called in the sequential execution. A trigger, composed of predicates that are based on program counters and memory write addresses, launches the speculative execution of the method on another processor.

Our implementation of PD is based on a full-system execution-based chip multi-processor simulator with software to generate triggers and handlers from an x86- program binary. We evaluate eight integer benchmarks from the SPEC2000 suite .programs written in C with no explicit concurrency and/or motivation to create concurrency. and achieve a harmonic mean speedup of 1.8x with our implementation of PD.

Citation:
Saisanthosh Balakrishnan, Gurindar S. Sohi, "Program Demultiplexing: Data-flow based Speculative Parallelization of Methods in Sequential Programs," isca, pp.302-313, 33rd International Symposium on Computer Architecture (ISCA'06), 2006
Usage of this product signifies your acceptance of the Terms of Use.