我要评分
获取效率
正确性
完整性
易理解

Overview

Kunpeng Accelerator Engine (KAE) is a hardware acceleration solution based on the Kunpeng 920 processor. It includes KAE encryption and decryption as well as KAEzip. This document describes KAEzip, its installation and test procedures, and use cases.

KAE encryption and decryption and KAEzip are used to accelerate SSL/TLS applications and data compression, respectively. They can significantly reduce processor consumption and improve processor efficiency. In addition, KAE shields the internal processing details from the application layer. You can quickly migrate services by using the standard OpenSSL and zlib interfaces.

KAE Version Description

KAE is an accelerator developed based on the Kunpeng 920 processor. It uses two driver frameworks: Warpdriver (WD) and User Space Accelerator Development Kit (UADK). It has two sets of code for different kernel versions: KAE 1.0 and KAE 2.0. Table 1 describes the differences.

Table 1 Differences between two KAE code branches

Code Branch

KAE 1.0

KAE 2.0

Supported Kernel Version

4.19

5.10

Corresponding KAE Version

1.x.x

2.x.x

Modules Contained in the Source Code

Kernel driver, user-mode driver, OpenSSL-based KAE, and zlib library

KAE kernel driver, UADK framework, KAEOpensslEngine, and KAEZlib

KAEZlib

KAEZlib is a compression module of KAE. It uses the Kunpeng hardware acceleration module to implement the Deflate algorithm and works with the lossless user-mode driver framework to provide an interface for high-performance compression in gzip or zlib format.

  • It supports the zlib and gzip data formats, and complies with the RFC1950 and RFC1952 standards.
  • It supports the synchronous mode.
  • Maximum compression bandwidth of a single Kunpeng 920 processor: 7 GB/s; maximum decompression bandwidth of a single Kunpeng 920 processor: 8 GB/s
  • Supported compression ratio: approximately equal to 2, which is the same as that of the zlib 1.2.11 interface.

KAE can be used to improve application performance in different scenarios. For example, in distributed storage scenarios, the zlib library is used to accelerate data compression and decompression.

For details about the operations and applications of KAEzip, see the following sections.