Proportional resizing of a logical partition based on a degree of performance difference between threads for high-performance computing on non-dedicated clusters

US9600344B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9600344-B2
Application numberUS-35660609-A
CountryUS
Kind codeB2
Filing dateJan 21, 2009
Priority dateJan 21, 2009
Publication dateMar 21, 2017
Grant dateMar 21, 2017

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.

Techniques for enabling high-performance computing are provided. The techniques include resizing a logical partition in a non-dedicated compute cluster server to enable high-performance computing, wherein a high performance computing application is executed such that the high performance computing application is configured to complete execution of each of one or more application threads at a similar time as a slowest thread in the cluster, and wherein the non-dedicated compute cluster comprises one or more servers and the logical partition is created by partitioning one or more server resources.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for enabling high-performance computing, the method comprising: resizing one or more logical partitions in a non-dedicated compute cluster to enable high-performance computing, wherein a high-performance computing application is executed such that the high-performance computing application is configured to execute each of multiple high-performance computing application threads on a corresponding individual logical partition on a separate corresponding server, and to reduce differences in execution completion time for each of the multiple high-performance computing application threads, and wherein the non-dedicated compute cluster comprises multiple servers and a logical partition is created by partitioning one or more server resources; wherein resizing the one or more logical partitions comprises: determining a difference in performance of each of said high-performance computing application threads of the high-performance computing application in the non-dedicated compute cluster with respect to the slowest thread of the high-performance computing application; and resizing a current allocation of capacity of each logical partition in which a corresponding high-performance computing application thread has a difference in performance with respect to the slowest thread of the high-performance computing application via a percentage reduction of the current allocation of capacity, wherein said percentage reduction of the current allocation of capacity is: computed for the logical partition with the highest product of (i) time taken to complete a phase and (ii) capacity in proportion to the associated difference in performance in terms of a percentage computed via [max i (T i *C i )−(T i *C i )]/(T i *C i )*100, wherein, T i is the time taken to complete a phase on a given logical partition with capacity C i ; and set for the remaining logical partitions, excluding the logical partition associated with the slowest thread of the high-performance computing application, in the same proportion as computed for the logical partition with the highest product of (i) time taken to complete a phase and (ii) capacity. 2. The method of claim 1 , wherein logical partition creation comprises creating one or more separate logical partitions for each one of one or more high-performance computing cluster workloads and for a non-high-performance computing cluster workload. 3. The method of claim 1 , comprising determining unutilized compute resources in a logical partition in a high-performance computing cluster via monitoring performance imbalance among each of one or more high-performance computing application threads. 4. The method of claim 3 , wherein monitoring performance imbalance among each of the one or more high-performance computing application threads comprises monitoring excess capacity at each of one or more nodes. 5. The method of claim 4 , wherein monitoring excess capacity comprises: measuring one or more cycles used by each high-performance computing application thread on each node in a given time window; and identifying the one or more cycles that are in excess at each node with respect to a slowest high-performance computing application thread. 6. The method of claim 1 , wherein resizing the one or more logical partitions in the non-dedicated compute cluster comprises allocating unutilized compute resources to one or more non-high-performance computing cluster workloads. 7. The method of claim 1 , further comprising ensuring that one or more logical partitions across one or more different servers that run one or more threads belonging to a same high-performance computing workload are scheduled concurrently. 8. The method of claim 1 , wherein partitioning one or more server resources comprises using historical resource usage data of a non-high-performance computing cluster workload to predict one or more resource requirements of the non-high-performance computing cluster workload such that one or more service level agreement (SLA) requirements of the non-high-performance computing cluster workload are guaranteed. 9. The method of claim 1 , further comprising implementing a gang-scheduling scheme at a hypervisor layer such that one or more logical partitions across different servers that run one or more threads belonging to a same high-performance computing workload are scheduled concurrently. 10. The method of claim 1 , wherein resizing the one or more logical partitions comprises resizing compute resources at each of one or more physical nodes. 11. The method of claim 1 , wherein resizing the one or more logical partitions comprises dynamically resizing the one or more logical partitions in proportion of an excess capacity. 12. The method of claim 1 , further comprising creating a separate high-performance computing partition for each high-performance computing application. 13. The method of claim 1 , wherein resizing the one or more logical partitions comprises taking into account one or more resource requirements of a non-high-performance computing workload such that one or more service level agreement (SLA) requirements of a non-high-performance computing workload are guaranteed. 14. A computer program product comprising a tangible non-transitory computer readable storage medium having computer readable program code for enabling high-performance computing, said computer program product including: computer readable program code for resizing one or more logical partitions in a non-dedicated compute cluster to enable high-performance computing, wherein a high-performance computing application is executed such that the high-performance computing application is configured to execute each of multiple high-performance computing application threads on a corresponding individual logical partition on a separate corresponding server, and to reduce differences in execution completion time for each of the multiple high-performance computing application threads, and wherein the non-dedicated compute cluster comprises multiple servers and a logical partition is created by partitioning one or more server resources; wherein resizing the one or more logical partitions comprises: determining a difference in performance of each of said high-performance computing application threads of the high-performance computing application in the non-dedicated compute cluster with respect to the slowest thread of the high-performance computing application; and resizing a current allocation of capacity of each logical partition in which a corresponding high-performance computing application thread has a difference in performance with respect to the slowest thread of the high-performance computing application via a percentage reduction of the current allocation of capacity, wherein said percentage reduction of the current allocation of capacity is: computed for the logical partition with the highest product of (i) time taken to complete a phase and (ii) capacity in proportion to the associated difference in performance in terms of a percentage computed via [max i (T i *C i )−(T i *C i )]/(T i *C i )*100, wherein, T i is the time taken to complete a phase on a given logical partition with capacity C i ; and set for the remaining logical partitions, excluding the logical partition associated with the slowest thread of the high-performance computing application, in the same proportion as computed for the logical partition with the highest product of (i) time taken to complete a phase and (ii) capacity. 15. The computer program product of claim 14 , comprising computer readable program code for creating one or more separ

Assignees

Inventors

Classifications

  • G06F9/5077Primary

    Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • Program synchronisation; Mutual exclusion, e.g. by means of semaphores · 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 US9600344B2 cover?
Techniques for enabling high-performance computing are provided. The techniques include resizing a logical partition in a non-dedicated compute cluster server to enable high-performance computing, wherein a high performance computing application is executed such that the high performance computing application is configured to complete execution of each of one or more application threads at a si…
Who is the assignee on this patent?
De Pradipta, Kothari Ravi, Mann Vijay, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/5077. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 21 2017 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).