Kubernetes MPAM Access and Memory Isolation and Control Plugin
Memory System Resource Partitioning and Monitoring (MPAM) is an Arm64-based technology of isolating and monitoring access and memory resources. It solves system-wide or application-specific performance deterioration due to contention for shared resources in a server system that runs diverse types of services concurrently.
MPAM helps to restrict the memory bandwidth and L3 cache capacity occupied by offline services to prevent offline services from affecting the performance of real-time services.
- The MPAM plugin can be deployed on each compute node to configure resource groups in the YAML file. The memory bandwidth and L3 cache capacity are specified for each resource group.
- When an offline service is deployed, the resource group to which the service belongs can be specified in the YAML file.
- When offline services are deployed, adding YAML annotations places them in a dynamic control group that automatically adjusts their resource allocation based on online service performance.
- After the MPAM plugin detects a deployment task, the plugin allocates the process ID of the container service to the corresponding resource group. (The restriction information is configured on the hardware chip through the OS.)
MPAM manages these shared resources: L2 cache, L3 cache, and DMC bandwidth.
Figure 1 MPAM plugin principle
Parent topic: Compute Acceleration