Fr. 176.00

Task Scheduling for Parallel Systems

English · Hardback

Shipping usually within 1 to 3 weeks (not available at short notice)

Description

Read more

Informationen zum Autor Oliver Sinnen , PhD, is a senior lecturer in the Department of Electrical and Computer Engineering at the University of Auckland, New Zealand. Klappentext A new model for task scheduling that dramatically improves the efficiency of parallel systemsTask scheduling for parallel systems can become a quagmire of heuristics, models, and methods that have been developed over the past decades. The author of this innovative text cuts through the confusion and complexity by presenting a consistent and comprehensive theoretical framework along with realistic parallel system models. These new models, based on an investigation of the concepts and principles underlying task scheduling, take into account heterogeneity, contention for communication resources, and the involvement of the processor in communications.For readers who may be new to task scheduling, the first chapters are essential. They serve as an excellent introduction to programming parallel systems, and they place task scheduling within the context of the program parallelization process. The author then reviews the basics of graph theory, discussing the major graph models used to represent parallel programs. Next, the author introduces his task scheduling framework. He carefully explains the theoretical background of this framework and provides several examples to enable readers to fully understand how it greatly simplifies and, at the same time, enhances the ability to schedule.The second half of the text examines both basic and advanced scheduling techniques, offering readers a thorough understanding of the principles underlying scheduling algorithms. The final two chapters address communication contention in scheduling and processor involvement in communications.Each chapter features exercises that help readers put their new skills into practice. An extensive bibliography leads to additional information for further research. Finally, the use of figures and examples helps readers better visualize and understand complex concepts and processes.Researchers and students in distributed and parallel computer systems will find that this text dramatically improves their ability to schedule tasks accurately and efficiently. Zusammenfassung Extending beyond the classic approach by focusing on more advanced, accurate, and realistic models, this book investigates the concepts and techniques of task scheduling by developing a consistent and unifying theoretical framework. Inhaltsverzeichnis Preface xi Acknowledgments xii 1. Introduction 1 1.1 Overview 1 1.2 Organization 5 2. Parallel Systems and Programming 7 2.1 Parallel Architectures 7 2.1.1 Flynn's Taxonomy 7 2.1.2 Memory Architectures 9 2.1.3 Programming Paradigms and Models 11 2.2 Communication Networks 13 2.2.1 Static Networks 13 2.2.2 Dynamic Networks 18 2.3 Parallelization 22 2.4 Subtask Decomposition 24 2.4.1 Concurrency and Granularity 24 2.4.2 Decomposition Techniques 25 2.4.3 Computation Type and Program Formulation 27 2.4.4 Parallelization Techniques 28 2.4.5 Target Parallel System 28 2.5 Dependence Analysis 29 2.5.1 Data Dependence 29 2.5.2 Data Dependence in Loops 32 2.5.3 Control Dependence 35 2.6 Concluding Remarks 36 2.7 Exercises 37 3. Graph Representations 40 3.1 Basic Graph Concepts 40 3.1.1 Computer Representation of Graphs 43 3.1.2 Elementary Graph Algorithms 46 3.2 Graph as a Program Model 49 3.2.1 Computation and Communication Costs 50 3.2.2 Comparison Criteria 50 3.3 Dependence Graph (DG) 51 3.3.1 Iteration Dependence Graph 53 3.3.2 Summary 55 3.4 Flow Graph (FG) 56 3.4.1 Data-Driven Execution Model 60 3.4.2 Summary 61 3.5 Task Graph (DAG) 62...

List of contents

Preface.
 
Acknowledgments.
 
1. Introduction.
 
1.1 Overview.
 
1.2 Organization.
 
2. Parallel Systems and Programming.
 
2.1 Parallel Architectures.
 
2.1.1 Flynn's Taxonomy.
 
2.1.2 Memory Architectures.
 
2.1.3 Programming Paradigms and Models.
 
2.2 Communication Networks.
 
2.2.1 Static Networks.
 
2.2.2 Dynamic Networks.
 
2.3 Parallelization.
 
2.4 Subtask Decomposition.
 
2.4.1 Concurrency and Granularity.
 
2.4.2 Decomposition Techniques.
 
2.4.3 Computation Type and Program Formulation.
 
2.4.4 Parallelization Techniques.
 
2.4.5 Target Parallel System.
 
2.5 Dependence Analysis.
 
2.5.1 Data Dependence.
 
2.5.2 Data Dependence in Loops.
 
2.5.3 Control Dependence.
 
2.6 Concluding Remarks.
 
2.7 Exercises.
 
3. Graph Representations.
 
3.1 Basic Graph Concepts.
 
3.1.1 Computer Representation of Graphs.
 
3.1.2 Elementary Graph Algorithms.
 
3.2 Graph as a Program Model.
 
3.2.1 Computation and Communication Costs.
 
3.2.2 Comparison Criteria.
 
3.3 Dependence Graph (DG).
 
3.3.1 Iteration Dependence Graph.
 
3.3.2 Summary.
 
3.4 Flow Graph (FG).
 
3.4.1 Data-Driven Execution Model.
 
3.4.2 Summary.
 
3.5 Task Graph (DAG).
 
3.5.1 Graph Transformations and Conversions.
 
3.5.2 Motivations and Limitations.
 
3.5.3 Summary.
 
3.6 Concluding Remarks.
 
3.7 Exercises.
 
4. Task Scheduling.
 
4.1 Fundamentals.
 
4.2 With Communication Costs.
 
4.2.1 Schedule Example.
 
4.2.2 Scheduling Complexity.
 
4.3 Without Communication Costs.
 
4.3.1 Schedule Example.
 
4.3.2 Scheduling Complexity.
 
4.4 Task Graph Properties.
 
4.4.1 Critical Path.
 
4.4.2 Node Levels.
 
4.4.3 Granularity.
 
4.5 Concluding Remarks.
 
4.6 Exercises.
 
5. Fundamental Heuristics.
 
5.1 List Scheduling.
 
5.1.1 Start Time Minimization.
 
5.1.2 With Dynamic Priorities.
 
5.1.3 Node Priorities.
 
5.2 Scheduling with Given Processor Allocation.
 
5.2.1 Phase Two.
 
5.3 Clustering.
 
5.3.1 Clustering Algorithms.
 
5.3.2 Linear Clustering.
 
5.3.3 Single Edge Clustering.
 
5.3.4 List Scheduling as Clustering.
 
5.3.5 Other Algorithms.
 
5.4 From Clustering to Scheduling.
 
5.4.1 Assigning Clusters to Processors.
 
5.4.2 Scheduling on Processors.
 
5.5 Concluding Remarks.
 
5.6 Exercises.
 
6. Advanced Task Scheduling.
 
6.1 Insertion Technique.
 
6.1.1 List Scheduling with Node Insertion.
 
6.2 Node Duplication.
 
6.2.1 Node Duplication Heuristics.
 
6.3 Heterogeneous Processors.
 
6.3.1 Scheduling.
 
6.4 Complexity Results.
 
6.4.1 ±|²|³ Classification.
 
6.4.2 Without Communication Costs.
 
6.4.3 With Communication Costs.
 
6.4.4 With Node Duplication.
 
6.4.5 Heterogeneous Processors.
 
6.5 Genetic Algorithms.
 
6.5.1 Basics.
 
6.5.2 Chromosomes.
 
6.5.3 Reproduction.
 
6.5.4 Selection, Complexity, and Flexibility.
 
6.6 Concluding Remarks.
 
6.7 Exercises.
 
7. Communication Contention in Scheduling.
 
7.1 Contention Awareness.
 
7.1.1 End-Point Contention.
 
7.1.2 Networ

Report

"The theoretical framework presented and the realistic parallel computing issues make reading this book worthwhile." ( Computing Reviews.com , October 1, 2007)

Customer reviews

No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.

Write a review

Thumbs up or thumbs down? Write your own review.

For messages to CeDe.ch please use the contact form.

The input fields marked * are obligatory

By submitting this form you agree to our data privacy statement.