MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  On Dynamic Speculative Thread Partitioning and the MEM-Slicing Algorithm (1999) [17 citations — 4 self]

Download:
Download as a PDF | Download as a PS
by Lucian Codrescu, D. Scott Wills
In Proceedings of the 1999 International Conference on Parallel Architectures and Compilation Techniques (PACT
http://www.ece.gatech.edu/users/lucian/pact99web.ps.gz
Add To MetaCart

Abstract:

A dynamic speculative multithreaded processor automatically extracts thread level parallelism from sequential binary applications without software support. The hardware is responsible for partitioning the program into threads and managing inter-thread dependencies. Current published dynamic thread partitioning algorithms work by detecting loops, procedures, or partitioning at fixed intervals. Research has thus far examined these algorithms in isolation from one another. This paper makes two contributions. First, it quantitatively compares different dynamic partitioning algorithms in the context of a fixed architecture. The architecture is a single-chip shared memory multiprocessor enhanced to allow thread and value speculation. Second, this paper presents a new dynamic partitioning algorithm called MEM-slicing. Insights into the development and operation of this algorithm are presented. The technique is particularly suited to irregular, non-numeric programs, and greatly outperforms other algorithms in this domain. MEMslicing is shown to be an important tool to enable the automatic parallelization of irregular binary applications. Over SPECint95, an average speedup of 3.4 is achieved on 8 processors.

Citations

1253 The Simplescalar toolset, version 2.0 – Burger, Austin - 1997
539 Simultaneous multithreading: Maximizing onchip parallelism – Tullsen, Eggers, et al. - 1995
431 Multiscalar processors – Sohi, Breach, et al. - 1995
264 A single-chip multiprocessor – Hammond, Nayfeh, et al. - 1997
177 The Potential for Using Thread-Level Data Speculation to Facilitate Automatic Parallelization – Steffan, Mowry - 1998
150 Dynamic speculation and synchronization of data dependences – Moshovos, Breach, et al. - 1997
141 Speculative versioning cache – Gopal, Vijaykumar, et al. - 1998
137 A dynamic multithreading processor – Akkary, Driscoll - 1998
108 The Superthreaded Architecture: Thread Pipelining with Run-Time Data Dependence Checking and Control Speculation – Tsai, Yew - 1996
78 Single-Program Speculative Multithreading (SPSM) Architecture: Compiler-Assisted Fine-Grained Multithreading – Dubey, O’Brien, et al. - 1995
34 Control speculation in multithreaded processors through dynamic loop detection – Tubella, Gonzalez - 1998
23 Architecture of the Atlas Chip-Multiprocessor: Dynamically Parallelizing Irregular Applications – Codrescu, Wills, et al.
23 Value locality and data speculation – Lipasti, Shen - 1996
19 Vlsi architecture: past, present, and future – Dally, Lacy - 1999
9 Clustered Speculative Multithreaded – Marcuello, González - 1999
5 et al, "Software and Hardware for Exploiting Speculative Parallelism in Multiprocessors – Oplinger - 1997
5 et al, "Trace Processors – Rotenberg, Jacobson, et al. - 1997
4 Profiling for Input Predictable Threads – Codrescu, Wills - 1998
3 Josep Torellas, "Executing sequential binaries on a multithreaded architecture with speculation support – Krishnan - 1998