J. Parallel Distrib. Comput. 66 (2006) 600 –611 www.elsevier.com/locate/jpdc Static allocation of resources to communicating subtasks in a heterogeneous ad hoc grid environment Sameer Shivle a , H.J. Siegel a, b , Anthony A. Maciejewski a , Prasanna Sugavanam a , , Tarun Banka a , Ralph Castain c , Kiran Chindam a , Steve Dussinger d , Prakash Pichumani a , Praveen Satyasekaran a , William Saylor a , David Sendek a , J. Sousa d , Jayashree Sridharan a , José Velazco e a Electrical & Computer Engineering Department, Colorado State University, Fort Collins, CO 80523, USA b Computer Science Department, Colorado State University, Fort Collins, CO 80523, USA c Advanced Computing Laboratory, Los Alamos National Laboratory, Los Alamos, NM 87545, USA d HP Technologies, Fort Collins, CO 80528-9544, USA e Stelex, San Juan, Puerto Rico Received 17 February 2005; received in revised form 6 October 2005; accepted 15 October 2005 Available online 19 December 2005 Abstract An ad hoc grid is a heterogeneous computing and communication system that allows a group of mobile devices to accomplish a mission, often in a hostile environment. Energy management is a major concern in ad hoc grids. The problem studied here focuses on statically assigning resources in an ad hoc grid to an application composed of communicating subtasks. The goal of the allocation is to minimize the average percentage of energy consumed by the application to execute across the machines in the ad hoc grid, while meeting an application execution time constraint. This pre-computed allocation is then used when the application is deployed in a mission. Six different heuristic approaches of varying time complexities have been designed and compared via simulations to solve this ad hoc grid allocation problem. Also, a lower bound based on the performance metric has been designed to compare the performance of the heuristics developed. © 2005 Elsevier Inc. All rights reserved. Keywords: Ad hoc grid; Communication scheduling; Mapping; Resource allocation; Task scheduling 1. Introduction An ad hoc grid is a heterogeneous computing (HC) and com- munication system, all of whose components are mobile. Ad hoc grids allow a group of individuals to accomplish a mission that involves computation and communication among the grid This research was supported in part by the Colorado State University George T. Abell Endowment. Corresponding author. E-mail addresses: ssameer@engr.colostate.edu (S. Shivle), hj@engr.colostate.edu (H.J. Siegel), aam@engr.colostate.edu (A.A. Maciejewski), prasanna@engr.colostate.edu (P. Sugavanam), tarunb@engr.colostate.edu (T. Banka), rhc@lanl.gov (R. Castain), kiran@engr.colostate.edu (K. Chindam), sjd@fc.hp.com (S. Dussinger), prkash@engr.colostate.edu (P. Pichumani), moses@engr.colostate.edu, moses@xilinx.com (P. Satyasekaran), sendekdm@lamar.colostate.edu (D. Sendek), jso@fc.hp.com (J. Sousa), jaya@engr.colostate.edu (J. Sridharan), jose.velazco@abbott.com (J. Velazco). 0743-7315/$ - see front matter © 2005 Elsevier Inc. All rights reserved. doi:10.1016/j.jpdc.2005.10.005 components, often in a hostile environment. Examples of ap- plications of ad hoc grids include: disaster management, wild- fire fighting, and defense operations [MaM03]. In all of these cases, a grid-like environment is necessary to reliably support the coordinated effort of a group of individuals working under extreme conditions. An important research problem is how to assign resources to the subtasks (matching) and order the execution of the subtasks that are matched (scheduling) to maximize some performance criterion of a HC system. This procedure of matching and scheduling is called mapping or resource allo- cation. The mapping problem has been shown, in general, to be NP-complete (e.g. [Cof76,Fer89,IbK77]). Thus, the devel- opment of heuristic techniques to find near-optimal solutions for the mapping problem is an active area of research (e.g. [AlK02,BaS01,BaV01,BrS01a,BrS01b,Esh96,MaA99,MiF00, WuS00]).