Scheduling for Parallel Processing - Drozdowski, Maciej (Computer Communications and Networks, 2009)
To take full advantage of high performance computing, parallel applications must be carefully managed to guarantee quality of service and fairness in using shared resources. Scheduling for parallel computing is an interdisciplinary subject joining many fields, and the broadness of research yields an immense number and diversity of models for understanding scheduling problems. This focused and useful book presents scheduling models for parallel processing, problems defined on the grounds of certain scheduling models, and algorithms solving the scheduling problems. As most of the scheduling problems are combinatorial in nature, the methodology of computational complexity theory is examined. Four examples of scheduling models are presented, along with problems and algorithms, before drawing conclusions on their mutual relationships. The book also provides helpful generalizations about scheduling models, their problems and algorithms. Topics and features: Introduces the fundamental scheduling concepts and clarifies the relation between scheduling models, problems, algorithms, and schedules Discusses the technological aspects of scheduling for parallel processing, demonstrating how highly abstract scheduling policies are determined by the underlying hardware and software Presents the notions, concepts, and algorithms that are most immediately applicable in parallel processing, including relevant aspects of classic scheduling theory Examines the parallel task model, analyzing rigid, moldable, malleable tasks, and tasks with shape Outlines the methodology of computational complexity theory and introduces the basic metrics of parallel application performance Explores scheduling with communication delays, taking into account the costs of delays Examines scheduling divisible loads in systems with limited memory, various interconnection types, and cost of usage Includes detailed illustrations, a comprehensive bibliography, and a helpful notation section This unique text will be a valuable resource for researchers in parallel computing, operating systems, management science, and applied mathematics. In addition, lecturers and advanced students needing a solid foundation about scheduling for parallel computing will find the book a critical teaching tool and reference.