IP Library Granted Patent US 8,402,292
Granted Patent B2
US 8,402,292 · App. 12/580,546 · Granted Mar 19, 2013

Method and apparatus to maximize power of a computer system for effective testing

Inventors: Alok Parikh (Mumbai, IN); Amandeep Singh (Fremont, CA)
Assignee: Oracle America, Inc.
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 8,402,292
App. No.
12/580,546
Granted
Mar 19, 2013
Kind
B2
Abstract

Implementations of the present invention may involve methods and systems to improve the combined power consumption and thermal response of individual components of a computer system as the components are stressed concurrently during simulation or testing of the system. A group of operating system-level instruction sets for several individual components of the computer system may be designed to stress the components and executed concurrently while power and thermal measurements are taken. The instruction sets may utilize one or more software threads of the computer system or hardware threads such that minimal interference between components occurs as the system is tested. Further, the system components may be partitioned between separate instruction sets. By minimizing the interference between the components while the system is operating, a more accurate power consumption and thermal effect measurements may be taken on the computer system to better approximate the performance of the system.

Claims (63)

1. A method for testing power consumption and thermal response of a computer system comprising:

analyzing a computer system architecture to identify one or more components of the computer system that contribute to the overall power consumption of the system;

creating one or more instruction sets from operating system-level instructions, the one or more instruction sets designed to stress the identified one or more components of the computer system;

altering the one or more instruction sets to target particular resources of the computer system such that access interference between the instruction sets is reduced; and

executing the instruction sets on the computer system during a power consumption and thermal response test.

2. The method of claim 1 further comprising:

prioritizing the identified one or more components based on the amount of power consumption the one or more components consume.

3. The method of claim 1 further comprising:

analyzing the computer system architecture to identify the number of hardware threads present on the computer system; and

assigning the one or more instruction sets to the identified hardware threads.

4. The method of claim 3 further comprising:

analyzing the one or more instruction sets to determine the one or more components of the computer system accessed by each of the instruction sets; and

reassigning the one or more instruction sets to the identified hardware threads if it is determined that each of the one or more identified components are not accessed by the instruction sets.

5. The method of claim 1 wherein the altering operation comprises:

analyzing the computer system architecture to identify a trail of resources accessed by each of the one or more instruction sets during execution; and

partitioning the identified resources to the instruction sets based on the trail of resources that are accessed by each of the one or more instruction sets.

6. The method of claim 5 wherein the partitioning operation further comprises:

analyzing the computer system architecture to determine the size of available memory in the computer system;

dividing the memory into address range groups based on the number of the one or more instruction sets; and

assigning the address range groups to the one or more instruction sets.

7. The method of claim 6 wherein the assigning operation comprises altering the operating system-level instructions of the one or more instruction sets to only access the address range group assigned to the particular instruction set.

8. The method of claim 1 wherein the operating system-level instructions are maintained as a list of available instructions for stressing the one or more components of the computer system.

9. The method of claim 1 further comprising:

measuring the power consumption and thermal response of the one or more components during the test.

10. A system for performing a power consumption test of a computer system comprising:

at least one processor; and

a machine-readable storage medium, the machine-readable storage medium storing a computer-executable code that, when executed by the processor, causes the system to perform the operations of:

analyzing a computer system architecture to identify one or more components of the computer system that contribute to the overall power consumption of the system;

creating one or more instruction sets from operating system-level instructions, the one or more instruction sets designed to stress the identified one or more components of the computer system;

altering the one or more instruction sets to target particular resources of the computer system such that access interference between the instruction sets is reduced; and

executing the instruction sets on the computer system during a power consumption and thermal response test.

11. The system of claim 10 , wherein the computer-executable code further causes the processor to further perform the operation of:

prioritizing the identified one or more components based on a prioritization criteria provided by a test administrator.

12. The system of claim 10 , wherein the computer-executable code further causes the processor to perform the operation of:

analyzing the one or more instruction sets to determine the one or more components of the computer system accessed by each of the instruction sets; and

reassigning the one or more instruction sets to the identified hardware threads if it is determined that each of the one or more identified components are not accessed by the instruction sets.

13. The system of claim 12 , wherein the computer-executable code further causes the processor to perform the operation of:

analyzing the computer system architecture to identify a trail of resources accessed by each of the one or more instruction sets during execution; and

partitioning the identified resources to the instruction sets based on the trail of resources that are accessed by each of the one or more instruction sets.

14. The system of claim 13 , wherein the computer-executable code further causes the processor to perform the operation of:

analyzing the computer system architecture to determine the size of available memory in the computer system;

dividing the memory into address range groups based on the number of the one or more instruction sets; and

assigning the address range groups to the one or more instruction sets.

15. The system of claim 10 , wherein the computer-executable code further causes the processor to perform the operation of:

measuring the power consumption of the one or more components during the power consumption test.

16. A computer-implemented method for testing a computer system comprising:

receiving a computer system design, the computer system including a plurality of processing threads;

identifying one or more components of the computer system that contribute to the overall power consumption of the computer system;

prioritizing the identified one or more components based on the amount of power consumption the one or more components consume;

creating one or more instruction sets from operating system-level instructions, the one or more instruction sets designed to stress the identified one or more components of the computer system;

altering the one or more instruction sets to target particular resources of the computer system such that access interference between the instruction sets is reduced;

assigning the one or more instruction sets to execute on the plurality of threads; and

executing the instruction sets on the plurality of threads.

17. The computer-implemented method of claim 16 wherein the altering operation comprises:

analyzing the computer system architecture to identify a trail of resources accessed by each of the one or more instruction sets during execution; and

partitioning the identified resources to the instruction sets based on the trail of resources that are accessed by each of the one or more instruction sets.

18. The computer-implemented method of claim 17 wherein the partitioning operation further comprises:

analyzing the computer system architecture to determine the size of available memory in the computer system;

dividing the memory into address range groups based on the number of the one or more instruction sets; and

assigning the address range groups to the one or more instruction sets.

19. The computer-implemented method of claim 18 wherein the assigning operation comprises altering the operating system-level instructions of the one or more instruction sets to only access the address range group assigned to the particular instruction set.

20. The computer-implemented method of claim 16 further comprising:

instructing a test control unit to measure the power consumption and thermal response of the one or more components while the instruction sets are executed on the plurality of threads.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0195 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2009
From: PARIKH, ALOK; SINGH, AMANDEEP
To: SUN MICROSYSTEMS, INC.
Reel/Frame 023383/0701 →
Continuity (1)
Related Publication 20110093731A1 · Apr 21, 2011