Patent ID: 7716336

Claim:
A method of reserving resources in a massively parallel processing system comprising, the method on an information processing node comprising a scheduler, the information processing node communicatively coupled to a database and the massively parallel processing system, the method comprising: receiving a reservation request for reserving at least one resource within a massively parallel processing system comprising a plurality of resources comprising compute nodes, base partitions, switches, wires, and node cards; determining a reservation type associated with the reservation, wherein the reservation type is at least one of: a number of compute nodes specified for a particular network type from among a torus and a mesh, a base partition list specified for the particular network type, and a particular partition comprising a specified selection of compute nodes, switches, wires, and node cards specified for the particular network type; generating a set of requirements based on the reservation type; identifying a set of resources from among the plurality of resources for satisfying the set of requirements by: marking each resource in the plurality of resources as available; determining if any of said plurality of resources are assigned to at least one other reservation during a requested time period associated with the received reservation request; marking, in response to at least one resource being assigned to at least one other reservation during the request time period, the at least one resource as being unavailable; and assigning the set of resources for the reservation request from a selection of the plurality of resources that meet the set of requirements and are marked as available, wherein the set of resources satisfy the set of requirements at a reservation start time and for an entire duration of the reservation; reserving the set of resources for the reservation request; and responsive to receiving a job bound to the reservation request; identifying the set of resources reserved for the reservation request; marking an include flag associated with each of the resources in the set of resources from among said plurality of resources; determining if an overlapping reservation exists, wherein the overlapping reservation overlaps a reservation time period associated with the job; identifying, in response to the overlapping reservation existing, each resource within the plurality of resources that is part of the overlapping reservation; marking an exclude flag associated with each of the identified resources; and scheduling the job with resources having the include flag marked and do not have the exclude flag marked from among the set of resources.