IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0847686
(2004-05-17)
|
발명자
/ 주소 |
- Jones,Michael B.
- Regehr,John
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
11 인용 특허 :
22 |
초록
▼
The present invention provides providing predictable scheduling of programs using repeating precomputed schedules on discretely scheduled and/or multiprocessor operating systems. In one embodiment, a scheduler accesses an activity scheduling graph. The activity scheduling graph is comprised of nodes
The present invention provides providing predictable scheduling of programs using repeating precomputed schedules on discretely scheduled and/or multiprocessor operating systems. In one embodiment, a scheduler accesses an activity scheduling graph. The activity scheduling graph is comprised of nodes each representing a recurring execution interval, and has one root, one or more leaves, and at least one path from the root to each leaf. Each node is on at least one path from the root to a leaf, and the number of times the execution interval represented by each node occurs during the traversal of the graph is equal to the number of paths from the root to a leaf that the node is on. Each node has associated with it an execution interval length, and is adapted to being dedicated to executing the threads of a single activity. There may be one scheduling graph for each processor, or a scheduling graph may traverse multiple processors. Start and end times for reservations and constraints are adjusted to compensate for the granularity of the clock of the system. Furthermore, the scheduler may use an existing priority-based scheduler in order to cause scheduling decisions it has made to be acted upon.
대표청구항
▼
We claim: 1. A computer implemented method for a discrete-clock computer system having a plurality of processors comprising: receiving an activity comprising at least one of: a constraint for a thread in the activity specifying a desired earliest start time, amount of requested execution time, and
We claim: 1. A computer implemented method for a discrete-clock computer system having a plurality of processors comprising: receiving an activity comprising at least one of: a constraint for a thread in the activity specifying a desired earliest start time, amount of requested execution time, and a deadline; and a reservation for the activity specifying a recurring desired number of time units within a desired period; determining one of the plurality of processors for which execution of the activity and threads within the activity that are to be scheduled, based on a heuristic; modifying at least one of: the desired earliest start time, the amount of requested execution time and the deadline for the time constraint, and the desired amount of execution and the desired period of the reservation based on a granularity of the discrete-clock computer system; and when the computer system has a modifiable period, the modifiable period based on at least one of the earliest start time, the amount of requested execution time and the deadline for a time constraint, and the desired amount of execution and the desired period of the reservation; and scheduling the activity and the constraint for execution on the determined one of the plurality of processors, including inserting the activity and the constraint on a schedule for the determined one of the plurality of processors. 2. The method of claim 1, wherein the heuristic comprises determining the least loaded of the plurality of processors. 3. The method of claim 1, wherein the heuristic comprises determining a processor having other activities scheduled for execution thereon that are related to the activity. 4. The method of claim 1, wherein the heuristic comprises determining a processor having other activities scheduled for execution thereon that have a similar period to the desired period. 5. The method of claim 1, wherein the heuristic comprises randomly selecting a processor. 6. The method of claim 1, wherein the heuristic comprises performing an exhaustive search. 7. The method of claim 1, wherein the schedule is specific to the determined one of the plurality of processors. 8. The method of claim 1, wherein the schedule is specific to a sub-plurality of the processors including the determined one of the plurality of processors. 9. The method of claim 1, wherein the schedule is for all the plurality of processors including the determined one of the plurality of processors. 10. The method of claim 1, wherein the computer system has an existing scheduler, and wherein the scheduling is performed utilizing the existing scheduler. 11. The method of claim 10, wherein the existing scheduler uses unreserved time slots to schedule otherwise unscheduled threads. 12. The method of claim 11, wherein the existing scheduler also schedules scheduled threads during unreserved time slots. 13. A computer implemented method for a discrete-clock computer system having a plurality of processors comprising: receiving an activity comprising at least one of: a constraint for a thread in the activity specifying a desired earliest start time, an amount of requested execution time, and a deadline; and a reservation for the activity specifying a recurring desired number of time units within a desired period; determining at least one of the plurality of processors for which execution of the activity and threads within the activity that are to be scheduled, based on a heuristic; modifying at least one of: the desired earliest start time, the amount of requested execution time and the deadline for the time constraint, and the desired amount of execution and the desired period of the reservation based on a granularity of the discrete-clock computer system; and when the computer system has a modifiable period, the modifiable period based on at least one of the earliest start time, the amount of requested execution time and the deadline for a time constraint, and the desired amount of execution and the desired period of the reservation; and scheduling the activity and the constraint for execution on the determined one of the plurality of processors, including inserting the activity and the constraint on a schedule for the determined at least one of the plurality of processors. 14. The method of claim 13, wherein determining at least one of the plurality of processors comprises determining a single one of the plurality of processors. 15. The method of claim 13, wherein determining at least one of the plurality of processors comprises determining whether the activity fits on a single one of the plurality of processors, and upon determining that the activity does not fit on a single one of the plurality of processors, splitting the activity onto at least two of the plurality of processors.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.