2015 · 11 citations · 19 references
ComputingComputer EngineeringComputer ScienceAlgorithmsParallel ComputingSchedulingCompute Resource ManagementDynamic SchedulingMatrix ComputationPerformance OptimizationResource SchedulingTask SchedulingDependency Graph AnalysisDynamic Scheduling AlgorithmsMatrix MultiplicationParallel Matrix MultiplicationRun-time Resource AllocationRun-time Resource ManagementRuntime SchedulingStatic Scheduling
The tremendous increase in the size and heterogeneity of supercomputers makes it very difficult to predict the performance of a scheduling algorithm. In this context, relying on purely static scheduling and resource allocation strategies, that make scheduling and allocation decisions based on the dependency graph and the platform description, is expected to lead to large and unpredictable make spans whenever the behavior of the platform does not match the predictions. For this reason, the common practice in most runtime libraries is to rely on purely dynamic scheduling strategies, that make short-sighted scheduling decisions at runtime based on the estimations of the duration of the different tasks on the different available resources and on the state of the machine. In this paper, we consider the special case of Matrix Multiplication, for which a number of static allocation algorithms to minimize the amount of communications have been proposed. Through a set of extensive simulations, we analyse the behaviour of static, dynamic, and hybrid strategies, and we assess the possible benefits of introducing more static knowledge and allocation decisions in runtime libraries.
19
Approximation Algorithms for NP-Hard Problems
Dorit S. Hochba · ACM SIGACT News · 1997 · 3.1K citations · Full text
Minimizing Communication in Numerical Linear Algebra
Grey Ballard, James Demmel, Olga Holtz et al. · SIAM Journal on Matrix Analysis and Applications · 2011 · 278 citations · Full text