2008 · 140 citations · 24 references
ComputingComputer EngineeringComputer ScienceCompilersComputer ArchitectureParallel ComputingData ParallelismParallel ArchitecturesParallel Computer ArchitectureAutomatic ParallelizationLoop ParallelizationParallelism ExtractionParallelizationPipeliningSoftware PipeliningThread ParallelismThread-level Parallelism
In recent years, the microprocessor industry has embraced chip multiprocessors (CMPs), also known as multi-core architectures, as the dominant design paradigm. For existing and new applications to make effective use of CMPs, it is desirable that compilers automatically extract thread-level parallelism from single-threaded applications. DOALL is a popular automatic technique for loop-level parallelization employed successfully in the domains of scientific and numeric computing. While DOALL generally scales well with the number of iterations of the loop, its applicability is limited by the presence of loop-carried dependences. A parallelization technique with greater applicability is decoupled software pipelining (DSWP), which parallelizes loops even in the presence of loop-carried dependences. However, the scalability of DSWP is limited by the size of the loop body and the number of recurrences it contains, which are usually smaller than the loop iteration count.
24
Depth-First Search and Linear Graph Algorithms
Robert E. Tarjan · SIAM Journal on Computing · 1972 · 6K citations
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