2002 · 147 citations · 25 references
ComputingComputer EngineeringComputer ScienceCompilersComputer ArchitectureParallel ComputingConcurrent ProgrammingData ParallelismParallel ArchitecturesParallel Computer ArchitectureParallel Computing SystemsSpeculative ExecutionDependence CheckingExecution ModelLoop ParallelizationPipeliningSpeculationThread ParallelismThread-based ParallelismThread-level Parallelism
This peeper presents a new concurrent multiple-threaded architectural model, called superthreading, for exploiting thread-level parallelism on a processor. This architectural model adopts a thread pipelining execution model that allows threads with data dependences and control dependences to be executed in parallel. The basic idea of thread pipelining is to compute and forward recurrence data and possible dependent store addresses to the next thread as soon as possible, so the next thread can start execution and perform run-time data dependence checking. Thread pipelining also forces contiguous threads to perform their memory write-backs in order, which enables the compiler to fork threads with control speculation. With run-time support for data dependence checking and control speculation, the superthreaded architectural model can exploit loop-level parallelism from a broad range of applications.
25
Dean M. Tullsen, Susan J. Eggers, Henry M. Levy · 1995 · 1.4K citations · Full text
Gurindar S. Sohi, Scott E. Breach, T. N. Vijaykumar · 1995 · 978 citations
Robert Alverson, David Callahan, Daniel Cummings et al. · 2014 · 649 citations
Limits of instruction-level parallelism
David W. Wall · 1991 · 631 citations