IP Library Granted Patent US 10,289,185
Granted Patent B2
US 10,289,185 · App. 15/657,964 · Granted May 14, 2019

Apparatus and method for efficient estimation of the energy dissipation of processor based systems

Inventor: Kanad Ghose (Vestal, NY)
Assignee: The Research Foundation for the State University of New York
G06F1/3209G05D23/19G06F1/20G06F1/206G06F1/3203G06F1/3206G06F9/4893G06F9/5094G06F13/409H04L29/06H04L29/08072H05K7/20836Y02D10/151Y02D10/16Y02D10/24
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 10,289,185
App. No.
15/657,964
Granted
May 14, 2019
Kind
B2
Abstract

A system and method of scheduling tasks, comprising receiving activity and performance data from registers or storage locations maintained by hardware and an operating system; storing calibration coefficients associated with the activity and performance data; computing an energy dissipation rate based on at least the activity and performance data; and scheduling tasks under the operating system based on the computed energy dissipation rate.

Claims (43)

1. A load distribution device for servers, comprising:

a network communication port configured to receive a series of processing tasks;

an input configured to receive sensed information for at least two different servers, selected from the group consisting of environmental information, current computing load, and a performance metric;

at least two queues of processing tasks, corresponding to each respective server of the at least two different servers; and

at least one automated processor configured to:

analyze a received respective processing task, to determine characteristics of the respective processing task;

analyze the at least two queues of processing tasks, with respect to at least an anticipated incremental change in a server state of the respective server as a result of adding the processing task;

select a respective queue for assignment of the respective processing task, dependent on at least the characteristics of respective processing task, the sensed information of the at least two different servers, and the analysis of the at least two queues.

2. The load distribution device according to claim 1 , wherein the at least one automated processor is further configured to reallocate at least one processing task from a respective queue for a first server to a respective queue for a second server.

3. The load distribution device according to claim 1 , wherein the at least one automated processor is configured to determine at least one of the current computing load, and the performance metric based on at least received data representing an operating system maintained activity counter from each respective server.

4. The load distribution device according to claim 1 , wherein the at least one automated processor is configured to determine at least one of the current computing load, and the performance metric based on at least received data representing a hardware instrumentation counter from each respective server.

5. The load distribution device according to claim 1 , wherein the sensed information comprises environmental information comprising thermal information relating to each respective server.

6. The load distribution device according to claim 1 , wherein the sensed information comprises current computing load for each respective server.

7. The load distribution device according to claim 1 , wherein the sensed information comprises a performance metric for each respective server.

8. The load distribution device according to claim 1 , wherein the analysis comprises determining a predicted change in future temperature of the server associated with a respective queue as a result of adding the processing task to the respective queue.

9. A load distribution device for servers, comprising:

a network communication port configured to receive a plurality of processing tasks;

an input configured to receive sensed information for a plurality of servers, selected from the group consisting of environmental information, current computing load, and a performance metric;

a plurality of separate queues of processing tasks respectively associated with the plurality of servers; and

at least one automated processor configured to:

analyze characteristics of a processing task;

analyze an anticipated change in a server state associated with a respective queue as a result of adding or removing the processing task;

select a respective queue for adding or removing the processing task, dependent on at least:

the analyzed characteristics of respective processing task,

the sensed information for the plurality of servers, and

the analysis of anticipated change.

10. The load distribution device according to claim 9 , wherein the at least one automated processor is further configured to reallocate the processing task from a respective queue for a first server to a respective queue for a second server.

11. The load distribution device according to claim 9 , wherein the at least one automated processor is configured to receive data representing an operating system maintained activity counter from each respective server.

12. The load distribution device according to claim 9 , wherein the at least one automated processor is configured to receive data representing a hardware instrumentation counter from each respective server.

13. The load distribution device according to claim 9 , wherein the sensed information comprises thermal information relating to a respective server.

14. The load distribution device according to claim 9 , wherein the sensed information indicates a performance metric for each respective server.

15. The load distribution device according to claim 9 , wherein the analysis comprises predicting a future temperature of a server dependent on the sensed information and the plurality of queues.

16. The load distribution device according to claim 9 , wherein the at least one processor is further configured to control a cooling of at least one server based on at least the sensed information and the processing tasks in a queue associated with the at least one server.

17. The load distribution device according to claim 9 , wherein the at least one processor is further configured to update a thermal model of each server.

18. The load distribution device according to claim 9 , wherein the at least one processor is further configured to select the respective queue for adding or removing a respective processing task based on a calculation of energy efficiency.

19. The load distribution device according to claim 9 , wherein the at least one processor is further configured to control at least one of activation, deactivation and migration of a virtual machine.

20. A method of distributing a load or processing tasks between a plurality of servers, comprising:

receiving a plurality of processing tasks through a network communication port;

receiving sensed information for a plurality of servers, selected from the group consisting of environmental information, current computing load, and a performance metric;

providing a plurality of separate queues of processing tasks respectively associated with the plurality of servers;

analyzing characteristics of a processing task with at least one automated processor;

analyzing an anticipated change in a server state associated with a respective queue as a result of adding or removing the processing task with the at least one automated processor;

selecting a respective queue for adding or removing the processing task, with the at least one automated processor, dependent on at least the analyzed characteristics of respective processing task, the sensed information for the plurality of servers, and the analysis of anticipated change.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2017
From: GHOSE, KANAD
To: THE RESEARCH FOUNDATION FOR THE STATE UNIVERSITY OF NEW YORK
Reel/Frame 043081/0779 →
Continuity (6)
Continuation 15193901 · Jun 27, 2016
Continuation 14663602 · Mar 20, 2015
Continuation 13792546 · Mar 11, 2013
Continuation 12841154 · Jul 21, 2010
Provisional Application 61227361 · Jul 21, 2009
Related Publication 20170329384A1 · Nov 16, 2017