Techniques for dynamically assigning jobs to processors in a cluster based on processor workload
First Claim
Patent Images
1. A method of operating a high performance computing cluster, comprising:
- monitoring workloads of multiple processors, wherein the high performance computing cluster includes multiple nodes that each include two or more of the multiple processors;
moving one or more threads assigned to one or more of the multiple processors to a different one of the multiple processors based on the workloads of the multiple processors;
periodically broadcasting information, indicating a level of processor utilization and network utilization at each of the multiple nodes, from each of the multiple nodes to remaining ones of the multiple nodes;
updating respective local job tables maintained in each of the multiple nodes to maintain a view of the level of processor utilization and network utilization at each of the multiple nodes; and
moving, based on the broadcast information in the respective local job tables, at least one of the one or more threads to a different one of the multiple processors.
2 Assignments
0 Petitions
Accused Products
Abstract
A technique for operating a high performance computing (HPC) cluster includes monitoring workloads of multiple processors included in the HPC cluster. The HPC cluster includes multiple nodes that each include two or more of the multiple processors. One or more threads assigned to one or more of the multiple processors are moved to a different one of the multiple processors based on the workloads of the multiple processors.
-
Citations
17 Claims
-
1. A method of operating a high performance computing cluster, comprising:
-
monitoring workloads of multiple processors, wherein the high performance computing cluster includes multiple nodes that each include two or more of the multiple processors; moving one or more threads assigned to one or more of the multiple processors to a different one of the multiple processors based on the workloads of the multiple processors; periodically broadcasting information, indicating a level of processor utilization and network utilization at each of the multiple nodes, from each of the multiple nodes to remaining ones of the multiple nodes; updating respective local job tables maintained in each of the multiple nodes to maintain a view of the level of processor utilization and network utilization at each of the multiple nodes; and moving, based on the broadcast information in the respective local job tables, at least one of the one or more threads to a different one of the multiple processors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A high performance computing cluster, comprising:
-
multiple nodes that each include multiple processors; and monitoring hardware configured to monitor workloads of the multiple processors, wherein the high performance computing cluster is configured to move one or more threads assigned to one or more of the multiple processors to a different one of the multiple processors based on the workloads of the multiple processors and periodically broadcast information, indicating a level of processor utilization and network utilization at each of the multiple nodes, from each of the multiple nodes to remaining ones of the multiple nodes and update respective local job tables maintained in each of the multiple nodes to maintain a view of the level of processor utilization and network utilization at each of the multiple nodes, and wherein the high performance computing cluster is further configured to move, based on the broadcast information in the respective local job tables, at least one of the one or more threads to a different one of the multiple processors. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of operating a high performance computing cluster, comprising:
-
monitoring workloads of multiple processors, wherein the high performance computing cluster includes multiple nodes that each include two or more of the multiple processors; moving one or more threads assigned to one or more of the multiple processors to a different one of the multiple processors based on the workloads of the multiple processors; moving one of the one or more threads to a different one of the multiple processors based on communication between the one or more threads; periodically broadcasting information, indicating a level of processor utilization and network utilization at each of the multiple nodes, from each of the multiple nodes to remaining ones of the multiple nodes; updating respective local job tables maintained in each of the multiple nodes to maintain a view of the level of processor utilization and network utilization at each of the multiple nodes; and moving, based on the broadcast information in the respective local job tables, at least one of the one or more threads to a different one of the multiple processors.
-
Specification