Rate This Document
Findability
Accuracy
Completeness
Readability

Introduction

This document describes how to deploy and enable the cluster awareness feature on a Kunpeng server running the openEuler OS.

As shown in Figure 1, A cluster is a hardware unit of a CPU. Each cluster contains several cores. Cores in the same cluster share the same L3 cache tag. The time for a core to access the shared L3 cache tag of the corresponding cluster is shorter than that for accessing other L3 caches or memories. Therefore, when a thread is scheduled to a core in a same cluster (instead of another cluster, that is, cross-cluster scheduling), an L3 cache tag corresponding to the cluster can be reused, which reduces the time required for data access. By adding the option for cluster task scheduling tuning of the OS kernel, cross-cluster thread scheduling can be prevented and L3 cache tag resources can be reused, improving the CPU scheduling efficiency and memory bandwidth utilization of multi-thread applications.

Figure 1 Cluster and L3 cache structure

It also leverages hardware resources more efficiently, increases the system throughput, and speeds up responses to requests. In various application scenarios or test scenarios, especially in multi-core and multi-thread application scenarios, enabling cluster scheduling tuning improves the performance by 2% to 20%.

Through the VM vCPU topology configuration, the topology of the physical CPU cluster can be mapped to the VM to help the VM to achieve the same optimization effect as that of the physical CPU.