2002 · 33 citations · 18 references
ComputingComputer ScienceHigh-performance ComputingCompilersParallel ComputingSchedulingCpu SchedulingDynamic SchedulingParallel Performance AnalysisParallel Runtime SystemsPerformance OptimizationPerformance TuningDynamic Scheduling AlgorithmsParallel ProfilingParallel Speedup AnalysisRun-time AdaptationRun-time Resource AllocationRun-time Resource ManagementRuntime OptimizationRuntime Scheduling
Addresses the problem of maximizing application speedup through run-time self-selection of an appropriate number of processors on which to run. Automatic run-time selection of processor allocations is important because many parallel applications exhibit peak speedups at allocations that are data- or time-dependent. We propose the use of a run-time system that: (a) dynamically measures job efficiencies at different allocations, (b) uses these measurements to calculate speedups, and (c) automatically adjusts a job's processor allocation to maximize its speedup. Using a set of 10 applications that includes both hand-coded parallel programs and compiler-parallelized sequential programs, we show that our run-time system can reliably determine dynamic allocations that match the best possible static allocation, and that it has the potential to find dynamic allocations that outperform any static allocation.
18
Optimization by Simulated Annealing
Scott Kirkpatrick, C. D. Gelatt, M.P. Vecchi · Science · 1983 · 44.6K citations
Jaswinder Singh, Wolf-Dietrich Weber, Anoop Gupta · ACM SIGARCH Computer Architecture News · 1992 · 927 citations · Full text