Thermally-aware throttling in a three-dimensional processor stack

US9658663B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9658663-B2
Application numberUS-201514862044-A
CountryUS
Kind codeB2
Filing dateSep 22, 2015
Priority dateSep 22, 2015
Publication dateMay 23, 2017
Grant dateMay 23, 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 three-dimensional (3-D) processor stack includes a plurality of processor cores implemented in a plurality of layers. A controller is to selectively throttle one or more of a plurality of processor cores in response to detecting a thermal event. The controller selectively throttles the one or more of the plurality of processor cores based on values of thermal couplings between the plurality of layers and based on measures of criticality of threads executing on the plurality of processor cores.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: generating values of thermal couplings between a plurality of layers of a three-dimensional processor stack that includes a plurality of processor cores, wherein at least one of the plurality of processor cores is implemented in each of the plurality of layers, and wherein the values of the thermal couplings indicate temperature changes in each of the plurality of layers as a function of temperature changes in each of the other layers; and in response to a thermal event in one of the plurality of layers, selectively throttling at least one of the plurality of processor cores implemented in the plurality of layers based on the values of the thermal couplings and measures of criticality of threads executing on the plurality of processor cores. 2. The method of claim 1 , wherein selectively throttling the at least one of the plurality of processor cores comprises selectively throttling the at least one of the plurality of processor cores based on latencies between temperature changes in the plurality of layers. 3. The method of claim 1 , further comprising: detecting the thermal event at a first processor core implemented in a first layer; and determining whether a first thread executing on the first processor core is a critical thread based on a measure of criticality of the first thread. 4. The method of claim 3 , wherein determining whether the first thread is a critical thread comprises determining whether the first thread is a critical thread based on at least one of a criticality indicator provided by an operating system and a value of a hardware event counter associated with the first thread. 5. The method of claim 1 , wherein generating the values of the thermal couplings further comprises: iteratively executing a predetermined code on the plurality of processor cores in each of the plurality of layers; and measuring temperatures in each of the plurality of layers in response to executing the predetermined code on the plurality of processor cores in each of the plurality of layers; and determining the values of the thermal couplings between the plurality of layers based on the measured temperatures. 6. The method of claim 5 , wherein determining the values of the thermal couplings comprises determining values of latencies between temperature changes in each of the plurality of processor cores in each of the plurality of layers. 7. A method comprising: generating values of thermal couplings between a plurality of layers of a three-dimensional processor stack; detecting a thermal event at a first processor core implemented in a first layer; and determining whether a first thread executing on the first processor core is a critical thread based on a measure of criticality of the first thread; and in response to the thermal event in one of the plurality of layers, selectively throttling at least one of a plurality of processor cores implemented in the plurality of layers based on the values of the thermal couplings and measures of criticality of threads executing on the plurality of processor cores, wherein selectively throttling the at least one of the plurality of processor cores comprises selectively throttling at least one second processor core implemented in a second layer in response to the first thread being a critical thread and a second thread executing on the second processor core not being a critical thread. 8. The method of claim 7 , wherein selectively throttling the at least one second processor core comprises selectively throttling the at least one second processor core based on a thermal coupling between the first layer and the second layer. 9. The method of claim 7 , further comprising: determining whether the thermal event is resolved by throttling the at least one second processor core; and throttling at least one other processor core in response to determining that the thermal event has not been resolved. 10. An apparatus comprising: a three-dimensional processor stack comprising a plurality of processor cores implemented in a plurality of layers, wherein at least one of the plurality of processor cores is implemented in each of the plurality of layers; and a controller to: generate values of thermal couplings between the plurality of layers based on temperatures measured in the plurality of layers, wherein the values of the thermal couplings indicate temperature changes in each of the plurality of layers as a function of temperature changes in each of the other layers; and selectively throttle at least one of the plurality of processor cores in response to detecting a thermal event, wherein the controller is to selectively throttle the at least one of a plurality of processor cores based on values of thermal couplings between the plurality of layers and based on measures of criticality of threads executing on the plurality of processor cores. 11. The apparatus of claim 10 , wherein the controller is to selectively throttle the at least one of the plurality of processor cores based on latencies between temperature changes in the plurality of layers. 12. The apparatus of claim 10 , wherein the controller is to detect the thermal event at a first processor core implemented in a first layer and determine whether a first thread executing on the first processor core is a critical thread based on a measure of criticality of the first thread. 13. The apparatus of claim 12 , wherein the controller is to determine whether the first thread is a critical thread based on at least one of a criticality indicator provided by an operating system and a value of a hardware event counter associated with the first thread. 14. The apparatus of claim 10 , wherein the plurality of processor cores in each of the plurality of layers are to iteratively execute a predetermined code, and wherein the apparatus further comprises: a plurality of sensors to measure temperatures in each of the plurality of layers in response to executing the predetermined code on the plurality of processor cores in each of the plurality of layers, and wherein the controller is to generate the values of the thermal couplings between the plurality of layers based on the measured temperatures. 15. The apparatus of claim 14 , wherein the controller is to determine values of latencies between temperature changes in each of the plurality of processor cores in each of the plurality of layers. 16. An apparatus comprising: a three-dimensional processor stack comprising a plurality of processor cores implemented in a plurality of layers; and a controller to: generate values of thermal couplings between the plurality of layers based on temperatures measured in the plurality of layers; detect a thermal event at a first processor core implemented in a first layer; determine whether a first thread executing on the first processor core is a critical thread based on a measure of criticality of the first thread; and selectively throttle at least one of the plurality of processor cores in response to detecting the thermal event, wherein the controller is to selectively throttle the at least one of a plurality of processor cores based on values of thermal couplings between the plurality of layers and based on measures of criticality of threads executing on the plurality of processor cores, wherein the controller is to selectively throttle at least one second processor core implemented in a second layer in response to the first thread being a critical thread and a second thread executing on the second processor core not being a critical thread. 17. The appar

Assignees

Inventors

Classifications

  • Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations (thermal management in cooling arrangements of a computing system G06F1/206) · CPC title

  • Monitoring of events, devices or parameters that trigger a change in power modality · CPC title

  • Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • G06F1/206Primary

    comprising thermal management · CPC title

  • by lowering the supply or operating voltage · 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 US9658663B2 cover?
A three-dimensional (3-D) processor stack includes a plurality of processor cores implemented in a plurality of layers. A controller is to selectively throttle one or more of a plurality of processor cores in response to detecting a thermal event. The controller selectively throttles the one or more of the plurality of processor cores based on values of thermal couplings between the plurality o…
Who is the assignee on this patent?
Advanced Micro Devices Inc
What technology area does this patent fall under?
Primary CPC classification G06F1/206. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 23 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).