System and method for controlling central processing unit power based on inferred workload parallelism

US9563250B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9563250-B2
Application numberUS-94414010-A
CountryUS
Kind codeB2
Filing dateNov 11, 2010
Priority dateDec 16, 2009
Publication dateFeb 7, 2017
Grant dateFeb 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method of dynamically controlling power within a multicore CPU is disclosed and may include receiving a degree of parallelism in a workload of a zeroth core and determining whether the degree of parallelism in the workload of the zeroth core is equal to a first wake condition. Further, the method may include determining a time duration for which the first wake condition is met when the degree of parallelism in the workload of the zeroth core is equal to the first wake condition and determining whether the time duration is equal to a first confirm wake condition. The method may also include invoking an operating system to power up a first core when the time duration is equal to the first confirm wake condition.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of dynamically controlling power within a multicore central processing unit (CPU), the method comprising: determining a number of operating system scheduler ready-to-run queues that are available for scheduling on the multicore CPU; calculating a degree of parallelism in a workload of a zeroth core of the multicore CPU, wherein the degree of parallelism comprises a number of ready-to-run threads in the available operating system scheduler ready-to-run queues; determining that the number of ready-to-run threads exceeds a first threshold value for a first time duration that exceeds a second threshold value, wherein the first threshold value is set for triggering a core wake and the second threshold value is set for confirming the core wake; calculating a system load value for the multicore CPU based on a run queue value of the zeroth core and an operating frequency of the zeroth core; and when the number of ready-to-run threads exceeds the first threshold value for the first time duration that exceeds the second threshold value and the system load value meets a predetermined condition, powering up a first core of the multicore CPU to execute at least one of the available operating system scheduler ready-to-run queues, wherein the system load value indicates a number of powered cores for operation of the multicore CPU. 2. The method of claim 1 , wherein the degree of parallelism comprises a total number of tasks, threads, or a combination thereof waiting on one or more ready-to-run queues of an operating system scheduler, a number of tasks, threads, or a combination thereof actually running on the zeroth core, or a combination thereof. 3. The method of claim 1 , further comprising: invoking an operating system to power up the first core when the second threshold value has been exceeded. 4. The method of claim 3 , further comprising: invoking the operating system to add the first core to a set of schedulable resources. 5. The method of claim 4 , further comprising: receiving a degree of parallelism in a workload on the zeroth core and the first core; and determining whether the degree of parallelism in the workload on the zeroth core and the first core is equal to a first sleep condition. 6. The method of claim 5 , further comprising: determining a second time duration for which the first sleep condition is met when the degree of parallelism in the workload on the zeroth core and the first core is equal to the first sleep condition; and determining whether the second time duration for which the first sleep condition is met is equal to a first confirm sleep condition. 7. The method of claim 6 , further comprising: invoking the operating system to save a current state of the first core, when the second time duration for which the first sleep condition is met is equal to the first sleep condition. 8. The method of claim 7 , further comprising: invoking the operating system to power down the first core. 9. The method of claim 8 , further comprising: invoking the operating system to remove the first core from the set of schedulable resources. 10. A wireless device, comprising: means for determining a number of operating system scheduler ready-to-run queues that are available for scheduling on a multicore central processing unit (CPU); means for calculating a degree of parallelism in a workload of a zeroth core of the multicore CPU, wherein the degree of parallelism comprises a number of ready-to-run threads in the available operating system scheduler ready-to-run queues; means for determining that the number of ready-to-run threads exceeds a first threshold value for a first time duration that exceeds a second threshold value, wherein the first threshold value is set for triggering a core wake and the second threshold value is set for confirming the core wake; means for calculating a system load value for the multicore CPU based on a run queue value of the zeroth core and an operating frequency of the zeroth core; and means for, when the number of ready-to-run threads exceeds the first threshold value for the first time duration that exceeds the second threshold value and the system load value meets a predetermined condition, powering up a first core of the multicore CPU to execute at least one of the available operating system scheduler ready-to-run queues, wherein the system load value indicates a number of powered cores for operation of the multicore CPU. 11. The wireless device of claim 10 , wherein the degree of parallelism comprises a total number of tasks, threads, or a combination thereof waiting on one or more ready-to-run queues of an operating system scheduler, a number of tasks, threads, or a combination thereof actually running on the zeroth core, or a combination thereof. 12. The wireless device of claim 10 , further comprising: means for invoking an operating system to power up the first core when the second threshold value has been exceeded. 13. The wireless device of claim 12 , further comprising: means for invoking the operating system to add the first core to a set of schedulable resources. 14. The wireless device of claim 13 , further comprising: means for receiving a degree of parallelism in a workload on the zeroth core and the first core; and means for determining whether the degree of parallelism in the workload on the zeroth core and the first core is equal to a first sleep condition. 15. The wireless device of claim 14 , further comprising: means for determining a second time duration for which the first sleep condition is met when the degree of parallelism in the workload on the zeroth core and the first core is equal to the first sleep condition; and means for determining whether the second time duration for which the first sleep condition is met is equal to a first confirm sleep condition. 16. The wireless device of claim 15 , further comprising: means for invoking the operating system to save a current state of the first core, when the second time duration for which the first sleep condition is met is equal to the first sleep condition. 17. The wireless device of claim 16 , further comprising: means for invoking the operating system to power down the first core. 18. The wireless device of claim 17 , further comprising: means for invoking the operating system to remove the first core from the set of schedulable resources. 19. A wireless device, comprising: a processor configured with processor-executable instructions to perform operations comprising: determining a number of operating system scheduler ready-to-run queues, the ready-to-run queues comprising at least one of a task or a thread available for scheduling on a multicore central processing unit (CPU); calculating a degree of parallelism in a workload of a zeroth core of the multicore CPU, wherein the degree of parallelism comprises a number of ready-to-run threads in the available operating system scheduler ready-to-run queues; determining that the number of ready-to-run threads exceeds a first threshold value for a first time duration that exceeds a second threshold value, wherein the first threshold value is set for triggering a core wake and the second threshold value is set for confirming the core wake; calculating a system load value for the multicore CPU based on a run queue value of the zeroth core and an operating frequency of the zeroth core; and when the number of ready-to-run threads exceeds the first threshold value for the first time duration that exceeds the seco

Assignees

Inventors

Classifications

  • G06F1/3203Primary

    Power management, i.e. event-based initiation of a power-saving mode · CPC title

  • by lowering clock frequency · CPC title

  • by lowering the supply or operating voltage · CPC title

  • by switching off individual functional units in the computer system · CPC title

  • Cross-Sectional Technologies · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9563250B2 cover?
A method of dynamically controlling power within a multicore CPU is disclosed and may include receiving a degree of parallelism in a workload of a zeroth core and determining whether the degree of parallelism in the workload of the zeroth core is equal to a first wake condition. Further, the method may include determining a time duration for which the first wake condition is met when the degree…
Who is the assignee on this patent?
Rychlik Bohuslav, Glenn Robert A, Iranli Ali, and 4 more
What technology area does this patent fall under?
Primary CPC classification G06F1/3203. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).