IEEE Transactions on Computers · 1990 · 33 citations · 9 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureParallel ComputingSchedulingParallel Algorithm DesignParallel ArchitecturesParallel Computer ArchitectureParallel Computing SystemsGranularityMultiprocessor SchedulingOverhead AnalysisParallel Algorithm AnalysisParallel Loop SchedulingScheduling AlgorithmsScheduling In Multiprocessor SystemsScheduling Overhead
A processor self-scheduling scheme is proposed for general parallel nested loops in multiprocessor systems. In this scheme, programs are instrumented to allow processors to schedule loop iterations among themselves dynamically at run time without involving the operating system. The scheme has two levels. At the low level, it uses simple fetch-and-op operations to take advantage of the regular structure in the innermost parallel loop nests; at the high level, the irregular structure of the outer loops (parallel or serial) and the IF-THEN-ELSE constructs are handled by using dynamic parallel linked lists. The larger granularity or the processes at the high level easily justifies the added overhead incurred from maintaining such dynamic data structures. The use of guided self-scheduling (GSS) and shortest-delay self-scheduling (SDSS) in this scheme is analyzed.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
9
Hierarchical ordering of sequential processes
E. Dijkstra · Acta Informatica · 1971 · 777 citations
Parallel Supercomputing Today and the Cedar Approach
David J. Kuck, Edward S. Davidson, Duncan H. Lawrie et al. · Science · 1986 · 247 citations
Automatic decomposition of scientific programs for parallel execution
Randy Allen, David Callahan, Ken Kennedy · 1987 · 145 citations