Sleep queue management
First Claim
1. A computer implemented method for managing a multi-dimensional sleep queue, the method comprising:
- identifying a thread of execution to insert into the multi-dimensional sleep queue for a predetermined amount of time;
responsive to the identifying, inserting the thread of execution into a first dimension of the multi-dimensional sleep queue if;
(a) there is not a thread with a wake-up time equivalent to the predetermined amount of time in the first dimension; and
(b) if there are one or more different threads of execution with the wake-up time in a second dimension of the multi-dimensional sleep queue, each of the one or more different threads of execution has a thread priority lower than or equal to a thread priority associated with the thread of execution.
2 Assignments
0 Petitions
Accused Products
Abstract
Various implementations of the described subject matter provide for the management of a multi-dimensional sleep queue, such that a group of threads with a same wake-up time are removed from the multi-dimensional sleep queue in a deterministic amount of time that is independent of the number of threads in the removed group. This is significant because it allows an operating system to schedule other threads for execution within deterministic/predetermined time parameters. Moreover, the described subject matter also provides for inserting new threads into the multi-dimensional sleep queue in a manner that allows other processes to execute during the thread insertion process.
-
Citations
29 Claims
-
1. A computer implemented method for managing a multi-dimensional sleep queue, the method comprising:
-
identifying a thread of execution to insert into the multi-dimensional sleep queue for a predetermined amount of time; responsive to the identifying, inserting the thread of execution into a first dimension of the multi-dimensional sleep queue if; (a) there is not a thread with a wake-up time equivalent to the predetermined amount of time in the first dimension; and (b) if there are one or more different threads of execution with the wake-up time in a second dimension of the multi-dimensional sleep queue, each of the one or more different threads of execution has a thread priority lower than or equal to a thread priority associated with the thread of execution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer storage medium for managing a multi-dimensional sleep queue, the computer storage medium comprising computer-executable instructions for:
-
identifying a thread of execution to insert into the multi-dimensional sleep queue for a predetermined amount of time; responsive to the identifying, inserting the thread of execution into a first dimension of the multi-dimensional sleep queue if; (a) there is not a thread with a wake-up time equivalent to the predetermined amount of time in the first dimension; and (b) if there are one or more different threads of execution with the wake-up time in a second dimension of the multi-dimensional sleep queue, each of the one or more different threads of execution has a thread priority lower than or equal to a thread priority associated with the thread of execution. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for managing a sleep queue, the system comprising:
-
a memory comprising computer-executable instructions and a multi-dimensional sleep queue; and a processor operatively coupled to the memory for executing the computer-executable instructions, the computer-executable instructions comprising instructions for; identifying a thread of execution to insert into the multi-dimensional sleep queue for a predetermined amount of time; responsive to the identifying, inserting the thread of execution into a first dimension of the multi-dimensional sleep queue if; (a) there is not a thread with a wake-up time equivalent to the predetermined amount of time in the first dimension; and (b) if there are one or more different threads of execution with the wake-up time in a second dimension of the multi-dimensional sleep queue, each of the one or more different threads of execution has a thread priority lower than or equal to a thread priority associated with the thread of execution. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
Specification