Dynamic core selection for heterogeneous multi-core systems

US11755099B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11755099-B2
Application numberUS-202217852066-A
CountryUS
Kind codeB2
Filing dateJun 28, 2022
Priority dateMar 11, 2011
Publication dateSep 12, 2023
Grant dateSep 12, 2023

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.

Example methods and apparatus to facilitate dynamic core selection are disclosed. An example apparatus includes a first processor core of a first type; a second processor core of a second type different from the first type; and software to: access a user-supplied hint indicative of a user preference to execute program code on the first processor core, the user-supplied hint including a user-defined attribute of the program code; monitor performance of the program code on the first processor core; determine, based on the user-defined attribute of the program code, a predicted performance of the program code on the second processor core is better than the performance of the program code on the first processor core; and ignore the user preference by migrating the program code from the first processor core for execution on the second processor core.

First claim

Opening claim text (preview).

The invention claimed is: 1. A multi-core computer system comprising: a first processor core of a first type; a second processor core of a second type different from the first type; and software to: access a user-supplied hint indicative of a user preference to execute program code on the first processor core, the user-supplied hint including a user-defined attribute of the program code; monitor performance of the program code on the first processor core; determine, based on the user-defined attribute of the program code, a predicted performance of the program code on the second processor core is better than the performance of the program code on the first processor core; and ignore the user preference by migrating the program code from the first processor core for execution on the second processor core. 2. The multi-core computer system of claim 1 , wherein the software is to determine the predicted performance of the program code on the second processor core is better than the performance of the program code on the first processor core by profiling the program code to generate the user-supplied hint. 3. The multi-core computer system of claim 1 , wherein the software is further to: monitor, subsequent to the migration of execution of the program code to the second processor core, performance of the execution of the program code by the second processor core; determine, based on the performance of execution of the program code on the second processor core and the user-supplied hint, whether the performance of the program code by the first processor core is better than the performance of the program code on the second processor core; and migrate execution of the program code from the second processor core back to the first processor core in response to a determination that the performance of the program code on the first processor core is better than the performance of the program code on the second processor core. 4. The multi-core computer system of claim 1 , wherein the first processor core is an in-order processor core and the second processor core is an out-of-order processor core. 5. The multi-core computer system of claim 1 , wherein the second processor core is an in-order processor core and the first processor core is an out-of-order processor core. 6. The multi-core computer system of claim 1 , wherein the software is further to power up the second processor core in response to the determination that the predicted performance of the program code on the second processor core is better than the monitored performance of the program code on the first processor core. 7. The multi-core computer system of claim 1 , wherein the software is further to power down the first processor core in response to the migration of execution of the program code from the first processor core to the second processor core. 8. At least one computer readable storage disk or storage device comprising instructions which, when executed, cause one or more processors to at least: access a user-supplied hint indicative of a user preference to execute program code on a first processor core of a first type, the user-supplied hint including a user-defined attribute of the program code; monitor performance of the program code on the first processor core; determine, based on the user-defined attribute of the program code, a predicted performance of the program code on a second processor core is better than the performance of the program code on the first processor core, the second processor core of a second type different than the first type; and ignore the user preference by migrating the program code from the first processor core for execution on the second processor core. 9. The at least one computer readable storage disk or storage device of claim 8 , wherein the instructions cause the one or more processors to determine the predicted performance of the program code on the second processor core is better than the performance of the program code on the first processor core by profiling the program code to generate the user-supplied hint. 10. The at least one computer readable storage disk or storage device of claim 8 , wherein the instructions cause the one or more processors to: monitor, subsequent to the migration of execution of the program code to the second processor core, performance of the execution of the program code by the second processor core; determine, based on the performance of execution of the program code on the second processor core and the user-supplied hint, whether the performance of the program code by the first processor core is better than the performance of the program code on the second processor core; and migrate execution of the program code from the second processor core back to the first processor core in response to a determination that the performance of the program code on the first processor core is better than the performance of the program code on the second processor core. 11. The at least one computer readable storage disk or storage device of claim 8 , wherein the first processor core is an in-order processor core and the second processor core is an out-of-order processor core. 12. The at least one computer readable storage disk or storage device of claim 8 , wherein the second processor core is an in-order processor core and the first processor core is an out-of-order processor core. 13. The at least one computer readable storage disk or storage device of claim 8 , wherein the instructions cause the one or more processors to power up the second processor core in response to the determination that the predicted performance of the program code on the second processor core is better than the monitored performance of the program code on the first processor core. 14. The at least one computer readable storage disk or storage device of claim 8 , wherein the instructions cause the one or more processors to power down the first processor core in response to the migration of execution of the program code from the first processor core to the second processor core. 15. An apparatus comprising: a first processor core of a first type; a second processor core of a second type different from the first type; instructions; and processor circuitry to execute the instructions to: access a user-supplied hint indicative of a user preference to execute program code on the first processor core of the first type, the user-supplied hint including a user-defined attribute of the program code; monitor a first performance of the program code on the first processor core; predict a second performance of the program code on the second processor core; determine, based on the user-defined attribute of the program code, that the second performance of the program code on the second processor core is better than the first performance of the program code on the first processor core; and ignore the user preference by migrating the program code from the first processor core for execution on the second processor core. 16. The apparatus of claim 15 , wherein the processor circuitry is to determine the second performance of the program code on the second processor core is better than the first performance of the program code on the first processor core by profiling the program code to generate the user-supplied hint. 17. The apparatus of claim 15 , wherein the processor circuitry is further to: monitor, subsequent to the migration of execution of the program code to the second processor core, third performance of the execution of the program code by the second processor core;

Assignees

Inventors

Classifications

  • where the computing system component is a central processing unit [CPU] · CPC title

  • in wire-line communication networks, e.g. low power modes or reduced link rate · CPC title

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

  • Performance criteria · CPC title

  • Monitoring involving counting · CPC title

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 US11755099B2 cover?
Example methods and apparatus to facilitate dynamic core selection are disclosed. An example apparatus includes a first processor core of a first type; a second processor core of a second type different from the first type; and software to: access a user-supplied hint indicative of a user preference to execute program code on the first processor core, the user-supplied hint including a user-def…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F1/3287. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 12 2023 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).