System and method for supporting adaptive busy wait in a computing environment
First Claim
Patent Images
1. A method for supporting queue processing in a computing environment, the method comprising:
- associating a single thread with a queue in the computing environment, wherein the thread runs on one or more microprocessors;
using the thread to process a next task from said queue if said queue is not empty;
waiting for a next task to be received by said queue if said queue is empty;
adaptively configuring the thread, responsive to a workload of said queue, to be in one of a sleep state and an idle state during said waiting;
associating a single another thread with another queue in the computing environment, wherein the another thread runs on the one or more microprocessors;
using the another thread to process another next task from said another queue if said another queue is not empty;
waiting for another next task to be received by said another queue if said another queue is empty; and
adaptively configuring the another thread, responsive to another workload of said another queue, to be in one of a sleep state and an idle state during said waiting;
wherein each of said thread and said another thread are adaptively configured independently to be in the respective sleep state or idle state during said respective waiting, responsive to the workload of said queue and the another workload of said another queue.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method can support queue processing in a computing environment such as a distributed data grid. A thread can be associated with a queue in the computing environment, wherein the thread runs on one or more microprocessors that support a central processing unit (CPU). The system can use the thread to process one or more tasks when said one or more tasks arrive at the queue. Furthermore, the system can configure the thread to be in one of a sleep state and an idle state adaptively, when there is no task in the queue.
-
Citations
20 Claims
-
1. A method for supporting queue processing in a computing environment, the method comprising:
-
associating a single thread with a queue in the computing environment, wherein the thread runs on one or more microprocessors; using the thread to process a next task from said queue if said queue is not empty; waiting for a next task to be received by said queue if said queue is empty; adaptively configuring the thread, responsive to a workload of said queue, to be in one of a sleep state and an idle state during said waiting; associating a single another thread with another queue in the computing environment, wherein the another thread runs on the one or more microprocessors; using the another thread to process another next task from said another queue if said another queue is not empty; waiting for another next task to be received by said another queue if said another queue is empty; and adaptively configuring the another thread, responsive to another workload of said another queue, to be in one of a sleep state and an idle state during said waiting; wherein each of said thread and said another thread are adaptively configured independently to be in the respective sleep state or idle state during said respective waiting, responsive to the workload of said queue and the another workload of said another queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for supporting task processing in a distributed data grid, the system comprising:
-
a computer system comprising one or more microprocessors and memory; a queue in said memory and another queue in said memory; a thread, running on the one or more microprocessors, wherein the thread is associated with said queue, wherein the thread is configured to process a next task from said queue if said queue is not empty; wait for a next task to be received by said queue if said queue is empty; and enter one of a sleep state and an idle state while waiting for the next task, wherein selecting between the sleep state and the idle state is performed adaptively responsive to a workload of said queue; another thread, running on the one or more microprocessors, wherein the another thread is associated with said another queue, wherein the another thread is configured to process another next task from said another queue if said another queue is not empty; wait for another next task to be received by said another queue if said another queue is empty; and enter one of a sleep state and an idle state while waiting for the another next task, wherein selecting between the sleep state and the idle state is performed adaptively responsive to the another workload of said another queue; wherein each of said thread and said another thread are configured to independently enter the respective sleep state or idle state during said respective waiting, responsive to the workload of said queue and the another workload of said another queue. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory machine readable storage medium having instructions stored thereon for supporting queue processing in a computing environment, which instructions, when executed, cause a computer to perform steps comprising:
-
associating a single thread with a queue in the computing environment, wherein the thread runs on one or more microprocessors; using the thread to process a next task from said queue if said queue is not empty; waiting for a next task to be received by said queue if said queue is empty; adaptively configuring the thread, responsive to a workload of said queue, to be in one of a sleep state and an idle state during said waiting; associating a single another thread with another queue in the computing environment, wherein the another thread runs on the one or more microprocessors; using the another thread to process another next task from said another queue if said another queue is not empty; waiting for another next task to be received by said another queue if said another queue is empty; and adaptively configuring the another thread, responsive to another workload of said another queue, to be in one of a sleep state and an idle state during said waiting; wherein each of said thread and said another thread are adaptively configured independently to be in the respective sleep state or idle state during said respective waiting, responsive to the workload of said queue and the another workload of said another queue.
-
Specification