Application-level scheduling and total site autonomy
The Legion scheduling philosophy is one of reservation through a negotiation process between resource providers and resource consumers. We view autonomy as the single most crucial aspect of this process.
To paraphrase the 1996 Presidential election campaign, "It's the autonomy, stupid!"
Legion presently provides two types of resources: hosts (computational resources) and vaults (storage resources). We will incorporate network resources in the future. As seen below, the Legion scheduling module consists of three major components: a resource state information database, a module which computes request (object) mapping to resources (hosts and vaults), and an activation agent responsible for implementing the computed schedule. We call these items the Collection, Scheduler, and Enactor, respectively.
The Collection interacts with resource objects to collect state information describing the system (step 1). The Scheduler queries the Collection to determine a set of available resources that match the Scheduler's requirements (step 2). After computing a schedule, or set of desired schedules, the Scheduler passes a list of schedules to the Enactor for implementation (step 3). The Enactor then makes reservations with the individual resources (step 4), and reports the results to the Scheduler (step 5). Upon approval by the Scheduler, the Enactor places objects on the hosts, and monitors their status (step 6).
If the user does not wish to select or provide an external scheduler, the Legion system (via the class mechanism) provides default scheduling behavior supplying general-purpose support. Through the use of class defaults, sample schedulers, and application-level schedulers, the user can balance the effort put into scheduling against the resulting application performance gain.
Features in 1.4
[Testbeds] [Et Cetera] [Map/Search]
This work partially supported by DOE grant DE-FG02-96ER25290, Logicon (for the DoD HPCMOD/PET program) DAHC 94-96-C-0008, DOE D459000-16-3C, DARPA (GA) SC H607305A, NSF-NGS EIA-9974968, NSF-NPACI ASC-96-10920, and a grant from NASA-IPG.