Infrastructure driven auto-scaling of workloads
US-2024419470-A1 · Dec 19, 2024 · US
US9600344B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9600344-B2 |
| Application number | US-35660609-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 21, 2009 |
| Priority date | Jan 21, 2009 |
| Publication date | Mar 21, 2017 |
| Grant date | Mar 21, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.