Process scheduler employing adaptive partitioning of process threads
First Claim
1. A system comprising:
- a processor;
one or more memory storage units;
software code stored in the one or more memory storage units, where the software code is executable by the processor and comprises at least one sending thread, at least one receiving thread that is responsive to communications from the at least one sending thread to execute one or more tasks corresponding to the communications, and a scheduling system executable by the processor for selectively allocating the processor to the at least one sending thread and the at least one receiving thread based, at least in part, on a processor budget associated with the at least one sending thread, where the scheduling system bills the processor budget associated with the at least one sending thread for processor allocation used by the at least one receiving thread to respond to the communications sent by the at least one sending thread.
14 Assignments
0 Petitions
Accused Products
Abstract
A system is set forth that comprises a processor, such as a single processor or symmetric multiprocessor, and one or more memory storage units. The system also includes software code that is stored in the memory storage units. The software code is executable by the processor and comprises code for generating a plurality of adaptive partitions that are each associated with one or more software threads. Each of the adaptive partitions has a corresponding processor budget. The code also is executable to generate at least one sending thread and at least one receiving thread. The receiving thread responds to communications from the sending thread to execute one or more tasks corresponding to the communications. A scheduling system also forms at least part of the code that is executable by the processor. In operation, the scheduling system selectively allocates the processor to each sending and receiving thread based, at least in part, on the processor budget of the adaptive partition associated with the respective thread. In this type of sending/receiving environment, the scheduling system bills the processor budget of the adaptive partition associated with the sending thread for processor allocation used by the receiving thread to respond to communications sent by the sending thread.
124 Citations
23 Claims
-
1. A system comprising:
-
a processor;
one or more memory storage units;
software code stored in the one or more memory storage units, where the software code is executable by the processor and comprises at least one sending thread, at least one receiving thread that is responsive to communications from the at least one sending thread to execute one or more tasks corresponding to the communications, and a scheduling system executable by the processor for selectively allocating the processor to the at least one sending thread and the at least one receiving thread based, at least in part, on a processor budget associated with the at least one sending thread, where the scheduling system bills the processor budget associated with the at least one sending thread for processor allocation used by the at least one receiving thread to respond to the communications sent by the at least one sending thread. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a processor;
one or more memory storage units;
software code stored in the one or more memory storage units, where the software code is executable by the processor as a plurality of threads, the plurality of threads including at least one sending thread and at least one receiving thread; and
a scheduling system included in the software code and executable by the processor for selectively allocating the processor to execute the at least one sending and the at least one receiving thread based, at least in part, on processor budgets associated with each thread, and where the scheduling system bills the processor budget associated with the at least one sending thread for processor allocation used by the at least one receiving thread to respond to communications sent by the at least one sending thread. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a processor;
one or more memory storage units;
software code stored in the one or more memory storage units, where the software code is executable by the processor and comprises a plurality of adaptive partitions that are each associated with one or more process threads, where each of the plurality of adaptive partitions has a corresponding processor budget, at least one sending thread associated with a first adaptive partition of the plurality of adaptive partitions, at least one receiving thread associated with a second adaptive partition of the plurality of adaptive partitions, where the at least one receiving thread responds to communications from the at least one sending thread by executing one or more tasks corresponding to the communication, and a scheduling system executable by the processor for selectively allocating the processor to the at least one sending thread and the at least one receiving thread based, at least in part, on the processor budgets of the first and second adaptive partitions, where the scheduling system bills the processor budget of the first adaptive partition for processor allocation used by the at least one receiving thread to respond to the communications sent by the at least one sending thread. - View Dependent Claims (14, 15, 16)
-
-
17. A method of operating a process scheduler in a processing system having a plurality of software threads, where the plurality of software threads include at least one sending thread and at least one receiving thread responsive to communications sent by the at least one sending thread, and where the at least one sending thread is associated with a first adaptive partition having a predetermined processor budget and the at least one receiving thread is associated with a second adaptive partition having a further predetermined processor budget, the method comprising:
-
scheduling execution of the sending thread, where the sending thread sends a communication to the receiving thread;
scheduling execution of the receiving thread; and
billing the processor budget of the first adaptive partition for processor allocation used by the receiving thread to respond to communications sent by the sending thread. - View Dependent Claims (18)
-
-
19. A storage medium including software code used to execute a method of operating a process scheduler in a processing system having a plurality of software threads, where the plurality of software threads include at least one sending thread and at least one receiving thread responsive to communications sent by the at least one sending thread, and where the at least one sending thread is associated with a first adaptive partition having a predetermined processor budget and the at least one receiving thread is associated with a second adaptive partition having a further predetermined processor budget, and where the method comprises:
-
scheduling execution of the sending thread, where the sending thread sends a communication to the receiving thread;
scheduling execution of the receiving thread; and
billing the processor budget of the first adaptive partition for processor allocation used by the receiving thread to respond to communications sent by the sending thread. - View Dependent Claims (20)
-
-
21. A process scheduling system comprising:
-
a first adaptive partition associated with a sending thread and having a first predetermined processor budget;
a second adaptive partition associated with a receiving thread and having a second predetermined processor budget, where the receiving thread responds to a communication sent by the sending thread by executing one or more tasks corresponding to the communication;
a process scheduler adapted to selectively allocate a processor to the sending thread and the receiving thread based, at least in part, on the first and second predetermined processor budgets of the first and second adaptive partitions, where the process scheduler bills the first predetermined processor budget of the first adaptive partition for processor allocation used by the receiving thread to respond to the communication sent by the sending thread. - View Dependent Claims (22, 23)
-
Specification