Metacomputing systems are intended to support remote and/or concurrent use of geographically distributed computational resources.
Resource management in such systems is complicated by five concerns that do not typically arise in other situations: site
autonomy and heterogeneous substrates at the resources, and application requirements for policy extensibility, co-allocation,
and online control. We describe a resource management architecture that addresses these concerns. This architecture distributes
the resource management problem among distinct local manager, resource broker, and resource co-allocator components and defines
an extensible resource specification language to exchange information about requirements. We describe how these techniques
have been implemented in the context of the Globus metacomputing toolkit and used to implement a variety of different resource
management strategies. We report on our experiences applying our techniques in a large testbed, GUSTO, incorporating 15 sites,
330 computers, and 3600 processors.