A framework for mapping with resource co-allocation in heterogeneous computing systems

In heterogeneous computing systems, an application often requires multiple resources of different types to be allocated simultaneously. This is the resource co-allocation problem. We develop a framework for mapping a collection of applications with resource co-allocation requirements. In our framework, application tasks have two types of constraints to be satisfied: precedence constraints and resource-sharing constraints. We use a graph theoretic framework to capture these constraints. A directed acyclic graph is used to represent precedence constraints of tasks within an application and a compatibility graph is used to represent resource-sharing constraints among tasks of applications. Both these graphs are used to find maximal independent sets of tasks that can be executed concurrently. The objective of the mapping is to minimize the overall schedule length for a given set of applications. We develop heuristic algorithms to solve the mapping problem with resource co-allocation constraints. We also provide a two-phase algorithm that can be used for run-time adaptation. We conducted simulation experiments to evaluate the performance of our heuristic algorithms. Simulation results for our algorithms show a performance improvement of 10% to 30% over a baseline algorithm of list scheduling which considers only the precedence constraints and allocates tasks from the resulting order. This paper demonstrates the importance of considering the co-allocation requirements when mapping applications in heterogeneous computing environments including grid environments.

[1]  Füsun Özgüner,et al.  Dynamic, competitive scheduling of multiple DAGs in a distributed heterogeneous environment , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[2]  Richard F. Freund,et al.  Generational Scheduling for Heterogeneous Computing System , 1996, PDPTA.

[3]  Anthony A. Maciejewski,et al.  Task Matching and Scheduling in Heterogenous Computing Environments Using a Genetic-Algorithm-Based Approach , 1997, J. Parallel Distributed Comput..

[4]  Viktor K. Prasanna,et al.  Heterogeneous computing: challenges and opportunities , 1993, Computer.

[5]  Salim Hariri,et al.  Task scheduling algorithms for heterogeneous processors , 1999, Proceedings. Eighth Heterogeneous Computing Workshop (HCW'99).

[6]  Lucio Bianco,et al.  Nonpreemptive scheduling of independent tasks with prespecified processor allocations , 1994 .

[7]  L. Smarr,et al.  Metacomputing : Siggraph'92 Showcase , 1992 .

[8]  Füsun Özgüner,et al.  Parallelizing Existing Applications in a Distributed Heterogeneous Environment , 1995 .

[9]  Ishfaq Ahmad,et al.  On Parallelizing the Multiprocessor Scheduling Problem , 1999, IEEE Trans. Parallel Distributed Syst..

[10]  Mary Mehrnoosh Eshaghian-Wilner,et al.  Mapping heterogeneous task graphs onto heterogeneous system graphs , 1997, Proceedings Sixth Heterogeneous Computing Workshop (HCW'97).

[11]  Clifford C. Huff,et al.  Elements of a realistic CASE tool adoption budget , 1992, CACM.

[12]  Howard Jay Siegel,et al.  Heterogeneous Distributed Computing , 1999 .

[13]  Howard Jay Siegel,et al.  A dynamic matching and scheduling algorithm for heterogeneous computing systems , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[14]  R. F. Freund,et al.  Guest Editor's Introduction: Heterogeneous Processing , 1993 .

[15]  Michael W. Godfrey,et al.  An overview of MSHN: the Management System for Heterogeneous Networks , 1999, Proceedings. Eighth Heterogeneous Computing Workshop (HCW'99).

[16]  Oscar H. Ibarra,et al.  Heuristic Algorithms for Scheduling Independent Tasks on Nonidentical Processors , 1977, JACM.

[17]  Edward A. Lee,et al.  A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures , 1993, IEEE Trans. Parallel Distributed Syst..

[18]  Viktor K. Prasanna,et al.  A unified resource scheduling framework for heterogeneous computing environments , 1999, Proceedings. Eighth Heterogeneous Computing Workshop (HCW'99).

[19]  Klara Nahrstedt,et al.  A distributed resource management architecture that supports advance reservations and co-allocation , 1999, 1999 Seventh International Workshop on Quality of Service. IWQoS'99. (Cat. No.98EX354).

[20]  N. Ranganathan,et al.  Multiple cost optimization for task assignment in heterogeneous computing systems using learning automata , 1999, Proceedings. Eighth Heterogeneous Computing Workshop (HCW'99).

[21]  Bin Yao,et al.  A taxonomy for describing matching and scheduling heuristics for mixed-machine heterogeneous computing systems , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

[22]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[23]  Ian T. Foster,et al.  Resource co-allocation in computational grids , 1999, Proceedings. The Eighth International Symposium on High Performance Distributed Computing (Cat. No.99TH8469).

[24]  A. A. Maciejewski,et al.  Heterogeneous Computing , 2002 .

[25]  E. Kay,et al.  Graph Theory. An Algorithmic Approach , 1975 .