IP Library Granted Patent US 11,429,177
Granted Patent B2
US 11,429,177 · App. 17/093,087 · Granted Aug 30, 2022

Energy-efficient global scheduler and scheduling method for managing a plurality of racks

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/409G06K19/0723G06K19/07705G06K19/07722H04L29/06H04L29/08072H04L69/329H05K7/20836Y02D10/00
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 11,429,177
App. No.
17/093,087
Granted
Aug 30, 2022
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 (39)

1. A global scheduler for managing a plurality of racks, each rack having a plurality of servers, the racks having a status selected from an active status available to process workload, and an inactive status unavailable to process workload, wherein racks having the inactive status having non-zero power consumption, comprising:

an input port configured to receive a series of tasks comprising a workload, the tasks having differentiated quality of service constraints;

at least one processor configured to:

control the status of the racks;

perform thermal analysis of each server, depending on sensor data, a thermal model of each server, and the tasks allocated to each server;

assign tasks to respective servers, dependent on the status of respective racks, the thermal analysis, and a queue of incoming tasks;

optimize a power efficiency comprising power consumed by the plurality of racks, and energy consumed by a cooling system for the racks, to maximize the workload allocated to servers in active racks, while meeting the quality of service constraints of the tasks; and

proactively control the cooling system selectively dependent on a predicted future thermal state of a server, dependent on the assigned tasks, and subject to the optimized power efficiency.

2. The global scheduler according to claim 1 , wherein the at least one processor is further configured to extrapolate a thermal output of each respective server and to revise an energy budget and cooling requirement for the respective server based on updates to tasks assigned to the respective server.

3. The global scheduler according to claim 1 , wherein the at least one processor is further configured to schedule tasks based on determined energy requirement characteristics of a classified type of task and to apply a heuristic for an unclassified type of task.

4. The global scheduler according to claim 1 , wherein the at least one processor is further configured to track a size of the queue of incoming tasks, and to assign the tasks dependent on the size of the queue of incoming tasks.

5. The global scheduler according to claim 1 , wherein the at least one processor is further configured to change a status of a server between the active status and the inactive status and to redirect a cooling system activity, dependent on a workload trend.

6. The global scheduler according to claim 1 , wherein the at least one processor is further configured to optimize the power efficiency dependent on at least an energy expended in migrating virtual machines and changing an activation status of respective servers.

7. The global scheduler according to claim 1 , wherein the at least one processor is further configured to provide a first scheduling priority to concentrate heat dissipation in selected racks, and a second scheduling priority to avoid hot spots in a server room housing the plurality of racks.

8. The global scheduler according to claim 4 , wherein the at least one processor is further configured to track a task dispatch rate, and to further assign the tasks dependent on the size of the queue of incoming tasks.

9. The global scheduler according to claim 3 , wherein the at least one processor is further configured to determine an average classified task completion rate and an average classified task energy requirement, and to optimize the allocation of tasks dependent on at least the determined average classified task completion rate and the average classified task energy requirement.

10. A global scheduling method for managing a plurality of racks, each rack having a plurality of servers, the racks having a status selected from an active status available to process workload, and an inactive status unavailable to process workload, wherein racks having the inactive status having non-zero power consumption, comprising:

receiving a series of tasks comprising a workload, the tasks having differentiated quality of service constraints;

controlling the status of the racks;

performing a thermal analysis of each server, depending on sensor data, a thermal model of each server, and the tasks allocated to each server;

assigning tasks to respective servers, dependent on the status of respective racks, the thermal analysis, and a queue of incoming tasks;

optimizing a power efficiency comprising power consumed by the plurality of racks, and energy consumed by a cooling system for the racks, to maximize the workload allocated to servers in active racks, while meeting the quality of service constraints of the tasks; and

proactively controlling the cooling system selectively dependent on a predicted future thermal state of a server, and the assigned tasks, subject to the optimized power efficiency.

11. The method according to claim 10 , wherein the at least one processor is further configured to extrapolate a thermal output of each respective server and to revise an energy budget and cooling requirement for the respective server based on updates to tasks assigned to the respective server.

12. The method according to claim 10 , further comprising determining energy requirements for the series of tasks by determining energy requirement characteristics of a classified type of task; predicting energy requirement characteristics by application of a heuristic for an unclassified type of task, and scheduling tasks based on the determined energy requirements.

13. The method according to claim 10 , further comprising tracking a task dispatch rate and a size of the queue of incoming tasks, and assigning the tasks dependent on the dispatch rate and the size of the queue of incoming tasks.

14. The method according to claim 10 , further comprising changing a status of a server between the active status and the inactive status and to redirect a cooling system activity, dependent on a workload trend.

15. The method according to claim 10 , further comprising optimizing the power efficiency dependent on at least an energy expended in migrating virtual machines and changing an activation status of respective servers.

16. The method according to claim 10 , further comprising providing a first scheduling priority to concentrate heat dissipation in selected racks, and a second scheduling priority to avoid hot spots in a server room housing the plurality of racks.

17. The global scheduler according to claim 12 , further comprising determining an average classified task completion rate and an average classified task energy requirement, and optimizing the allocation of tasks dependent on the determined average classified task completion rate and average classified task energy requirement.

18. A task scheduling method, comprising:

receiving a stream of processing tasks;

maintaining a least one queue of tasks for each of a plurality of respective servers configured to process the stream of processing tasks;

determining predicted future thermal states for each respective server, dependent on an environment of each respective server environment and the at least one queue of tasks for each of the plurality of respective servers;

reallocating at least one task between respective queues of tasks dependent on the respective predicted future thermal states, and updating the predicted future thermal states dependent on the reallocation; and

tracking a task dispatch rate and a size of the at least one queue of tasks, and assigning the tasks to respective queues dependent on the dispatch rate and the size of the queue of tasks;

wherein the allocating is selectively dependent on a predicted energy efficiency of the plurality of respective servers and the cooling system for the plurality of respective servers, a thermal limit criterion, and a quality of service criterion.

19. The task scheduling method according to claim 18 , further comprising proactively controlling the cooling system dependent on the predicted future thermal states.

20. The method according to claim 18 , wherein the predicted future thermal states are determined dependent on predicted energy requirements for each task in the at least one queue of tasks dependent on characteristics of each respective task, and the reallocating is selectively dependent on a predicted change in the predicted future thermal state of a respective server by processing the respective task.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2020
From: GHOSE, KANAD, DR.
To: THE RESEARCH FOUNDATION FOR THE STATE UNIVERSITY OF NEW YORK
Reel/Frame 054316/0295 →
Continuity (8)
Continuation 16410542 · May 13, 2019
Continuation 15657964 · Jul 24, 2017
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 20210081020A1 · Mar 18, 2021