我要评分
获取效率
正确性
完整性
易理解

Software Architecture

The Kubernetes NUMA affinity scheduling plugin consists of the ResourceManager and NUMAPolicyAgent modules.

The Kubernetes NUMA affinity scheduling plugin runs at the node layer of the Kubernetes cluster. It is deployed through pods that use DaemonSet (Daemon pods), which ensures a plugin instance on each node. This plugin interconnects with the NRI of containerd to dynamically adjust the CPU scheduling range of a pod, securing effective NUMA affinity.

Figure 1 shows the software architecture of the Kubernetes NUMA affinity scheduling plugin. Table 1 describes the functions of each module.

Figure 1 Plugin architecture
Table 1 Functions of plugin modules

Module

Function

ResourceManager

Based on NUMA affinity rules, dynamically adjusts the CPU allocation and combination of pods to make applications utilize hardware resources efficiently, all of which aims to align with the best practices of the NUMA architecture.

NUMAPolicyAgent

Obtains the CPU usage of pods on the current node, analyzes the relationship between the CPU usage and NUMA affinity, and provides data support for resource allocation optimization.