Cluster Workload Scheduling Using Memory and NIC Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional workload scheduling in distributed systems, such as satellite communication systems, is non-deterministic and fails to consider critical resources like memory bandwidth and network interface card (NIC) bandwidth, leading to inefficient placement of high-performance workloads like virtual network functions (VNFs), which can result in overloading, data loss, and poor performance.
Innovation Solution
A deterministic workload scheduling method that considers CPU, memory, NIC, and memory bandwidth availability across compute nodes, allowing for optimal resource utilization and grouping of workloads on the same node to enhance performance and reduce hardware dependencies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional non-deterministic workload scheduling is used, then the scheduling process is simple and fast, but resource allocation is inefficient and leads to overloading and data loss
Solution Approach 1:
The system performs preliminary actions by pre-defining resource requirements for workloads and pre-monitoring resource availability across compute nodes. The scheduler proactively collects status information from server agents before workload assignment, enabling deterministic placement decisions that prevent overloading and ensure reliable workload placement.
Solution Approach 2:
The system implements feedback mechanisms where server agents continuously report resource usage and availability status to the workload scheduler. This feedback loop enables the scheduler to make informed deterministic decisions about workload placement, adjusting assignments based on real-time resource conditions to prevent overloading and optimize performance.
2Productivity
If conventional scheduling ignores memory bandwidth and NIC bandwidth, then the scheduling process is simpler, but high-performance workloads experience poor performance and data loss
Solution Approach 1:
The server agents perform multiple functions by monitoring various resource types (CPU usage, memory usage, NIC bandwidth, memory bandwidth) through a unified status collection mechanism. This multi-functional approach allows the system to track comprehensive resource availability without proportionally increasing complexity, enabling informed scheduling decisions that optimize high-performance workload execution.
Solution Approach 2:
The system changes the scheduling parameters from simple CPU-only allocation to multi-parameter allocation considering CPU, memory, NIC bandwidth, and memory bandwidth. By expanding the scheduling decision criteria to include these additional parameters, the system achieves optimal placement for high-performance workloads while maintaining manageable scheduling complexity through structured parameter collection.
3Reliability
If workloads are assigned without considering resource availability, then the assignment process is faster, but resource overloading occurs leading to data loss
Solution Approach 1:
The system performs preliminary status collection from server agents before workload assignment decisions are made. By proactively gathering information about resource availability (CPU, memory, NIC bandwidth, memory bandwidth) in advance, the scheduler can make rapid deterministic decisions that ensure data integrity and prevent overloading without significant time delay.
Solution Approach 2:
Server agents autonomously monitor and report their own resource status to the workload scheduler, eliminating the need for centralized resource tracking. This self-service mechanism reduces the scheduling overhead and time required for resource assessment, while ensuring accurate and reliable workload placement that prevents data loss.
4Productivity
If deterministic scheduling considering multiple resources is implemented, then resource utilization is optimized, but the scheduling algorithm becomes more complex
Solution Approach 1:
The scheduling system is segmented into distinct functional components: server agents that monitor individual resource parameters, a workload scheduler that processes assignments, and compute nodes that execute workloads. This segmentation allows each component to handle specific tasks independently, managing overall system complexity while optimizing resource utilization across multiple dimensions.
Solution Approach 2:
The system manages algorithm complexity by systematically changing and expanding the set of monitored parameters from simple CPU usage to comprehensive resource metrics including memory bandwidth and NIC bandwidth. By organizing parameter collection and processing in a structured manner, the system achieves optimized multi-resource utilization without proportionally increasing algorithmic complexity.
Data Source
AI summary
Described herein are systems, methods, and other techniques for assigning high-performance workloads to compute nodes in a compute infrastructure. The workloads are received at a workload scheduler. Each workload of the workloads includes a workload specification indicating requested resources to run the workload. Server statuses indicating resource usages and availabilities at the compute nodes are generated by a set of server agents running on a set of servers containing the compute nodes. The server statuses are sent from the set of server agents to the workload scheduler. Server assignments for the workloads are generated by the workload scheduler based on the requested resources and the resource usages and availabilities. Compute node assignments for the workloads are generated by one or more of the set of server agents based on the requested resources and the resource usages and availabilities.


