Configurable Resource Pooling for NUMA-Aware Socket Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing orchestrators like Kubernetes fail to consider socket boundary traversal when allocating services, leading to increased latency and performance degradation due to inefficient data communication across CPU sockets and connected devices.
Innovation Solution
Implement a topology-based scheduler that utilizes a switch controller to dynamically configure device connections between processor sockets and hardware resources based on Service Level Agreements (SLAs), aligning services with optimal NUMA-awareness to minimize socket boundary traversals and ensure compliance with latency and bandwidth requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If services are allocated to CPU sockets without considering socket boundary traversal, then service deployment simplicity is improved, but data communication latency increases
Solution Approach 1:
The system performs preliminary discovery of socket topology and device connections before service allocation. The socket topology discoverer pre-maps which devices are connected to which CPU sockets, and the scheduler uses this pre-established topology information to make informed allocation decisions that avoid socket boundary crossings, thereby reducing latency without compromising deployment simplicity.
Solution Approach 2:
The invention introduces an intermediary layer (the scheduling system with topology awareness) between the service deployment process and the underlying hardware architecture. This intermediary translates high-level service requirements into socket-aware allocation decisions, mediating between the simplicity of abstract service deployment and the physical reality of socket-bound device connections.
2Productivity
If services are allocated without socket awareness, then allocation speed is improved, but service performance degrades
Solution Approach 1:
The system performs preliminary discovery of socket topology and device connections before service allocation. By pre-establishing the topology map of which devices are connected to which CPU sockets, the scheduler can make rapid informed decisions without performing complex runtime analysis, thus maintaining allocation speed while improving service performance through socket-aware placement.
Solution Approach 2:
The scheduling system incorporates feedback from socket topology discovery about device connections and socket boundaries. This feedback mechanism allows the scheduler to adjust its allocation decisions based on the actual hardware topology, ensuring services are placed on sockets that minimize boundary crossings and maximize performance while maintaining efficient allocation.
3Adaptability or versatility
If socket boundary traversal occurs, then device connectivity flexibility is improved, but communication efficiency worsens
Solution Approach 1:
The system performs preliminary discovery of socket topology and device connections before service allocation. By pre-mapping which devices are connected to which CPU sockets, the scheduler can proactively allocate services to sockets that avoid boundary crossings, thereby maintaining device connectivity flexibility while preventing communication efficiency degradation before it occurs.
Solution Approach 2:
The scheduling system acts as an intermediary that translates the physical socket topology constraints into allocation decisions. It mediates between the desire for flexible device connectivity and the need for efficient communication by making informed placement decisions that respect socket boundaries while still allowing services to access required devices.
Data Source
AI summary
Examples described herein relate to a configurable switch with dynamically configurable device connections to a processor socket, where the device connections are configured to meet service level agreement (SLA) parameters of a first service executing on the processor socket. For a second service that is to execute on the processor socket and the second service is higher priority than the first service, device connections of the switch to the processor socket are dynamically reconfigured to meet SLA parameters of the second service.


