Systems and methods that manage processing resources
First Claim
1. A system for managing processing resources of a computing entity, comprising:
- a first processor that executes tasks;
a first receiving port that receives from a client an asynchronous request for processing resources associated with the first processor of the computing entity; and
a first resource manager that allocates the processing resources when the processing resources become available, preempts or places the asynchronous request in one of a plurality of queues if available processing resources are not sufficient to fulfill the request, searches the one of the plurality of queues for the asynchronous request based on queue priority levels to obtain reply information, and transmits a communication to a specified reply port associated with the client or another client, the communication including at least a context of execution that is utilized to execute a task associated with the asynchronous request, the allocated resources being accounted by requiring the client to request for the processing resources prior to accessing any of the processing resources.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a port-based technique to manage processing resources that can be utilized by an Operating System. The systems and methods consider time parallelism and pre-emption through sends, receives, and execution context, wherein scheduling of execution units occurs via (aperiodic and/or periodic) communication rather than time slicing. The systems and methods employ a resource manager that listens behind a port associated with a processor, which enables the processor to transition to a reduced power consumption state. When a request for processing resources arrives at the port, the resource manager can allocate the processing resources, wake the processor, and/or return a communication, which can include a location of allocated memory and an execution context of the processor, to a reply channel. Alternatively, the resource manager can preempt the request to mitigate processing resources consumption.
-
Citations
30 Claims
-
1. A system for managing processing resources of a computing entity, comprising:
-
a first processor that executes tasks; a first receiving port that receives from a client an asynchronous request for processing resources associated with the first processor of the computing entity; and a first resource manager that allocates the processing resources when the processing resources become available, preempts or places the asynchronous request in one of a plurality of queues if available processing resources are not sufficient to fulfill the request, searches the one of the plurality of queues for the asynchronous request based on queue priority levels to obtain reply information, and transmits a communication to a specified reply port associated with the client or another client, the communication including at least a context of execution that is utilized to execute a task associated with the asynchronous request, the allocated resources being accounted by requiring the client to request for the processing resources prior to accessing any of the processing resources. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented method for managing processing resources of a computing entity in a communication based computing system, the method comprising:
-
employing a first processor to execute tasks; receiving from a client an asynchronous communication requesting for processing resources associated with the first processor of the computing entity, the request being preempted or placed in one of a plurality of queues if available processing resources are not sufficient to fulfill the request; and when the processing resources become available, performing acts including; allocating processing resources of the computing entity to execute a task; searching the one of the plurality of queues for the request based on queue priority levels to obtain reply information; and providing access to the allocated processing resources for execution of the task by sending a reply communication to the client associated with the asynchronous communication, the reply communication including at least a context of execution that is utilized to execute a task associated with the request, the allocated processing resources being accounted by requiring the client to request for the processing resources prior to accessing any of the processing resources. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for transmitting a communication including one or more data packets to be transmitted between two or more computer components that facilitate processing resource management, comprising:
-
receiving from a client an asynchronous communication requesting for processing resources, the processing resources including memory and a context of execution of a processor, the request being preempted or placed in one of a plurality of queues if available processing resources are not sufficient to fulfill the request; when the processing resources are available, performing acts including; allocating the processing resources to perform an item of execution, the processing resources being allocated only when the asynchronous communication is completed; searching the one of the plurality of queues for the request based on queue priority levels to obtain reply information; and sending a reply communication to provide a location of the memory and access to the context of execution of the processor, the allocated processing resources being accounted by requiring the client to request for the processing resources prior to accessing any of the processing resources.
-
-
29. Computer executable components stored on a computer readable medium that facilitate managing processing resources in a free running computing environment, comprising:
-
a first component that receives an asynchronous communication from a client at a receiving port of a processor, wherein the asynchronous communication at least includes a request for a context of execution and a reply port associated with the client, the request being preempted or placed in one of a plurality of queues if the context of execution is not available; a second component that allocates the context of execution when the context of execution becomes available; and a third component that searches the one of the plurality of queues for the request based on queue priority levels to obtain reply information, and transmits a notification to the reply port when the context of execution is available to process an item of execution, the allocated processing resources being accounted by requiring the client to request for the processing resources prior to accessing any of the processing resources.
-
-
30. A system that facilitates managing processing resources, comprising:
-
a processor that executes tasks; means for receiving an asynchronous request from a client for processing resources associated with the processor which is a part of a computing entity, the asynchronous request being preempted or placed in one of a plurality of queues if available processing resources are not sufficient to fulfill the request; means for invoking allocation of the processing resources when the processing resources become available; means for searching the one of the plurality of queues for the asynchronous request based on queue priority levels to obtain reply information, and transmitting a communication to a reply port associated with the client or another client; and means for selectively providing access to the allocated processing resources, the allocated processing resources being accounted by requiring the client to request for the processing resources prior to accessing any of the processing resources.
-
Specification