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

Software Architecture

Kunpeng TAP consists of Kunpeng TAP Policy Manager and Kunpeng TAP Proxy. It operates at the node level within a Kubernetes cluster and dynamically adjusts the CPU scheduling range of containers by acting as a proxy for container requests.

Figure 1 shows the architecture of the Kunpeng TAP, and Table 1 describes the functions of each module.

Figure 1 Kunpeng TAP architecture

Kunpeng TAP adopts a request proxy approach. It adjusts resource parameters for container creation requests between the kubelet and the container runtime.

  1. Request obtaining: Kunpeng TAP connects to the kubelet to obtain container distribution requests.
  2. Resource parameter optimization: Following user-configured policy options, Kunpeng TAP can perform NUMA topology-aware adjustments to a container's CPU scheduling range. It achieves this by considering system resources, system topology, and the allocation of specific device resources like GPUs.
  3. Request forwarding: Kunpeng TAP forwards optimized requests to the container runtime for container management.
  4. Container deployment: The container runtime performs the deployment and the system runs the container process based on the optimized parameters.
Table 1 Functions of Kunpeng TAP and related modules

Module

Function

Kunpeng TAP Policy Manager

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

Kunpeng TAP Proxy

Transfers requests and responses between the kubelet and the container runtime, obtains the CPU usage of Pods on the current node, and provides function and data support for optimizing resource allocation.

Kubelet

Runs on each node in a cluster to ensure that containers (Pods) run properly on the node and manages the lifecycle of these containers.

Container runtime

Creates, manages, and runs containers.