IEEE Transactions on Parallel and Distributed Systems · 2000 · 56 citations · 49 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureDistributed SystemsSchedulingDynamic SchedulingOnline SchedulingPerformance OptimizationScheduling OptimizationScheduling TheoryTask SchedulingDynamic Scheduling AlgorithmsDynamic Task SchedulingLocality ConstraintsMemory LocalityMemory Locality OptimizationMultiprocessor SchedulingScheduling AlgorithmsScheduling In Multiprocessor Systems
Algorithms for scheduling independent tasks on to the processors of a multiprocessor system must trade-off processor load balance, memory locality, and scheduling overhead. Most existing algorithms, however, do not adequately balance these conflicting factors. This paper introduces the self-adjusting dynamic scheduling (SADS) class of algorithms that use a unified cost model to explicitly account for these factors at runtime. A dedicated processor performs scheduling in phases by maintaining a tree of partial schedules and incrementally assigning tasks to the least-cost schedule. A scheduling phase terminates whenever any processor becomes idle, at which time partial schedules are distributed to the processors. An extension of the basic SADS algorithm, called DBSADS, controls the scheduling overhead by giving higher priority to partial schedules with more task-to-processor assignments. These algorithms are compared to two distributed scheduling algorithms within a database application on an Intel Paragon distributed memory multiprocessor system.
49
Condor-a hunter of idle workstations
Michael Litzkow, Miron Livny, Matt W. Mutka · 2003 · 2.3K citations · Full text
The Stanford Dash multiprocessor
Daniel Lenoski, James Laudon, Kourosh Gharachorloo et al. · Computer · 1992 · 972 citations