Directed event signaling for multiprocessor systems
First Claim
1. A method for managing processor elements contending for one or more common resources on a computing device having a plurality of processor elements, comprising:
- determining a parameter for use in assigning priorities to the plurality of processor elements requesting access to a resource based on an operating state of the computing device;
assigning a priority to a processor element for requesting access to the resource, wherein the priority is assigned based on the parameter for the processing element;
signaling the processor element requesting access to the resource to wait for the resource to become available in response to determining that the resource is not available; and
signaling the processor element to access the resource in response to determining that the resource is available and that the processor element is assigned a highest priority for requesting access to the resource.
1 Assignment
0 Petitions
Accused Products
Abstract
Multi-processor computing device methods manage resource accesses by a signaling event manager signaling processor elements requesting access to a resource to wake up to access the resource when the resource is available or wait for an event when the resource is busy. Processor elements may enter a sleep state while awaiting access to the requested resource. When multiple elements are waiting for the resource, the processor element with a highest assigned priority is signaled to wake up when the resource is available without waking other elements. Priorities may be assigned to processor elements waiting for the resource based on a heuristic or parameter that may depend on a state of the computing device or the processor elements. A sleep duration may be estimated for a processor element waiting for a resource and the processor element may be removed from a scheduling queue or assigned another thread during the sleep duration.
-
Citations
12 Claims
-
1. A method for managing processor elements contending for one or more common resources on a computing device having a plurality of processor elements, comprising:
-
determining a parameter for use in assigning priorities to the plurality of processor elements requesting access to a resource based on an operating state of the computing device; assigning a priority to a processor element for requesting access to the resource, wherein the priority is assigned based on the parameter for the processing element; signaling the processor element requesting access to the resource to wait for the resource to become available in response to determining that the resource is not available; and signaling the processor element to access the resource in response to determining that the resource is available and that the processor element is assigned a highest priority for requesting access to the resource. - View Dependent Claims (2, 3)
-
-
4. A computing device , comprising:
-
a plurality of processor elements; and a signaling event manager communicatively connected to the plurality of processor elements and configured with signaling event manager-executable instructions to perform operations comprising; determining a parameter for use in assigning priorities to the plurality of processor elements requesting access to a resource based on an operating state of the computing device; assigning a priority to a processor element for requesting access to the resource, wherein the priority is assigned based on the parameter for the processing element; signaling the processor element requesting access to the resource to wait for the resource to become available in response to determining that the resource is not available; and signaling the processor element to access the resource in response to determining that the resource is available and that the processor element is assigned a highest priority for requesting access to the resource. - View Dependent Claims (5, 6)
-
-
7. A non-transitory processor-readable medium having stored thereon processor-executable software instructions to cause a processor of a computing device having a plurality of processing elements to perform operations comprising:
-
determining a parameter for use in assigning priorities to the plurality of processor elements requesting access to a resource based on an operating state of the computing device; assigning a priority to a processor element for requesting access to the resource, wherein the priority is assigned based on the parameter for the processing element; signaling the processor element requesting access to the resource to wait for the resource to become available in response to determining that the resource is not available; and signaling the processor element to access the resource in response to determining that the resource is available and that the processor element is assigned a highest priority for requesting access to the resource. - View Dependent Claims (8, 9)
-
-
10. A computing device having a plurality of processor elements, comprising:
-
means for determining a parameter for use in assigning priorities to the plurality of processor elements requesting access to a resource based on an operating state of the computing device; means for assigning a priority to a processor element for requesting access to the resource, wherein the priority is assigned based on the parameter for the processing element; means for signaling the processor element requesting access to the resource to wait for the resource to become available in response to determining that the resource is not available; and means for signaling the processor element to access the resource in response to determining that the resource is available and that the processor element is assigned a highest priority for requesting access to the resource. - View Dependent Claims (11, 12)
-
Specification