In certain aspects, the invention features a system and method for (1)
receiving reservations for a first subset of computing resources of a
distributed computing system (DCS), wherein each of the reservations
specifies a time period, (2) allocating the first subset according to the
reservations, (3) receiving requests for use of at least a second subset
of the DCS's computing resources, wherein each of the requests specifies
a time period, (4) determining whether enough unallocated resources are
available to fulfill all of the requests, wherein the unallocated
resources include the DCS's resources not allocated according to the
reservations, (5) allocating resources according to the requests, if
there are enough unallocated resources available, and (6) allocating
resources in accordance with an allocation criteria if there are not
enough unallocated resources available.