Method, system, and device for dynamic energy efficient job scheduling in a cloud computing environment

US9342376B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9342376-B2
Application numberUS-201213534324-A
CountryUS
Kind codeB2
Filing dateJun 27, 2012
Priority dateJun 27, 2012
Publication dateMay 17, 2016
Grant dateMay 17, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, system, and device for energy efficient job scheduling in a datacenter computing environment includes a master node. The master node can periodically receive energy data from slave nodes and dynamically assign computing tasks to be executed by the slave nodes based on the energy data.

First claim

Opening claim text (preview).

The invention claimed is: 1. At least one non-transitory computer accessible storage medium comprising a plurality of instructions that in response to being executed result in a computing device: periodically receiving, at a master node server computer of the datacenter computing environment, computing jobs comprising one or more unlaunched computing tasks that have a first task type; periodically receiving, at the master node server computer of a datacenter computing environment, energy data and slot availability data from each of a plurality of slave node servers, and, in response to receiving energy data and slot availability data from one of the slave node servers, determining whether the slave node server is an energy efficient node for a first type of computing task, wherein the energy data comprises performance energy data associated with a performance per unit of power metric of a slave node server and input/output energy data associated with an input/output operations per unit of power metric of the slave node server and the slot availability data is indicative of whether the slave node server has an available slot for a task of the first task type; comparing the first task type to the energy data; determining if the slave node server has an available slot for a task of the first task type by comparing the first task type to the slot availability data; assigning the first type of computing task to the slave node server in response to the task type corresponding to the enemy data and the task type corresponding to the slot availability data, wherein the task type is indicative of whether the unlaunched computing task is a computation-intensive task or an input/output-intensive task and the slot availability data is indicative of whether the slave node sever has an available slot for a task of the task type; and processing, by the slave node server, the unlaunched computing task, assigned by the master node server computer, wherein the computing task is launched. 2. The at least one non-transitory computer accessible storage medium of claim 1 , comprising, in response to determining that the slave node server is an energy efficient node for the first type of computing task, determining a number of unlaunched computing tasks of the first type to assign to the slave node server based on the availability data for the slave node server. 3. The at least one non-transitory computer accessible storage medium of claim 2 , comprising assigning the determined number of unlaunched tasks of the first type to the slave node server according to locality data associated with each of the determined number of unlaunched tasks of the first type. 4. The at least one non-transitory computer accessible storage medium of claim 3 , comprising, in response to determining that the slave node server is not an energy efficient node for the first type of computing task, determining whether the slave node server is an energy efficient node for a second type of computing task. 5. The at least one non-transitory computer accessible storage medium of claim 4 , comprising, in response to determining that the slave node server is an energy efficient node for the second type of computing task, determining a number of unlaunched tasks of the second type to assign to the slave node server based on the availability data for the slave node server; and assigning the determined number of unlaunched tasks of the second type to the slave node server. 6. The at least one non-transitory computer accessible storage medium of claim 3 , comprising repeating the determining whether the slave node server is an energy efficient node for a first type of computing task and assigning the determined number of unlaunched tasks of the first type to the slave node server until it is determined that the slave node server is no longer an energy efficient node for the first type of computing task. 7. A method for scheduling a plurality of unlaunched computing tasks to be executed by one or more slave node server computers in a datacenter computing environment, the method comprising: periodically receiving, at a master node server computer of the datacenter computing environment, computing jobs comprising one or more unlaunched computing tasks that have a first task type; periodically receiving, at the master node server computer of the datacenter computing environment, energy data and slot availability data from each of the slave node servers, wherein the energy data comprises performance energy data associated with a performance per unit of power metric of the slave node server and input/output energy data associated with an input/output operations per unit of power metric of the slave node server, and the slot availability data is indicative of whether the slave node server has an available slot for a task of the first task type and wherein, in response to receiving energy and slot availability data from one of the slave node servers, determining whether the slave node server is an energy efficient node for the first type of computing task by: (i) comparing the first task type to the energy data, (ii) determining if the slave node server has an available slot for a task of the first task type by comparing the first task type to the availability data, (iii) assigning the first type of computing task to the slave node server in response to the task type corresponding to the energy data and the task type corresponding to the slot availability data, wherein the task type is indicative of whether the unlaunched computing task is a computation-intensive task or an input/output-intensive task and the slot availability data is indicative of whether the slave node server has an available slot for a task of the task type; and processing, by the slave node server, the unlaunched computing task, assigned by the master node server computer, wherein the computing task is launched. 8. The method of claim 7 , comprising, in response to determining that the slave node server is an energy efficient node for the first type of computing task, determining a number of unlaunched computing tasks of the first type to assign to the slave node server based on the availability data for the slave node server. 9. The method of claim 8 , comprising assigning the determined number of unlaunched tasks of the first type to the slave node server according to locality data associated with each of the determined number of unlaunched tasks of the first type. 10. The method of claim 9 , comprising, in response to determining that the slave node server is not an energy efficient node for the first type of computing task, determining whether the slave node server is an energy efficient node for a second type of computing task. 11. The method of claim 10 , comprising, in response to determining that the slave node server is an energy efficient node for the second type of computing task, determining a number of unlaunched tasks of the second type to assign to the slave node server based on the availability data for the slave node server; and assigning the determined number of unlaunched tasks of the second type to the slave node server. 12. The method of claim 9 , comprising repeating the determining whether the slave node server is an energy efficient node for a first type of computing task and assigning the determined number of unlaunched tasks of the first type to the slave node server until it is determined that the slave node server is no longer an energy efficient node for the first type of computing task. 13. A master node server computer for use in a datacenter computing environment comprising a communication network and a plurality of slave node s

Assignees

Inventors

Classifications

  • Power management, i.e. event-based initiation of a power-saving mode · CPC title

  • Discovery or management of network topologies · CPC title

  • Cross-Sectional Technologies · mapped topic

  • comprising thermal management · CPC title

  • Distributed object oriented systems (remote method invocation [RMI] G06F9/548) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9342376B2 cover?
A method, system, and device for energy efficient job scheduling in a datacenter computing environment includes a master node. The master node can periodically receive energy data from slave nodes and dynamically assign computing tasks to be executed by the slave nodes based on the energy data.
Who is the assignee on this patent?
Jain Nilesh K, Willke Theodore L, Datta Kushal, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/5094. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 17 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).