IP Library Granted Patent US 8,700,929
Granted Patent B1
US 8,700,929 · App. 12/134,611 · Granted Apr 15, 2014

Load control in a data center

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,700,929
App. No.
12/134,611
Granted
Apr 15, 2014
Kind
B1
Abstract

A method of controlling power usage in a data center includes monitoring a power usage of a plurality of computers in the data center, generating a signal indicating that the power usage is within a threshold of a maximum power capacity, and in response to the signal, adjusting performance of at least one computer in the plurality of computers.

Claims (67)

1. A method of controlling power usage in a data center, comprising:

monitoring a power usage of a plurality of computers in the data center;

generating a signal indicating that the monitored power usage is within a threshold of a maximum power capacity;

in response to the signal, adjusting performance of one or more of the plurality of computers by managing a manner in which computing jobs are executed at the one or more of the plurality of computers to provide for compliance of the monitored power usage of the plurality of computers with an available power capacity for the plurality of computers,

wherein adjusting performance includes adjusting job scheduling in the plurality of computers by:

determining that a first group of the computing jobs for execution on a particular subset of the plurality of computers on an identified rack that supports the particular subset of plurality of computers has a first priority;

determining that a second group of the computing jobs for execution on the particular subset of the plurality of computers on the identified rack that supports the particular subset of plurality of computers has a second priority that is higher than the first priority; and

scheduling the second group of jobs to begin execution by the particular subset of computers on the identified rack that supports the particular subset of computers before the first subset of jobs based, at least in part, on an operating capacity of the particular subset of computers being at or near a maximum operating capacity;

based on the compliance of the monitored power usage of the plurality of computers and the adjusted performance of the one or more of the plurality of computers, deploying an additional portion of computers in the data center; and

monitoring a power usage of the plurality of computers and the additional portion of computers in the data center for compliance with the available power capacity for the plurality of computers.

2. The method of claim 1 , wherein monitoring the power usage of the plurality of computers includes measuring power drawn through a power distribution system by the plurality of computers.

3. The method of claim 1 , wherein monitoring the power usage of the plurality of computers includes monitoring the utilization of at least some of the plurality of computers and calculating power drawn by the plurality of computers from the utilization.

4. The method of claim 1 , wherein monitoring the power usage of the plurality of computers includes measuring power drawn by subsets of the plurality of computers and calculating power drawn by the plurality of computers from the power drawn by the subsets.

5. The method of claim 4 , wherein calculating power drawn by the plurality of computers includes summing the power drawn by the subsets.

6. The method of claim 1 , wherein monitoring the power usage of the plurality of computers includes determining power drawn by a rack of computers in the data center.

7. The method of claim 1 , wherein monitoring the power usage of the plurality of computers includes determining power drawn by computers connected to a common power distribution unit (PDU) of the data center.

8. The method of claim 1 , wherein monitoring the power usage of the plurality of computers includes determining power drawn by the data center.

9. The method of claim 1 , wherein adjusting performance further includes one or more of adjusting job allocation or adjusting central processing unit execution frequency.

10. The method of claim 9 , wherein adjusting performance includes adjusting job allocation in the plurality of computers.

11. The method of claim 10 , wherein adjusting job allocation further comprises allocating the jobs to a subset of the computers that have a lower power usage than remaining computers.

12. The method of claim 9 , wherein adjusting central processing unit execution frequency includes reducing central processing unit execution frequency of the plurality of computers.

13. The method of claim 1 , wherein adjusting performance further comprises lowering an execution rate of jobs that have a lower priority than remaining jobs.

14. A computer program product, tangibly embodied in a non-transitory computer-readable medium, comprising instructions to cause a processor to:

monitor a power usage of a plurality of computers in the data center;

generate a signal indicating that a power usage of the plurality of computers is within a threshold of a maximum power capacity;

in response to the signal, adjust performance of one or more of the plurality of computers by managing a manner in which computing jobs are executed at the one or more of the plurality of computers to provide for compliance of the monitored power usage of the plurality of computers with an available power capacity for the plurality of computers,

wherein the instructions to adjust performance include instructions to adjust job scheduling in the plurality of computers by:

(i) determining that a first group of the computing jobs for execution on a particular subset of the plurality of computers on an identified rack that supports the particular subset of plurality of computers have a first priority;

(ii) determining that a second group of the computing jobs for execution on the particular subset of the plurality of computers on the identified rack that supports the particular subset of plurality of computers have a second priority that is higher than the first priority; and

(iii) scheduling the second group of jobs to begin execution by the particular subset of computers on the identified rack that supports the particular subset of plurality of computers before the first subset of jobs based, at least in part, on an operating capacity of the particular subset of computers being at or near a maximum operating capacity;

based on the compliance of the monitored power usage of the plurality of computers and the adjusted performance of the one or more of the plurality of computers, determine that an additional portion of computers should be deployed in the data center; and

monitor a power usage of the plurality of computers and the additional portion of computers in the data center for compliance with the available power capacity for the plurality of computers.

15. The computer program product of claim 14 , wherein the instructions to monitor the power usage of the plurality of computers include instructions to receive a measurement of power drawn through a power distribution system by the plurality of computers.

16. The computer program product of claim 14 , wherein the instructions to monitor the power usage of the plurality of computers include instructions to receive data indicating utilization of at least some of the plurality of computers, and instructions to calculate power drawn by the plurality of computers from the utilization.

17. The computer program product of claim 14 , wherein the instructions to monitor the power usage of the plurality of computers include instructions to receive measurements of power drawn by subsets of the plurality of computers and instructions to calculate power drawn by the plurality of computers from the power drawn by the subsets.

18. The computer program product of claim 17 , wherein the instructions to calculate power drawn by the plurality of computers include instructions to sum the power drawn by the subsets.

19. The computer program product of claim 14 , wherein the instructions to monitor the power usage of the plurality of computers include instructions to determine power drawn by a rack of computers in the data center.

20. The computer program product of claim 14 , wherein the instructions to monitor the power usage of the plurality of computers include instructions to determine power drawn by computers connected to a common power distribution unit (PDU) of the data center.

21. The computer program product of claim 14 , wherein the instructions to monitor the power usage of the plurality of computers include instructions to determine power drawn by the data center.

22. The computer program product of claim 14 , wherein the instructions to adjust performance further include instructions for one or more of adjusting job allocation or adjusting central processing unit execution frequency.

23. The computer program product of claim 22 , wherein the instructions to adjust performance include instructions to adjust job allocation in the plurality of computers.

24. The computer program product of claim 22 , wherein the instructions to adjust performance include instructions to adjust central processing unit execution frequency.

25. The computer program product of claim 24 , wherein the instructions to adjust central processing unit execution frequency include instructions to reduce central processing unit execution frequency of the plurality of computers.

26. A method of controlling power usage in a data center, comprising:

monitoring a power usage of a plurality of computers in the data center;

generating a signal indicating that the monitored power usage is within a threshold of a maximum power capacity;

in response to the signal, adjusting performance of one or more of the plurality of computers by managing a manner in which computing jobs are executed at the one or more of the plurality of computers to provide for compliance of the monitored power usage of the plurality of computers with an available power capacity for the plurality of computers,

wherein adjusting performance includes adjusting job scheduling in the plurality of computers by:

determining that a first group of the computing jobs for execution on a particular subset of the plurality of computers on an identified power distribution unit (PDU) that supports the particular subset of plurality of computers has a first priority;

determining that a second group of the computing jobs for execution on the particular subset of the plurality of computers on the identified PDU that supports the particular subset of plurality of computers has a second priority that is higher than the first priority; and

scheduling the second group of jobs to begin execution by the particular subset of computers on the identified PDU that supports the particular subset of plurality of computers before the first subset of jobs based, at least in part, on an operating capacity of the particular subset of computers being at or near a maximum operating capacity;

based on the compliance of the monitored power usage of the plurality of computers and the adjusted performance of the one or more of the plurality of computers, deploying an additional portion of computers in the data center; and

monitoring a power usage of the plurality of computers and the additional portion of computers in the data center for compliance with the available power capacity for the plurality of computers.

27. The method of claim 26 , wherein adjusting performance further includes one or more of adjusting job allocation or adjusting central processing unit execution frequency.

28. The method of claim 26 , wherein monitoring the power usage of the plurality of computers includes measuring power drawn through a power distribution system by the plurality of computers.

29. A computer program product, tangibly embodied in a non-transitory computer-readable medium, comprising instructions to cause a processor to:

monitor a power usage of a plurality of computers in the data center;

generate a signal indicating that a power usage of the plurality of computers is within a threshold of a maximum power capacity;

in response to the signal, adjust performance of one or more of the plurality of computers by managing a manner in which computing jobs are executed at the one or more of the plurality of computers to provide for compliance of the monitored power usage of the plurality of computers with an available power capacity for the plurality of computers,

wherein the instructions to adjust performance include instructions to adjust job scheduling in the plurality of computers by:

(i) determining that a first group of the computing jobs for execution on a particular subset of the plurality of computers on an identified power distribution unit (PDU) that supports the particular subset of plurality of computers have a first priority;

(ii) determining that a second group of the computing jobs for execution on the particular subset of the plurality of computers on the identified PDU that supports the particular subset of plurality of computers have a second priority that is higher than the first priority; and

(iii) scheduling the second group of jobs to begin execution by the particular subset of computers on the identified PDU that supports the particular subset of plurality of computers before the first subset of jobs based, at least in part, on an operating capacity of the particular subset of computers being at or near a maximum operating capacity;

based on the compliance of the monitored power usage of the plurality of computers and the adjusted performance of the one or more of the plurality of computers, determine that an additional portion of computers should be deployed in the data center; and

monitor a power usage of the plurality of computers and the additional portion of computers in the data center for compliance with the available power capacity for the plurality of computers.

30. The computer program product of claim 29 , wherein the instructions to adjust performance further include instructions for one or more of adjusting job allocation or adjusting central processing unit execution frequency.

31. The computer program product of claim 29 , wherein the instructions to monitor the power usage of the plurality of computers include instructions to receive a measurement of power drawn through a power distribution system by the plurality of computers.

Assignments (4)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044277/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2014
From: EXAFLOP LLC
To: GOOGLE INC.
Reel/Frame 032441/0919 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2008
From: WEBER, WOLF-DIETRICH; FAN, XIAOBO; BARROSO, LUIZ ANDRE
To: EXAFLOP LLC
Reel/Frame 021644/0472 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2008
From: WEBER, WOLF-DIETRICH; FAN, XIAOBO; BARROSO, LUIZ ANDRE
To: EXAFLOP LLC
Reel/Frame 021619/0360 →