CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computat.: Pract. Exper. 2008; 20:1851–1876 Published online 24 October 2007 in Wiley InterScience (www.interscience.wiley.com). DOI: 10.1002/cpe.1268 KOALA: a co-allocating grid scheduler Hashim Mohamed , and Dick Epema Faculty of Electrical Engineering, Mathematics, and Computer Science, Delft University of Technology, P.O. Box 5031, 2600 GA Delft, The Netherlands SUMMARY In multicluster systems, and more generally in grids, jobs may require co-allocation, that is, the simul- taneous or coordinated access of single applications to resources of possibly multiple types in multiple locations managed by different resource managers. Co-allocation presents new challenges to resource management in grids, such as locating sufficient resources in geographically distributed sites, allocating and managing resources in multiple, possibly heterogeneous sites for single applications, and coordinating the execution of single jobs at multiple sites. Moreover, as single jobs now may have to rely on multiple resource managers, co-allocation introduces reliability problems. In this paper, we present the design and implementation of a co-allocating grid scheduler named KOALA that meets these co-allocation challenges. In addition, we report on the results of an analysis of the performance in our multicluster testbed of the co-allocation policies built into KOALA. We also include the results of a performance and reliability test of KOALA while our testbed was unstable. Copyright © 2007 John Wiley & Sons, Ltd. Received 19 July 2006; Revised 27 July 2007; Accepted 2 August 2007 KEY WORDS: co-allocation; grid computing; scheduling; performance 1. INTRODUCTION Grid computing has emerged as an important new field, distinguished from conventional distributed computing by its focus on large-scale, multi-organizational resource sharing, and innovative appli- cations requiring many resources of different types. It is common for the resource needs of grid applications to go beyond what is available in any of the sites making up a grid. For example, a parallel application may require more processors than that are present at any site, and a simulation may require processors for computation in one site and visualization equipment in another site. To run such applications, a technique called co-allocation, that is, the simultaneous or coordinated Correspondence to: Hashim Mohamed, Faculty of Electrical Engineering, Mathematics, and Computer Science, Delft University of Technology, P.O. Box 5031, 2600 GA Delft, The Netherlands. E-mail: h.h.mohamed@tudelft.nl Copyright 2007 John Wiley & Sons, Ltd.