Rate This Document
Findability
Accuracy
Completeness
Readability

Glossary

A

secure computing

Secure computing is a technology where data is processed confidentially. Secure computing projects (including CA and TA projects) are built based on TrustZone.

AOF

Append-Only File (AOF) is a persistence mechanism used in Redis to log all write commands, such as SET and DEL. It appends all writes to the file and can replay logs to restore data.

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 Compiler

The BiSheng Compiler is a high-performance compiler developed based on the open source LLVM and optimized for the Kunpeng platform. It uses Flang as the default frontend compiler for the Fortran language.

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.

C

CA

A client application (CA) is an application that works with trusted applications (TAs) in a rich execution environment (REE) and is responsible for external communication.

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.

CMakeLists

Configuration file of the software build tool CMake. This configuration file defines the software compilation process.

CPU Cycles performance event

Based on the event sampling principle and performance events, performance analysis can be performed on performance metrics related to processors and operating systems. This metric can be used to locate performance bottlenecks and hotspot code. CPU Cycles is the default performance event, which is also called clock tick. The sampling is performed based on tick interrupts. That is, sampling is triggered when a tick interrupt occurs, and the current context of the program is determined in the sampling point.

CPI

Ratio of CPU cycles/Retired instructions, which indicates the clock cycle consumed by each instruction.

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.

CUDA-GDB

CUDA-GDB is the NVIDIA tool for debugging CUDA applications running on Linux and QNX. CUDA-GDB is an extension to GDB, the GNU Project debugger. CUDA-GDB delivers a seamless debugging experience that allows developers to debug both the CPU and GPU portions of an application simultaneously.

cuda-gdbserver

cuda-gdbserver is a control program for Unix-like systems, which is installed on the to-be-debugged node and allows you to connect your program with CUDA-GDB.

CUDA Toolkit

CUDA Toolkit consists of all CUDA tools delivered by NVIDIA.

CUDA information

CUDA information displayed during CUDA program debugging.

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.

distributed parallel client

The distributed parallel client (DPC) runs on a compute node to function as a storage client and can connect to multiple storage nodes at the same time. DPC provides standard POSIX and MPI-IO interfaces for upper-layer applications to achieve better compatibility and higher performance.

Data Processing & Acceleration Kit

The Kunpeng Data Processing & Acceleration Kit (DPAK) provides a unified software framework for data processing units (DPUs) and SmartNICs. With the Kunpeng DPAK, Huawei will cooperate with users and peer vendors to build a complete software ecosystem. DPAK applications are scenario-specific samples provided by the Development Assistant.

E

eBPF

Extended Berkeley Packet Filter (eBPF) is a kernel technology that lets programs run without need to modify the kernel source code.

F

server

A server is a computer program that provides resources and services to another computer program, also known as the client.

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.

GDB

GDB is the GNU Project debugger that allows you to see what is going on inside another program while it executes or what another program was doing at the moment it crashed.

gdbserver

gdbserver is a control program for Unix-like systems, which is installed on the to-be-debugged node and allows you to connect your program with GDB.

GCC for openEuler

GCC for openEuler is a high-performance compiler for Kunpeng 920 processors in Linux. It is developed based on open source GCC 10.3. It has optimizations in software and hardware collaboration, and explores the ultimate performance in fields such as OpenMP, Scalable Vector Extension (SVE) vectorization, and math libraries.

public key

During login to a Linux OS through SSH, an SSH key pair will be generated on the client and uploaded to the target server. Each key pair consists of a public key and a private key. The associated public key can be shared freely without any negative consequences.

high-performance computing

High-performance computing (HPC) is a computer cluster system that connects computer systems using interconnection technologies. It relies on the integrated compute capability of all the connected systems to execute computing tasks at scale. For this reason, HPC is also often referred to as an HPC cluster.

H

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.

hybrid hard drive

A hybrid hard drive (HHD) is a large-capacity storage device that contains both conventional drives and flash memory modules.

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).

Hypertext Transfer Protocol Secure

Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP). It uses encryption for secure communication over a computer network, and is widely used on the Internet.

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.

Hyper MPI

Based on Open MPI 4.1.1 and Open UCX 1.10.1, Hyper MPI supports parallel computing APIs of the MPI-V3.1 standard, and optimizes the collection communication framework.

I

instructions per cycle

Instructions per cycle (IPC) is the average number of instructions executed by a CPU in each clock cycle. It reflects the smoothness of CPU execution. If a four-transmitter Kunpeng 920 processor executes four instructions in each clock cycle when its pipeline operates in full load, the IPC is 4.0. An IPC value closer to 4.0 indicates that the program uses the processor features to a greater extent.

iTrustee SDK

The software development kit for trusted applications (TAs) and client applications (CAs), including the basic rsa-demo and secstorage-demo source code.

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.

accelerated analysis

The accelerated analysis function is used to scan selected code files, identify functions and assembly instructions that can be replaced with those in Kunpeng libraries, and generate reports.

K

snapshot

A fast memory read technology based on hardware programming technologies.

Kunpeng Debugger

A tool for CUDA application debugging and HPC parallel debugging on the Kunpeng platform.

Kunpeng Math Library

The Kunpeng Math Library (KML) provides high-performance mathematical functions which are optimized based on the Kunpeng platform. All interfaces are implemented by C/C++ and assembly languages. Some interfaces are compatible with Fortran, and some interfaces are encapsulated using Java.

M

makefile

Configuration file of the software build tool Make. This configuration file defines the software compilation process.

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.

passphrase

It is used when generating a key.

N

memory consistency check

A feature of the Kunpeng Affinity Analyzer. It detects and rectifies any memory inconsistency problems that may occur after your software is ported to the Kunpeng platform. To use the automatic rectification function, you need to update the GCC. Then, memory inconsistency problems are automatically rectified during software compilation.

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.

Network File System

Network File System (NFS) is a distributed file system protocol that enables clients to access files on servers in a way similar to how you access files through local storage.

NVIDIA GPU

NVIDIA is the inventor of graphics processing units (GPUs). A GPU, also called a display core or a video processor, is a specialized electronic circuit initially designed to accelerate computer graphics and image processing (either on a video card or embedded on the motherboards, mobile phones, personal computers, workstations, and game consoles).

O

Open vSwitch

Open vSwitch (OVS) is an open source, industrial-grade multi-layer virtual switch software.

P

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.

profile-guided optimization

Profile-guided optimization (PGO) improves application performance by reducing cache-thrashing, reorganizing code layout, reducing code length, and reducing branch mispredictions.

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.

PS

Parallel Scavenge (PS) is a throughput-first garbage collector for Java programs and has adaptive adjustment policies.

PuTTY

PuTTY is a connection tool supporting Telnet, SSH, rlogin, pure TCP, and serial ports.

R

RDB

Redis Database Backup (RDB) is a persistence mechanism used in Redis to periodically generate data snapshots. An RDB file is a binary file that stores the complete data status of Redis at a certain point of time.

software porting assessment

A feature of the Kunpeng 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.

software package rebuild

A feature of the Kunpeng Porting Advisor. It analyzes an x86 software package and attempts to build the Kunpeng platform software package based on the provided resource files. This feature is available only on the Kunpeng platform.

Representational State Transfer

Representational State Transfer (REST) is a software architectural style. Generally, REST services use HTTP as the communication protocol and use HTTP primitives to express service requests.

weak password

A weak password can be easily guessed or cracked.

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.

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.

Rivest-Shamir-Adleman

Rivest-Shamir-Adleman (RSA) is an asymmetric cryptographic algorithm.

rich execution environment

A rich execution environment (REE) refers to a standard operating system that a device is running. Compared with a trusted execution environment (TEE), an REE is a traditional server running environment.

S

sentinel node

Redis Sentinel is a distributed system that monitors the health status of active and passive Redis nodes, and automatically performs a failover when an active node fails. Sentinel nodes use the voting mechanism to elect idle nodes as active nodes, ensuring high availability of the Redis cluster.

SO dependency library

Linux shared object (SO) file, whose name is similar to libname.so.1.1.1.

SO dependency dictionary

A list that records the SO files and software packages supported by the Kunpeng platform and the installation status (installation from binary packages or installation from source). You can download and update the dependency dictionary.

upper-layer application workload

Workload analysis is to dynamically modify upper-layer application code and embed hooks to collect specific application performance data, helping to obtain the code performance and locate specific code.

Statistical Profiling Extensions

Statistical Profiling Extensions (SPE) is a mechanism provided by Arm, which uses random sampling to dynamically analyze programs.

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.

private key

A private key is the secret key used to encrypt and decrypt messages between communicators. It is a form of symmetric encryption, for the same key is utilized for both encryption and decryption purposes. Private keys must be protected from being obtained by unauthorized agents.

SSL certificate

A Secure Sockets Layer (SSL) certificate is an SSL-compliant digital certificate issued by a trusted root certificate authority.

SMMU

The system memory management unit (SMMU) provides memory management services to system bus masters.

software development kit

A software development kit (SDK) is a set of software development tools for software engineers to create application software for specific software packages, software frames, hardware platforms, and OSs. Generally, an SDK refers to the SDK used to develop application programs running on Windows. An SDK provides API files for a programming language and may also provide hardware that communicates with an embedded system.

SFTP

Secure File Transfer Protocol (SFTP) enables secure and encrypted file transfers between a client and a server.

T

Transmission Control Protocol

In Transmission Control Protocol/Internet Protocol (TCP/IP), a protocol used to break down data information into packets and send them over the IP protocol. The packets received via the IP protocol are checked and reassembled into complete information. TCP is a connection-oriented reliable protocol that ensures error-free transmission of information. It corresponds to the transport layer in the ISO/OSI benchmark model.

trusted application

A trusted application (TA) is an application deployed in a trusted execution environment (TEE) to process confidential data in the TEE. It works with client applications (CAs).

TrustZone

The Kunpeng BoostKit for Confidential Computing TrustZone Kit offers the TrustZone feature based on the Kunpeng processor architecture. The time division multiplexing technology is used to distinguish the operating status of CPUs. Two independent environments (rich execution environment and trusted execution environment) are distinguished on the same hardware system.

trusted execution environment

A trusted execution environment (TEE) is a hardware security feature that is isolated from a normal operating system, for example, a rich execution environment (REE).

U

Utilization, Saturation, and Errors

The Utilization, Saturation, and Errors (USE) method is a methodology for system performance profiling. This method locates resource bottlenecks and errors according to the structured list of system analysis.

User Datagram Protocol

The User Datagram Protocol (UDP) is a standard TCP/IP protocol that allows an application program on one end to send datagrams to an application program on the other end.

X

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).

virtualization

A technology that virtualizes a physical computer into multiple logical computers, which reside on the same physical computer. The OSs running on these logical computers can be different, and the applications running on these OSs work independently from each other. Therefore, the working efficiency of the physical computer is significantly improved.

Y

source code porting

A feature of the Kunpeng Porting Advisor. It analyzes the portability of software written in C/C++/ASM/Fortran/Go/interpreted languages.

CloudTest

CloudTest is a one-stop test platform that allows developers to conduct API and performance tests and manage these tests in the cloud. Developed on the basis of the DevOps Agile testing concept, CloudTest helps developers improve management efficiency and deliver high-quality products.

Z

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.

byte alignment check

A feature of the Kunpeng Affinity Analyzer. It checks the structure variables in the user software, analyzes the memory allocation, and provides feedback to the user.

*

64-bit running mode check

A feature of the Kunpeng 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.