2007 · 120 citations · 27 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureParallel ComputingMulticore Processor DesignPipeline ParallelismSpeculative ExecutionCompiler DesignLoop ParallelizationMulti-core ComputingMultithreadingPipeline OrganizationPipeliningSoftware PipeliningSpeculative Multithreading
In recent years, microprocessor manufacturers have shifted their focus from single-core to multi-core processors. To avoid burdening programmers with the responsibility of parallelizing their applications, some researchers have advocated automatic thread extraction. A recently proposed technique, Decoupled Software Pipelining (DSWP), has demonstrated promise by partitioning loops into long-running, fine-grained threads organized into a pipeline. Using a pipeline organization and execution decoupled by inter-core communication queues, DSWP offers increased execution efficiency that is largely independent of inter-core communication latency. This paper proposes adding speculation to DSWP and evaluates an automatic approach for its implementation. By speculating past infrequent dependences, the benefit of DSWP is increased by making it applicable to more loops, facilitating better balanced threads, and enabling parallelized loops to be run on more cores. Unlike prior speculative threading proposals, speculative DSWP focuses on breaking dependence recurrences. By speculatively breaking these recurrences, instructions that were formerly restricted to a single thread to ensure decoupling are now free to span multiple threads. Using an initial automatic compiler implementation and a validated processor model, this paper demonstrates significant gains using speculation for 4-core chip multiprocessor models running a variety of codes. 1
27
Stefan Savage, Michael T. Burrows, Greg Nelson et al. · ACM Transactions on Computer Systems · 1997 · 1.6K citations · Full text
Gurindar S. Sohi, Scott E. Breach, T. N. Vijaykumar · 1995 · 978 citations
Lance Hammond, Benedict A. Hubbert, M. Stewart Siu et al. · IEEE Micro · 2000 · 342 citations
A dynamic multithreading processor
Haitham Akkary, Michael A. Driscoll · 1998 · 288 citations