Scheduling Parallel Tasks Approximation Algorithms

Scheduling is a crucial problem in parallel and distributed processing. It consists of determining where and when the tasks of parallel programs will be executed. The design of parallel algorithms has to be reconsidered by the influence of new execution supports (namely, clusters of workstations, grid computing and global computing) which are characterized by a larger number of heterogeneous processors, often organized by hierarchical sub-systems. Parallel Tasks model (tasks that require more than one processor for their execution) has been introduced about 15 years ago as a promising alternative for scheduling parallel applications, especially in the case of slow communication media. The basic idea is to consider the application at a rough level of granularity (larger tasks in order to decrease the relative weight of communications). As the main difficulty for scheduling in actual systems comes from handling efficiently the communications, this new view of the problem allows us to consider them implicitly, thus leading to more tractable problems. We kindly invite the reader to look at the chapter of Maciej Drozdowski (in this book) for a detailed presentation of various kinds of Parallel Tasks in a general context and the survey paper from Feitelson et al. \\cite{Feitelsonsurvey} for a discussion in the field of parallel processing. Even if the basic problem of scheduling Parallel Tasks remains NP-hard, some approximation algorithms can be designed. A lot of results have been derived recently for scheduling the different types of Parallel Tasks, namely, Rigid, Moldable or Malleable ones. We will distinguish Parallel Tasks inside the same application or between applications in a multi-user context. Various optimization criteria will be discussed. This chapter aims to present several approximation algorithms for scheduling moldable and malleable tasks with a special emphasis on new execution supports.

[1]  Philip S. Yu,et al.  Smart SMART Bounds for Weighted Response Time Scheduling , 1999, SIAM J. Comput..

[2]  Klaus Jansen,et al.  Scheduling to Minimize the Average Completion Time of Dedicated Tasks , 2000, FSTTCS.

[3]  W. D. Ray Optimisation and Control of Dynamic Operational Research Models , 1983 .

[4]  E. Jeannot Allocation de graphes de taches parametres et generation de code , 1999 .

[5]  Ronald L. Graham,et al.  Bounds for Multiprocessor Scheduling with Resource Constraints , 1975, SIAM J. Comput..

[6]  Anja Feldmann,et al.  Optimal online scheduling of parallel jobs with dependencies , 1993, STOC.

[7]  Andrei Tchernykh,et al.  Online Scheduling of Multiprocessor Jobs with Idle Regulation , 2003, PPAM.

[8]  Dorit S. Hochba,et al.  Approximation Algorithms for NP-Hard Problems , 1997, SIGA.

[9]  Jacek Blazewicz,et al.  Approximation Algorithms for Scheduling Independent Malleable Tasks , 2001, Euro-Par.

[10]  Cynthia A. Phillips,et al.  Optimal Time-Critical Scheduling via Resource Augmentation (Extended Abstract) , 1997, Symposium on the Theory of Computing.

[11]  Denis Trystram,et al.  On-Line Scheduling of Parallelizable Jobs , 1998, Euro-Par.

[12]  Denis Trystram,et al.  List scheduling of general task graphs under LogP , 2000, Parallel Comput..

[13]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[14]  Klaus H. Ecker,et al.  Handbook on Parallel and Distributed Processing , 2000, International Handbooks on Information Systems.

[15]  Jacek Blazewicz,et al.  Scheduling in Computer and Manufacturing Systems , 1990 .

[16]  Philip S. Yu,et al.  Approximate algorithms scheduling parallelizable tasks , 1992, SPAA '92.

[17]  Thomas Decker,et al.  A 5/4-Approximation Algorithm for Scheduling Identical Malleable Tasks , 2003, WAOA.

[18]  David B. Shmoys,et al.  Using dual approximation algorithms for scheduling problems: Theoretical and practical results , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[19]  Marcin Paprzycki,et al.  Handbook on Parallel and Distributed Processing , 2001 .

[20]  Andrea Lodi,et al.  Two-dimensional packing problems: A survey , 2002, Eur. J. Oper. Res..

[21]  A. Steinberg,et al.  A Strip-Packing Algorithm with Absolute Performance Bound 2 , 1997, SIAM J. Comput..

[22]  Michael Pinedo,et al.  Scheduling: Theory, Algorithms, and Systems , 1994 .

[23]  Pierre-François Dutot,et al.  Scheduling on hierarchical clusters using malleable tasks , 2001, SPAA '01.

[24]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[25]  Dorit S. Hochbaum,et al.  Approximation Algorithms for NP-Hard Problems , 1996 .

[26]  Hadas Shachnai,et al.  Multiresource Malleable Task Scheduling to Minimize Response Time , 1999, Inf. Process. Lett..

[27]  David B. Shmoys,et al.  Scheduling to Minimize Average Completion Time: Off-Line and On-Line Approximation Algorithms , 1997, Math. Oper. Res..

[28]  Ramesh Subramonian,et al.  LogP: a practical model of parallel computation , 1996, CACM.

[29]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[30]  Larry Rudolph,et al.  Parallel Job Scheduling: Issues and Approaches , 1995, JSSPP.

[31]  Tao Yang,et al.  PYRROS: static task scheduling and code generation for message passing multiprocessors , 1992 .

[32]  Ronald L. Graham,et al.  Bounds on Multiprocessing Timing Anomalies , 1969, SIAM Journal of Applied Mathematics.

[33]  Jirí Sgall,et al.  On-line Scheduling , 1996, Online Algorithms.

[34]  Klaus Jansen,et al.  Linear-Time Approximation Schemes for Scheduling Malleable Parallel Tasks , 1999, SODA '99.

[35]  Evripidis Bampis,et al.  On the complexity of scheduling with large communication delays , 1996 .

[36]  Anoop Gupta,et al.  Parallel computer architecture - a hardware / software approach , 1998 .

[37]  Frank D. Anger,et al.  Scheduling Precedence Graphs in Systems with Interprocessor Communication Times , 1989, SIAM J. Comput..

[38]  G. N. Srinivasa Prasanna,et al.  Generalised multiprocessor scheduling using optimal control , 1991, SPAA '91.

[39]  Maciej Drozdowski,et al.  Scheduling multiprocessor tasks -- An overview , 1996 .

[40]  Michael Mikolajczak,et al.  Designing And Building Parallel Programs: Concepts And Tools For Parallel Software Engineering , 1997, IEEE Concurrency.