Strategic placement of jobs for spatial elasticity in a high-performance computing environment

US9317328B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9317328-B2
Application numberUS-201314029925-A
CountryUS
Kind codeB2
Filing dateSep 18, 2013
Priority dateMay 24, 2013
Publication dateApr 19, 2016
Grant dateApr 19, 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.

Accepting a job having a job size representing a number or quantity of processors; computing an expected size, and a standard deviation in size, for the accepted job; adding the expected size to the standard deviation in size to determine a sum; comparing the sum to a number or quantity of available clusters at each of a plurality of non-leaf nodes of a tree representing a high-performance computing environment; and when the number or quantity of available clusters is more than the sum at a sub-tree of the tree and, going down one level further in the sub-tree, the number of available clusters is less than the sum, selecting the sub-tree for the accepted job such that the accepted job is placed on one or more clusters associated with the selected sub-tree.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising at least one processor and at least one memory including computer program code, wherein the at least one processor, in response to execution of the computer program code, is configured to cause the apparatus to perform at least the following: allocating a quantity of processors for processing a job in a high-performance computing environment to provide an initial allocation, wherein the initial allocation of the quantity of processors for the job is allocated to at least one of: a first area of processors which is more densely occupied than a second area of processors based on a first probability indicative of a probability that the job will have an increased computing demand during the run time for the job; and a second area of processors which is more sparsely occupied than a first area of processors based on a second probability indicative of a probability that the job will have decreased computing demand during the run time for the job; and modifying the initial allocation during a run time of the job by performing one or more of: increasing the allocated quantity of processors in response to an increased computing demand for the job by allocating one or more free processors from a pool of free processors which are configured to meet the increased computing demand for the job; or decreasing the allocated quantity of processors in response to a decreased computing demand for the job by reallocating one or more processors from the allocated quantity of processors to the pool of free processors wherein the allocated one or more free processors configured to meet the increased demand for the job are within a vicinity of the quantity of processors used to provide the initial allocation. 2. The apparatus of claim 1 wherein the initial allocation is stored in a memory in a cloud environment. 3. The apparatus of claim 1 wherein the modified initial allocation is stored in a memory in a cloud environment. 4. An apparatus comprising at least one processor and at least one memory including computer program code, wherein the at least one processor, in response to execution of the computer program code, is configured to cause the apparatus to perform at least the following: accepting a job having a job size representing a number or quantity of processors to be initially allocated for the job; computing an expected size, and a standard deviation in size, for the accepted job; adding the expected size to the standard deviation in size to determine a sum; comparing the sum to a number of available clusters at each of a plurality of non-leaf nodes of a tree representing a high-performance computing environment; and in response to the number of available clusters being more than the sum at a sub-tree of the tree and, going down one level further in the sub-tree, the number of available clusters being less than the sum, selecting the sub-tree for the accepted job such that the accepted job is placed on one or more clusters associated with the selected sub-tree, wherein the computing the expected size, and the standard deviation in size, is performed by at least one of: using a first probability indicative of a probability that the job will be extended in size during a run time for the job; and using a second probability indicative of a probability that the job will be decreased in size during the run time for the job. 5. The apparatus of claim 4 wherein the computing the expected size, and the standard deviation in size, for the accepted job, is performed by using the first probability indicative of the probability that the job will be extended in size during the run time for the job. 6. The apparatus of claim 5 wherein the computing the expected size, and the standard deviation in size, for the accepted job, is performed by using the second probability indicative of the probability that the job will be decreased in size during the run time for the job. 7. The apparatus of claim 4 wherein the comparing is performed using a depth first search procedure. 8. The apparatus of claim 7 wherein the depth first search procedure is performed by traversing a left sub-tree at each of the plurality of non-leaf nodes prior to traversing a right sub-tree at each of the plurality of non-leaf nodes. 9. The apparatus of claim 7 wherein the depth first search procedure is performed by traversing a right sub-tree at each of the plurality of non-leaf nodes prior to traversing a left sub-tree at each of the plurality of non-leaf nodes.

Assignees

Inventors

Classifications

  • G06F9/5061Primary

    Partitioning or combining of resources · CPC title

  • considering the load · CPC title

  • the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

  • G06F9/50Primary

    Allocation of resources, e.g. of the central processing unit [CPU] · CPC title

  • where the allocation takes into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206) · 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 US9317328B2 cover?
Accepting a job having a job size representing a number or quantity of processors; computing an expected size, and a standard deviation in size, for the accepted job; adding the expected size to the standard deviation in size to determine a sum; comparing the sum to a number or quantity of available clusters at each of a plurality of non-leaf nodes of a tree representing a high-performance comp…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/5061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 19 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).