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.