• DocumentCode
    2001421
  • Title

    Program Demultiplexing: Data-flow based Speculative Parallelization of Methods in Sequential Programs

  • Author

    Balakrishnan, Saisanthosh ; Sohi, Gurindar S.

  • Author_Institution
    Dept. of Comput. Sci., Wisconsin Univ., Madison, WI
  • fYear
    0
  • fDate
    0-0 0
  • Firstpage
    302
  • Lastpage
    313
  • Abstract
    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
  • Keywords
    data flow computing; multiprocessing programs; parallel programming; storage allocation; SPEC2000; auxiliary processor; concurrency program; data-flow based speculative parallelization; full-system execution-based chip multiprocessor simulator; memory write addresses; program counters; program demultiplexing; sequential programs; x86-program binary; Algorithms; Application software; Computer aided instruction; Concurrent computing; Counting circuits; Demultiplexing; Multicore processing; Parallel processing; Turning; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture, 2006. ISCA '06. 33rd International Symposium on
  • Conference_Location
    Boston, MA
  • ISSN
    1063-6897
  • Print_ISBN
    0-7695-2608-X
  • Type

    conf

  • DOI
    10.1109/ISCA.2006.31
  • Filename
    1635961