IP Library Granted Patent US 7,596,430
Granted Patent B2
US 7,596,430 · App. 11/381,391 · Granted Sep 29, 2009

Selection of processor cores for optimal thermal performance

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,596,430
App. No.
11/381,391
Granted
Sep 29, 2009
Kind
B2
Abstract

A computer implemented method, data processing system, computer usable code, and apparatus are provided for optimizing the thermal performance of a computer system. A set of processor cores associated with the computer system are identified. A thermal index is requested for each of the set of processor cores and the processor cores are ranked based on the thermal index. Software is then mapped to execute on an optimal processor core form the set of processor cores based on the ranking.

Claims (58)

1. A computer implemented method for optimizing thermal performance of a computer system, when the system is executing a program having instructions, the computer implemented method comprising executing instructions to:

identify a set of processor cores associated with the computer system;

request a thermal index for each of the set of processor cores to form a set of thermal indexes;

rank the processor cores based on the set of thermal indexes, wherein a given one of the thermal indexes is derived by estimating the cycles-per-instruction of at least one of said instructions, and said given one of the thermal indexes comprises a value that is proportional to the inverse of the estimated cycles-per-instruction; and

map software to execute on an optimal processor core selected from the set of processor cores, wherein said core selection is based exclusively on the thermal index ranking.

2. The computer implemented method of claim 1 , further comprising:

storing the ranking in a data structure.

3. The computer implemented method of claim 1 , wherein the ranking is an optimal thermal performance ranking of the set of processor cores.

4. The computer implemented method of claim 1 , wherein the thermal index is a thermal efficiency for each of the processor cores in the set of processor cores.

5. The computer implemented method of claim 1 , further comprising:

modifying an instruction stream of the software.

6. The computer implemented method of claim 1 , further comprising:

reducing bandwidth allocation.

7. The computer implemented method of claim 1 , wherein the thermal index is generated by a compiler.

8. The computer implemented method of claim 1 , wherein the thermal index is a single number.

9. A data processing system comprising:

a bus system;

a communications system connected to the bus system;

a memory connected to the bus system, wherein the memory includes a set of instructions; and

a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to identify a set of processor cores associated with the computer system; request a thermal index for each of the set of processor cores to form a set of thermal indexes; rank the processor cores based on the set of thermal indexes, wherein a given one of the thermal indexes is derived by estimating the cycles-per-instruction of at least one of said instructions, and said given one of thermal indexes comprises a value that is proportional to the inverse of the estimated cycles-per-instruction; and map software to execute on an optimal processor core selected from the set of processor cores, wherein said core selection is based exclusively on the thermal index ranking.

10. The data processing system of claim 9 , wherein the processing unit executes the set of instructions to store the ranking in a data structure.

11. The data processing system of claim 9 , wherein the ranking is an optimal thermal performance ranking of the set of processor cores.

12. The data processing system of claim 9 , wherein the thermal index is a thermal efficiency for each of the processor cores in the set of processor cores.

13. The data processing system of claim 9 , wherein the processing unit executes the set of instructions to modify an instruction stream of the software.

14. The data processing system of claim 9 , wherein the processing unit executes the set of instructions to reduce bandwidth allocation.

15. The data processing system of claim 9 , wherein the thermal index is generated by a compiler.

16. The data processing system of claim 9 , wherein the thermal index is a single number.

17. A computer program product comprising:

a computer storage medium storing computer usable program code for optimizing thermal performance of a computer system, when the system is executing a program having instructions, the computer program product including:

computer usable program code for identifying a set of processor cores associated with the computer system;

computer usable program code for requesting a thermal index for each of the set of processor cores to form a set of thermal indexes;

computer usable program code for ranking the processor cores based on the set of thermal indexes, wherein a given one of the thermal indexes is derived by estimating the cycles-per-instruction of at least one of said instructions, and said given one of the thermal indexes comprises a value that is proportional to the inverse of the estimated cycles-per-instruction; and

computer usable program code for mapping software to execute on an optimal processor core selected from the set of processor cores, wherein said core selection is based exclusively on the thermal index ranking.

18. The computer program product of claim 17 , further including:

computer usable program code for storing the ranking in a data structure.

19. The computer program product of claim 17 , wherein the ranking is an optimal thermal performance ranking of the set of processor cores.

20. The computer program product of claim 17 , wherein the thermal index is a thermal efficiency for each of the processor cores in the set of processor cores.

21. The computer program product of claim 17 , further including:

computer usable program code for modifying an instruction stream of the software.

22. The computer program product of claim 17 , further including:

computer usable program code for reducing bandwidth allocation.

23. The computer program product of claim 17 , wherein the thermal index is generated by a compiler.

24. The computer program product of claim 17 , wherein the thermal index is a single number.

25. An apparatus for optimizing thermal performance of a computer system, when the system is executing a program having instructions, the apparatus comprising:

identifying means for identifying a set of processor cores associated with the computer system;

requesting means for requesting a thermal index for each of the set of processor cores to form a set of thermal indexes;

ranking means for ranking the processor cores based on the set of thermal indexes, wherein a given one of the thermal indexes is derived by estimating the cycles-per-instruction of at least one of said instructions, and said given one of the thermal indexes comprises a value that is proportional to the inverse of the estimated cycles-per-instruction; and

mapping means for mapping software to execute on an optimal processor core selected from the set of processor cores, wherein said core selection is based exclusively on the thermal index ranking.

26. The apparatus of claim 25 , further comprising:

storing means for storing the ranking in a data structure.

27. The apparatus of claim 25 , wherein the ranking is an optimal thermal performance ranking of the set of processor cores.

28. The apparatus of claim 25 , wherein the thermal index is a thermal efficiency for each of the processor cores in the set of processor cores.

29. The apparatus of claim 25 , further comprising:

modifying means for modifying an instruction stream of the software.

30. The apparatus of claim 25 , further comprising:

reducing means for reducing bandwidth allocation.

31. The apparatus of claim 25 , wherein the thermal index is generated by a compiler.

32. The apparatus of claim 25 , wherein the thermal index is a single number.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2019
From: GLOBALFOUNDRIES U.S. INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051070/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2019
From: GLOBALFOUNDRIES INC.
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 050122/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC
Reel/Frame 036550/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2006
From: AGUILAR, JR., MAXIMINO; JOHNS, CHARLES R.; NUTTER, MARK R.; STAFFORD, JAMES M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 017763/0522 →