Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method, performed upon a system comprising an asymmetric multi-core processor having a plurality of cores of at least two different core types, the method comprising: creating a first thread group having a first thread group identifier; receiving a request from a thread of a process associated with a second thread group having a second thread group identifier to adopt the first thread group identifier; executing the thread and attributing metrics of work performed by the thread to the first thread group identifier, in response to determining that the thread has adopted the first thread group identifier; determining a processor core type to run one or more threads having the first thread group identifier based at least in part upon metrics of work associated with the first thread group identifier; determining a control effort limit based at least in part on a temperature sensor for each core type; and receiving a recommendation that the one or more threads having the first thread group identifier scheduled for execution be run on a different processor core type based on the control effort limit.
2. The method of claim 1 , wherein a work interval object is instantiated in response to a call to a daemon or an operating system service, the work interval object associated with the first thread group.
3. The method of claim 2 , wherein the work interval object is instantiated in response to a call by application to an application programming interface (API) or framework.
4. The method of claim 1 , further comprising: receiving a request associated with the thread to opt out of the first thread group; and associating the thread with the second thread group.
5. The method of claim 4 , further comprising: attributing metrics of work performed by the thread to the second thread group; and determining a processor type to run one more threads of the second thread group based at least in part upon metrics of work associated with the second thread group identifier.
6. The method of claim 1 , wherein the at least two different core types differ based on at least one of throughput or consumption of energy per instruction.
7. The method of claim 1 , further comprising: determining a control effort for the first thread group based on at least in part on the metrics of work associated with the first thread group identifier, wherein the control effort maps to a core type for the thread group and the control effort is limited by the control effort limit.
8. A non-transitory computer-readable medium having executable instructions stored thereon, that when executed by a processing system comprising at least one hardware processor coupled to a memory perform operations, the operations comprising: creating a first thread group having a first thread group identifier; receiving a request from a thread of a process associated with a second thread group having a second thread group identifier to adopt the first thread group identifier; executing the thread and attributing metrics of work performed by the thread to the first thread group identifier, in response to determining that the thread has adopted the first thread group identifier; determining a processor core type to run one or more threads having the first thread group identifier based at least in part upon metrics of work associated with the first thread group identifier; determining a control effort limit based at least in part on a temperature sensor for each core type; and receiving a recommendation that the one or more threads having the first thread group identifier scheduled for execution be run on a different processor core type based on the control effort limit.
9. The medium of claim 8 , wherein a work interval object is instantiated in response to a call to a daemon or an operating system service, the work interval object associated with the first thread group.
10. The medium of claim 9 , wherein the work interval object is instantiated in response to a call by application to an application programming interface (API) or framework.
11. The medium of claim 8 , further comprising: receiving a request associated with the thread to opt out of the first thread group; and associating the thread with the second thread group.
12. The medium of claim 11 , further comprising: attributing metrics of work performed by the thread to the second thread group; and determining a processor type to run one more threads of the second thread group based at least in part upon metrics of work associated with the second thread group identifier.
13. A system comprising at least one hardware processor coupled to a memory programmed with executable instructions that, when executed by the at least one hardware processor, perform operations, the operations comprising: creating a first thread group having a first thread group identifier; receiving a request from a thread of a process associated with a second thread group having a second thread group identifier to adopt the first thread group identifier; executing the thread and attributing metrics of work performed by the thread to the first thread group identifier, in response to determining that the thread has adopted the first thread group identifier; determining a processor core type to run one or more threads having the first thread group identifier based at least in part upon metrics of work associated with the first thread group identifier; determining a control effort limit based at least in part on a temperature sensor for each core type; and receiving a recommendation that the one or more threads having the first thread group identifier scheduled for execution be run on a different processor core type based on the control effort limit.
14. The system of claim 13 , wherein a work interval object is instantiated in response to a call to a daemon or an operating system service, the work interval object associated with the first thread group.
15. The system of claim 14 , wherein the work interval object is instantiated in response to a call by application to an application programming interface (API) or framework.
16. The system of claim 13 , further comprising: receiving a request associated with the thread to opt out of the first thread group; and associating the thread with the second thread group.
17. The system of claim 16 , further comprising: attributing metrics of work performed by the thread to the second thread group; and determining a processor type to run one more threads of the second thread group based at least in part upon metrics of work associated with the second thread group identifier.
18. The system of claim 13 , wherein the metrics of work associated with the first thread group identifier comprises a work interval utilization metric that is a measure of proximity to meeting a deadline.
Unknown
August 3, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.