Dynamic Thread Assignment in HPC Clusters via Broadcast Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high performance computing clusters, existing job scheduling techniques are static, leading to inefficient thread assignment and increased network traffic due to uneven processor loads and communication patterns, resulting in suboptimal performance.
Innovation Solution
Implementing a monitoring system that periodically broadcasts processor and network utilization information across nodes, updating local job tables to dynamically reassign threads to processors based on current loads and communication levels, thereby optimizing thread distribution and reducing network traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If static job scheduling is used, then device complexity is reduced, but productivity deteriorates due to inefficient thread assignment and increased network traffic
Solution Approach 1:
The patent implements dynamic job scheduling by periodically broadcasting processor and network utilization information across cluster nodes, enabling the system to adapt thread assignments to changing workload conditions in real-time, thereby improving productivity without requiring overly complex scheduling infrastructure
Solution Approach 2:
The system employs feedback mechanisms where nodes broadcast utilization metrics about processor and network conditions, allowing other nodes to update their local job tables and make informed scheduling decisions, creating a distributed feedback loop that optimizes resource allocation without centralized control complexity
2Productivity
If dynamic thread reassignment is implemented, then productivity improves through better workload balancing, but loss of time increases due to periodic broadcasting and table updates
Solution Approach 1:
The patent uses periodic broadcasting of utilization information at scheduled intervals rather than continuous updates, allowing the system to capture workload changes at discrete time points. This periodic approach reduces the time overhead of synchronization while still enabling effective dynamic thread reassignment based on recent system state
Solution Approach 2:
Each node maintains and updates its own local job table using broadcast information from other nodes, enabling autonomous scheduling decisions without requiring constant coordination or centralized management. This self-service approach minimizes the time needed for global synchronization while achieving effective workload balancing
Data Source
AI summary
A technique for operating a high performance computing cluster (HPC) having multiple nodes (each of which include multiple processors) includes periodically broadcasting information, related to processor utilization and network utilization at each of the multiple nodes, from each of the multiple nodes to remaining ones of the multiple nodes. Respective local job tables maintained in each of the multiple nodes are updated based on the broadcast information. One or more threads are then moved from one or more of the multiple processors to a different one of the multiple processors (based on the broadcast information in the respective local job tables).


