Runtime Optimization of Multi-core System Designs for Increased Operating Life and Maximized Performance

US2015169363A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2015169363-A1
Application numberUS-201414563333-A
CountryUS
Kind codeA1
Filing dateDec 8, 2014
Priority dateDec 18, 2013
Publication dateJun 18, 2015
Grant date

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.

Aspects include computing devices, systems, and methods for adjusting the assignment of tasks to processor cores in a multi-core processing system. In an aspect, a reliability engine may be configured to determine priorities for a selected cluster of processor cores according to various methods depending on whether the selected processor cores are inactive and/or whether the computing device is in a cold boot state. The reliability engine may be configured to determine the priorities according to a round robin scheme, a pseudorandom scheme, from stored and/or collected operation data, or from stored and/or collected built in self test data in response to various activities and boot states of the processor cores. The reliability engine may rearrange a virtual processor identification translation table according to the priorities of the equivalent processor cores.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method of assigning processing tasks to processor cores within a multi-core processor of a computing device in order to extend an operating life of the multi-core processor, comprising: selecting a plurality of processor cores; determining whether the computing device is in a cold boot state; determining a priority for each of the plurality of processor cores in response to determining that the computing device is in a cold boot state; and assigning processor requests to specific processor cores of the plurality of processor cores based on the determined priority for each of the plurality of processor cores. 2 . The method of claim 1 , wherein determining a priority for each of the plurality processor cores comprises: retrieving a previous priority for each of the plurality of processor cores from a non-volatile memory; and modifying the previous priority for each of the plurality of processor cores using a round robin scheme. 3 . The method of claim 2 , wherein modifying the previous priority for each of the plurality of processor cores using a round robin scheme comprises shifting the previous priority for each of the plurality of processor cores by an amount such that that the determined priority for each of the plurality of processor cores is different from the previously stored priority for each of the plurality of processor cores. 4 . The method of claim 1 , wherein determining a priority for each of the plurality of processor cores comprises assigning a priority to each of the plurality of processor cores using a pseudorandom scheme. 5 . The method of claim 4 , wherein assigning a priority to each of the plurality of processor cores using a pseudorandom scheme comprises selecting a priority for each of the plurality of processor cores from a set of priorities such that each of the plurality of processor cores is assigned a different priority. 6 . The method of claim 1 , further comprising: determining whether each of the plurality of processor cores is inactive, wherein determining a priority for each of the plurality of processor cores in response to determining that the computing device is in a cold boot state comprises determining a priority for each of the plurality of processor cores in response to determining that the computing device is in a cold boot state and that each of the plurality of processor cores is inactive; and storing the determined priority for each of the plurality of processor cores in a non-volatile memory. 7 . The method of claim 6 , further comprising: in response to determining that at least one of the plurality of processor cores is active: obtaining information relevant to wear out regarding each of the processor cores within the multi-core processor by measuring one or more of a temperature, cumulative usage, and a current leakage of the processor cores under normal operations; and determining a priority for each of the processor cores based on the obtained information relevant to wear out; and in response to determining that each of the plurality of processor cores are inactive and that that the computing device is not in a cold boot state: providing a test workload to each of the processor cores; collecting test data by measuring one or more of thermal output and current leakage of the processor cores under the test workload individually or for groups of the processor cores in response to providing the test workload; retrieving historical operating time for each of the processor cores; and determining a priority for each of the processor cores based on the collected test data and historical operating time. 8 . The method of claim 1 , further comprising: detecting degradation of performance or lifetime of each of the plurality of processor cores; determining whether any processor core detected to have degraded performance or lifetime has failed or is inefficient; assigning any processor core determined to be inefficient a priority that will not be executed; removing any processor core determined to have failed from a pool from which processor cores are selected; and updating the priority of any processor core detected to have degraded performance or lifetime. 9 . A computing device, comprising a multi-core processor having multiple processor cores, wherein the multi-core processor is configured with processor-executable instructions to perform operations comprising: selecting a plurality of processor cores; determining whether the computing device is in a cold boot state; determining a priority for each of the plurality of processor cores in response to determining that the computing device is in a cold boot state; and assigning processor requests to specific processor cores of the plurality of processor cores based on the determined priority for each of the plurality of processor cores. 10 . The computing device of claim 9 , wherein the multi-core processor is configured with processor-executable instructions to perform operations such that determining a priority for each of the plurality processor cores comprises: retrieving a previous priority for each of the plurality of processor cores from a non-volatile memory; and modifying the previous priority for each of the plurality of processor cores using a round robin scheme. 11 . The computing device of claim 10 , wherein the multi-core processor is configured with processor-executable instructions to perform operations such that modifying the previous priority for each of the plurality of processor cores using a round robin scheme comprises shifting the previous priority for each of the plurality of processor cores by an amount such that that the determined priority for each of the plurality of processor cores is different from the previously stored priority for each of the plurality of processor cores. 12 . The computing device of claim 9 , wherein the multi-core processor is configured with processor-executable instructions to perform operations such that determining a priority for each of the plurality of processor cores comprises assigning a priority to each of the plurality of processor cores using a pseudorandom scheme. 13 . The computing device of claim 12 , wherein the multi-core processor is configured with processor-executable instructions to perform operations such that assigning a priority to each of the plurality of processor cores using a pseudorandom scheme comprises selecting a priority for each of the plurality of processor cores from a set of priorities such that each of the plurality of processor cores is assigned a different priority. 14 . The computing device of claim 9 , wherein the multi-core processor is configured with processor-executable instructions to perform operations further comprising: determining whether each of the plurality of processor cores is inactive, wherein determining a priority for each of the plurality of processor cores in response to determining that the computing device is in a cold boot state comprises determining a priority for each of the plurality of processor cores in response to determining that the computing device is in a cold boot state and that each of the plurality of processor cores is inactive; and storing the determined priority for each of the plurality of processor cores in a non-volatile memory. 15 . The computing device of claim 14 , wherein the multi-core processor is configured with processor-executable instructions to perform operations further comprising: in response to determining that at least one of the plurality of processor cores is active: obtaining information

Assignees

Inventors

Classifications

  • Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • G06F9/4818Primary

    Priority circuits therefor · CPC title

  • G06F9/4893Primary

    taking into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206) · CPC title

  • Energy efficient computing, e.g. low power processors, power management or thermal management · 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 US2015169363A1 cover?
Aspects include computing devices, systems, and methods for adjusting the assignment of tasks to processor cores in a multi-core processing system. In an aspect, a reliability engine may be configured to determine priorities for a selected cluster of processor cores according to various methods depending on whether the selected processor cores are inactive and/or whether the computing device is…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/4818. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 18 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).