{"title":"A framework for mapping with resource co-allocation in heterogeneous computing systems","authors":"Ammar H. Alhusaini, V. Prasanna, C. Raghavendra","doi":"10.1109/HCW.2000.843751","DOIUrl":null,"url":null,"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.","PeriodicalId":351836,"journal":{"name":"Proceedings 9th Heterogeneous Computing Workshop (HCW 2000) (Cat. No.PR00556)","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"32","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings 9th Heterogeneous Computing Workshop (HCW 2000) (Cat. No.PR00556)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HCW.2000.843751","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 32
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.