BoostCore
Kunpeng Library optimizes the performance of base software libraries and builds the performance competitiveness of common software libraries on the Kunpeng computing platform. It covers the Kunpeng Accelerator Engine (KAE), compression, system, media, math, storage, network, and AI libraries.
Kunpeng Accelerator Engine (KAE)
- KAE
The Kunpeng Accelerator Engine (KAE) is a hardware-based acceleration solution on Kunpeng 920 series processors, including KAE encryption and decryption as well as KAE decompression.
- KUAF
The Kunpeng Unified Acceleration Framework (KUAF) is an in-house solution for enhancing the collaboration between hardware and software libraries for faster compression and encryption/decryption.
KZL (Compression)
- Snappy
Snappy is a high-speed compression and decompression library. It provides extremely fast compression and decompression speeds rather than pursuing high compression ratios.
- zstd
Zstandard (zstd) is a fast, lossless compression algorithm designed for real-time compression scenarios. It delivers fast compression and decompression while maintaining a competitive compression ratio.
- LZ4
LZ4 provides reasonable compression ratios. Its core advantages include extremely fast compression and decompression speeds, a small memory footprint, support for both streaming and block compression modes, and multi-language bindings.
- zlib
zlib is a general-purpose DEFLATE compression library that provides support for zlib, gzip, and raw DEFLATE data formats.
KCL (Encryption)
KSL (System)
- KQMalloc
KQMalloc is a memory allocator designed for Kunpeng 920 series processors. It has been adapted and optimized for Linux systems with 4 KB or 64 KB page sizes and 48-bit virtual memory addresses.
- AVX2KI
AVX2KI facilitates the porting of AVX intrinsics to the Kunpeng instruction set.
- kpglibc
kpglibc leverages a vectorized instruction set to enhance the performance of glibc's string, memory, and time functions for Kunpeng processors.
- KSL_ASN1
KSL_ASN1 is optimized based on open-source ASN.1 software and has higher performance compared with asn1c. KSL_ASN1 supports the BER, DER, PER, and XER formats.
- HTL
The Hyper Thread Library (HTL) is a user-level thread library built on kernel-mode threads. It solves application performance deterioration and system resource insufficiency when a large number of kernel-mode threads are used, especially when the performance is extremely low in nested parallel scenarios. This library improves concurrency and performance while reducing resource usage.
- KVSIP
Kunpeng Vector Signal Processing (KVSIP) provides functions such as basic vector computing, basic matrix computing, and fast Fourier transform. These functions adapt to the Kunpeng platform.
- KACC_JSON
Kunpeng Acceleration JSON, also referred to as KACC_JSON, is a high-performance JSON function library based on the Kunpeng platform. It uses SVE256 instructions to enhance JSON serialization and deserialization. By leveraging Kunpeng hardware advantages, KACC_JSON delivers higher performance than Gson, an open-source Java library.
- BiSheng JDK Acceleration Library
This library runs on Kunpeng processors to offer acceleration features for the BiSheng JDK, including enhanced heap dump, JBooster, and JBolt.
- HAF
The Homogeneous Acceleration Framework (HAF) provides easy-to-use APIs to effectively and securely offload service code to acceleration nodes for execution.
KMML (Media)
- HMPP
Hyper Media Performance Primitives (HMPP) provides high-performance acceleration functional interfaces for signal and image processing through NEON instructions supported by the Kunpeng processor.
- KVCL
By using hardware-accelerated vector instructions, KVCL enhances common basic operators for video encoding and improves their performance.
KAIL (AI)
KSERL (Serialization)
- Protobuf
Protobuf enables efficient data exchange and storage between distributed systems and supports seamless integration with RPC frameworks (such as gRPC).
- fbthrift
fbthrift is a high-performance RPC framework and serialization library, widely used in distributed systems and microservice architectures. It supports multiple languages, and its serialization component provides a rich set of serialization protocols.
- sonic-cpp
The performance of the serialization and deserialization functions in Sonic-Cpp is optimized using the vectorized instruction set based on Kunpeng processors. This library is applicable to Kunpeng 950 and the function interfaces are consistent with those of open-source Sonic-Cpp.
- simdjson
simdjson is a high-performance JSON parsing library. Through SIMD instruction set optimization, simdjson can parse JSON documents at a speed of several gigabytes per second, far outperforming traditional JSON parsers.
- RapidJSON
RapidJSON is a high-performance, lightweight, and header-only C++ JSON parser and generator. It is ideal for JSON data parsing, construction, validation, and serialization in server-side, embedded, and performance-sensitive scenarios.
KML (Math)
KSAL (Storage)
- Smart Prefetch
Smart prefetch is a storage acceleration library developed by Huawei. It uses high-speed cache drives and efficient prefetch algorithms to accelerate storage I/O, thus improving the overall performance in I/O-intensive scenarios.
- KAE-enabled SPDK
As the virtual device layer, the Storage Performance Development Kit block device (SPDK bdev) interconnects with underlying virtual and physical devices. By enabling compression, encryption, and decryption in the bdev, all SPDK devices can support these features.
- ISA-L
The Intelligent Storage Acceleration Library (ISA-L) is an open-source, high-performance storage algorithm library. On top of the open-source baseline, it leverages NEON and SVE instructions, as well as memory prefetch, to accelerate erasure coding and optimize cyclic redundancy checks (CRC).
- Data Reduction
This feature identifies the patterns of raw data and dynamically matches the optimal compression algorithm model to improve the data reduction rate. In addition, instruction-level optimization is performed for Kunpeng processors to accelerate compression.
- Cache Acceleration
Bcache is a block layer cache of the Linux kernel. It uses SSDs as the cache of HDDs for acceleration.
- KSAL
KSAL is a Huawei in-house storage algorithm library that uses algorithms optimized based on Kunpeng instead of mainstream open-source algorithms to improve storage performance.
- KSML
KSML is a Huawei in-house storage maintenance library that provides fault prediction and slow drive detection.