Abstract

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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call