Glossary
A |
|
Annotation |
Annotations are introduced into the Java language with JDK 1.5. They give you the ability to provide additional metadata alongside a Java entity (such as classes, interfaces, and enumerations). Annotations can be declared before packages, classes, fields, methods, local variables, and method parameters to describe and comment on these elements. |
B |
|
basic input/output system |
The basic input/output system (BIOS) is a relatively small program that resides in programmable, non-volatile memory on a server or server device and that is responsible for booting the device and performing certain operating system–independent I/O operations. |
BiSheng JDK |
Based on OpenJDK, the BiSheng JDK is a high-performance OpenJDK release that can be used in production environments. With the accumulation of extensive application scenarios and feedback from Java developers, it addresses various challenges encountered during service running. Additionally, it has been optimized specifically for the Arm architecture. |
Build affinity |
A feature of the Kunpeng DevKit Affinity Analyzer. It analyzes the content in Makefile and CMakeLists.txt that can be replaced with content in the Kunpeng library, and provides replacement suggestions and function repair. |
Byte alignment check |
A feature of the Kunpeng DevKit Affinity Analyzer. It checks the structure variables in the user software, analyzes the memory allocation, and provides feedback to the user. |
C |
|
Cache line alignment check |
A feature of the Kunpeng Affinity Analyzer. It checks the 128-byte alignment of structure variables in the C/C++ source code to improve memory access performance. |
Calculation precision analysis |
A feature of the Kunpeng DevKit Affinity Analyzer. It locates the precision differences of the Fortran, C, and C++ languages caused by x86 and Kunpeng instructions. |
CMakeLists |
Configuration file of the software build tool CMake. This configuration file defines the software compilation process. |
Compute Unified Device Architecture |
Compute Unified Device Architecture (CUDA) introduced by NVIDIA is a general purpose parallel computing platform and programming model that leverages the parallel compute engine in NVIDIA GPUs to solve many complex computational problems in a more efficient way than on a CPU. |
CPI |
Ratio of CPU cycles/Retired instructions, which indicates the clock cycle consumed by each instruction. |
CV |
The coefficient of variation (CV) is a statistical metric that measures the relative variability of data by expressing the standard deviation as a proportion of the mean. It indicates how dispersed the data points are relative to the average, making it useful for comparing variability across different data sets. |
D |
|
DDR |
Double Data Rate (DDR) is a type of memory technology that transfers data on both the rising and falling edges of a clock signal. This doubles the memory bandwidth and increases the speed of data transfer. |
Docker |
Docker is an open source containerization platform. It enables developers to package applications into containers—standardized executable components that combine application source code with all the OS libraries and dependencies required to run the code in any environment. Containers use the sandbox mechanism, which eliminates interface between containers. |
E |
|
eBPF |
Extended Berkeley Packet Filter (eBPF) is a kernel technology that lets programs run without need to modify the kernel source code. |
F |
|
flame graph |
Flame graphs, introduced by Brendan Gregg, are a visualization of hierarchical data, created to visualize stack traces of profiled software so that the most frequent code-paths to be identified quickly and accurately. |
G |
|
garbage collection |
Garbage collection (GC) is process of reclaiming the runtime unused memory automatically. In other words, it is a way to destroy the unused objects. |
glibc |
The GNU C Library (glibc) is the GNU Project's implementation of the C standard library. |
H |
|
HCCS |
The Huawei Cache Coherence System (HCCS) is a Huawei-defined protocol for maintaining data consistency across multiple sockets. |
I |
|
instrumentation |
In program development, instrumentation refers to inserting extra logic (such as logging, performance statistics, and debugging information) into code to detect, debug, or analyze program running behavior without changing original functions. |
interrupt |
A temporary suspension of a process. The computer suspends one activity in case of an exception and starts processing another activity. The computer resumes the interrupted activity after completing the other activity. |
J |
|
Java Development Kit |
Java Development Kit (JDK) is a software development kit in Java. It is mainly used by Java applications on mobile devices and embedded devices. JDK is the core of Java development. It contains the Java Runtime Environment (JVM + Java system class libraries) and Java tools. |
JVM Jitter Detector |
A diagnosis tool in the Kunpeng DevKit. It dynamically observes the JVM internal status, detects JVM exceptions that cause application performance fluctuation, analyzes associated events, and provides mitigation suggestions, achieving exception detection, demarcation, and mitigation in minutes. |
K |
|
key |
A key is a parameter that is entered when converting plaintext into ciphertext or ciphertext into plaintext. Keys are classified into symmetric keys and asymmetric keys. |
Kunpeng AutoTuner |
The Kunpeng DevKit AutoTuner supports the top 10 big data and database applications. Using built-in AI algorithms, it automatically applies optimal parameter combinations to real-world applications, enabling out-of-the-box optimization for typical workloads. |
Kunpeng Debugger |
A tool for CUDA application debugging and HPC parallel debugging on the Kunpeng platform. |
Kunpeng Health Inspector |
A diagnosis tool in the Kunpeng DevKit. It collects hardware information about CPUs, memory, NICs, and PCIe devices, generates a health report, and provides tuning suggestions to eliminate performance deterioration caused by hardware faults or configuration errors. |
System Methodology Profiler |
The Kunpeng DevKit System Methodology Profiler supports one-click collection of multi-dimensional performance data, including cache misses, memory access statistics, NUMA behavior, microarchitectural metrics, and miss latency. After analyzing the collected data, it generates time series diagrams for each metric, illustrating resource usage over time from the service layer down to the processor layer. |
L |
|
Link Latency Detection |
A CLI tool of the Affinity Analyzer. It provides Kunpeng network detection and analysis functions, collects latency statistics of the network protocol stack, and analyzes network performance bottlenecks. |
M |
|
makefile |
Configuration file of the software build tool Make. This configuration file defines the software compilation process. |
Mangled Name |
A mechanism used by the compiler to rename functions and variables. It is mainly used to resolve name conflicts and ensure that each symbolic name is globally unique after compilation. |
Matricization check |
A feature of the Kunpeng DevKit Affinity Analyzer. It checks matricizable source code snippets and provides modification suggestions. |
memory consistency check |
A feature of the Kunpeng DevKit Affinity Analyzer. It checks for memory inconsistency issues in C/C++ source code running on the Kunpeng platform and provides check results and suggestions for inserting memory barriers. |
N |
|
non-uniform memory access |
Non-uniform memory access (NUMA) is a CPU architecture that consists of multiple CPU modules. Each CPU module consists of multiple CPUs (for example, four CPUs) and has its independent local memory and I/O slots. The nodes in the NUMA can be connected and exchange information by using an interconnect module, enabling each CPU to access the memory of the entire system. |
O |
|
Out-of-band data |
Data that is irrelevant to servers and collected by the BMC. |
P |
|
PA |
A protocol adapter (PA) is a hardware unit within the CPU that translates communication protocols between different chips. The ring bus is an on-chip interconnect, and the PA can monitor the bandwidth of data streams exchanged between itself and the ring. Communication involving the PA and the ring occurs in two scenarios: inter-CPU chip communication, and communication between the CPU and GPU when they are linked via UnifiedBus. |
PA2Ring |
Bandwidth of data streams from the PA to the ring. |
Perf |
perf is a performance profiling tool built in the Linux kernel source code tree. Based on the event sampling principle and performance events, perf analyzes performance metrics related to processors and operating systems. It can be used to locate performance bottlenecks and hotspot code. |
PMU event |
A group of data provided by the Performance Monitor Unit (PMU) and CPU hardware unit that reflects the performance of a processor. |
process identifier |
A process identifier (PID) is a unique number to identify each process running in an operating system. It is allocated by the operating system when the process is running and does not represent a fixed process. |
R |
|
Remote Direct Memory Access |
Remote Direct Memory Access (RDMA) is a function that enables a computer to directly transmit data to the memory of another computer over a network. |
Ring2PA |
Bandwidth of data streams from the ring to the PA. |
rollback |
Rollback is a return to a prior state by undoing the last operation or a series of operations under a certain condition (for example, a given period of time). |
S |
|
SME |
Scalable Matrix Extension (SME) introduces a dedicated scalable matrix register based on SVE, enabling more efficient execution of core computations such as matrix multiplication through outer-product operations. |
SVE |
Scalable Vector Extension (SVE) is a vector-length-agnostic SIMD instruction set that allows the same code to automatically achieve optimal performance on Arm processors with different vector widths. |
Secure Shell |
Secure Shell (SSH) is set up by the Network Working Group of the Internet Engineering Task Force (IETF). It is an application layer protocol. |
serialization |
Serialization is the process of translating a data structure or an object state into a format that can be stored (for example, files in secondary storage devices and data buffers in primary storage devices) or transmitted (for example, data streams over computer networks) and reconstructed later (possibly in a different computer environment). |
server |
A server is a computer program that provides resources and services to another computer program, also known as the client. |
64-bit running mode check |
A feature of the Kunpeng DevKit Affinity Analyzer. It checks C/C++ software for porting software from 32-bit to 64-bit mode. The Kunpeng Affinity Analyzer compiles software in 64-bit mode and provides modification suggestions for the porting. |
soft link |
A soft link, also called a symbolic link, is a file whose purpose is to point to a file or directory (called the "target") in various file systems by specifying a path thereto. |
Software porting assessment |
A feature of the Kunpeng DevKit Porting Advisor. It analyzes the SO library files in a software package installation path in the x86 environment and checks whether these files are compatible with the Kunpeng platform. |
Source code porting |
A feature of the Kunpeng DevKit Porting Advisor. It analyzes the portability of software written in C/C++/ASM/Fortran/Go/interpreted languages. |
Statistical Profiling Extensions |
Statistical Profiling Extensions (SPE) is a mechanism provided by Arm, which uses random sampling to dynamically analyze programs. |
V |
|
Vectorization check |
A feature of the Kunpeng DevKit Affinity Analyzer. It checks vectorizable source code snippets and provides modification suggestions. |