Multiprogrammed multiprocessor system with lobally controlled communication and signature controlled scheduling
First Claim
1. A method for scheduling a plurality of tasks on a multi-processor system to allocate resources of the multi-processor system to the plurality of tasks, the method comprising:
- determining a machine signature characterizing computation and communication resources of the multi-processor system;
generating a task signature for at least some of the plurality of tasks running on the multi-processor system, each task signature characterizing communication and computation resources required by a particular task;
scheduling the plurality of tasks on the multi-processor system based at least in part, on the task signatures and the machine signature, for allocating resources of the multi-processor system to the plurality of tasks, wherein said scheduling includes establishing a strobing interval comprising a period of time between successive strobes in which communications are transmitted and establishing a strobing duration comprising a maximum volume of data that may be communicated in a particular strobe; and
controlling communications among the plurality of tasks based on the scheduling of the plurality of tasks.
6 Assignments
0 Petitions
Accused Products
Abstract
A multiprogrammed multiprocessor system comprises a plurality of processors and some communications resources such as networks through which the processors communicate with each other. A plurality of tasks may be executed on the system, and the allocation of the communications resources among the tasks is globally controlled. The allocation of resources among the tasks running on the system can be dependent on the signature of the tasks, where one component of a task signature is a measure of the communication resources needed by the task. The scheduling of a task running on the system may also be dependent on the signature of the task. The allocation of communications resources can be globally controlled using a variety of techniques including: packet injection into the communications resources using periodic strobing or using global flow control; using global implicit acknowledgments; by destination scheduling; by pacing; or by prioritized communication scheduling. Error recovery overheads can be amortized over a plurality of jobs running at one node. A user interface allows a plurality of service level options to be specified by a user, where the system can guarantee that the service levels can be achieved. Application users as well as system administrators can choose options as are appropriate. The user interface can allow the system administrator to run a scheduling mechanism that distributes communications resources among the tasks according to a market mechanism. The user interface can also allow a task to be guaranteed a fixed fraction of the resources independent of the other tasks then running or to be run as an interactive continuous job at one of a plurality of service levels. Finally, the user interface allows a system administrator to subdivide system resources into reserved and unreserved components, where the unreserved component is made available according to a market mechansim.
211 Citations
40 Claims
-
1. A method for scheduling a plurality of tasks on a multi-processor system to allocate resources of the multi-processor system to the plurality of tasks, the method comprising:
-
determining a machine signature characterizing computation and communication resources of the multi-processor system;
generating a task signature for at least some of the plurality of tasks running on the multi-processor system, each task signature characterizing communication and computation resources required by a particular task;
scheduling the plurality of tasks on the multi-processor system based at least in part, on the task signatures and the machine signature, for allocating resources of the multi-processor system to the plurality of tasks, wherein said scheduling includes establishing a strobing interval comprising a period of time between successive strobes in which communications are transmitted and establishing a strobing duration comprising a maximum volume of data that may be communicated in a particular strobe; and
controlling communications among the plurality of tasks based on the scheduling of the plurality of tasks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
designating an interval for transmission of communications;
holding communications of a given task in a staging area; and
regulating the volume of communications of the given task transmitted from the staging area during a particular interval.
-
-
17. The method of claim 1, wherein said scheduling step includes specifying a volume of data to be transmitted by a given task during a particular strobe.
-
18. The method of claim 1, wherein said scheduling step includes specifying whether communications of a given task are to be transmitted during a particular strobe.
-
19. The method of claim 1, wherein said controlling step includes limiting communications of a given task to a portion of said strobing duration during a particular strobe.
-
20. The method of claim 1, further comprising:
-
determining a volume of data corresponding to all communications the plurality of tasks are requesting to send during a particular strobe; and
if said volume of data does not exceed the strobing duration, transmitting all communications of the plurality of tasks during the particular strobe.
-
-
21. The method of claim 20, further comprising:
otherwise, if said volume of data is greater than the strobing duration, determining a portion of the communications of a given task that may be transmitted during the particular strobe.
-
22. A system allocating resources of a plurality of processors to a plurality of tasks based upon signatures of the tasks, the system comprising:
-
a plurality of tasks, at least some tasks having a task signature characterizing processing and communication resources required by the task;
a plurality of processors having processing resources for executing the plurality of tasks, communication resources which allow the plurality of processors to communicate with one another;
a task scheduler for allocating processing resources and communication resources to the plurality of tasks based, at least in part, on the task signatures, wherein said task scheduler establishes a strobing interval comprising a period of time between successive strobes in which communications are transmitted and establishes a strobing duration comprising a maximum volume of data that may be communicated in a strobe; and
a communication module for regulating usage of communication resources based on the allocation of communication resources by the task scheduler. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification