Testing Performance of Intel® QAT + OpenSSL* Container with Docker

Note

  • The commands below will run only the Intel® QuickAssist Technology OpenSSL* Engine (QAT_Engine) portion of the image built in previous section.

  • openssl speed measures the raw performance of the algorithm itself. The performance of real-world applications will vary depending on the workload and other factors. Configuring an application to use the QAT_Engine is an application-specific procedure, and at minimum, it requires that the application supports OpenSSL’s asynchronous interface.

RSA Test (2048-bit keys)

QAT_Engine for OpenSSL

docker run -it --cap-add=IPC_LOCK --security-opt seccomp=unconfined $(for i in `ls /dev/vfio/*`; do echo --device $i; done) intel/openssl-qat-engine:devel openssl speed -engine qatengine -elapsed -async_jobs 8 rsa2048

OpenSSL* Software (No QAT_Engine)

docker run -it --cap-add=IPC_LOCK --security-opt seccomp=unconfined $(for i in `ls /dev/vfio/*`; do echo --device $i; done) intel/openssl-qat-engine:devel openssl speed -elapsed rsa2048

RSA Results Comparison

Note

Results below are shown for reference only.

RSA Test (2048-bit keys) Results Comparison

QAT_Engine for OpenSSL

OpenSSL Software

Result

16910.5 sign/s

1937.3 sign/s

Gain

8.73x

Baseline

ECDH Test (Montgomery EC Curve X25519)

QAT_Engine for OpenSSL

docker run -it --cap-add=IPC_LOCK --security-opt seccomp=unconfined $(for i in `ls /dev/vfio/*`; do echo --device $i; done) intel/openssl-qat-engine:devel openssl speed -engine qatengine -elapsed -async_jobs 8 ecdhx25519

OpenSSL* Software (No QAT_Engine)

docker run -it --cap-add=IPC_LOCK --security-opt seccomp=unconfined $(for i in `ls /dev/vfio/*`; do echo --device $i; done) intel/openssl-qat-engine:devel openssl speed -elapsed ecdhx25519

ECDH Results Comparison

Note

Results below are shown for reference only.

ECDH Test (Montgomery EC Curve X25519) Results Comparison

QAT_Engine for OpenSSL

OpenSSL Software

Result

100664.2 op/s

35664.4 op/s

Gain

2.82x

Baseline

AES GCM Encryption Test (128-bit keys)

QAT_Engine for OpenSSL

docker run -it --cap-add=IPC_LOCK --security-opt seccomp=unconfined $(for i in `ls /dev/vfio/*`; do echo --device $i; done) intel/openssl-qat-engine:devel openssl speed -engine qatengine -elapsed -evp aes-128-gcm

OpenSSL* Software (No QAT_Engine)

docker run -it --cap-add=IPC_LOCK --security-opt seccomp=unconfined $(for i in `ls /dev/vfio/*`; do echo --device $i; done) intel/openssl-qat-engine:devel openssl speed -elapsed -evp aes-128-gcm

AES-GCM Results Comparison

Note

Results below are shown for reference only.

AES GCM Encryption Test (128-bit keys) Results Comparison (8k blocks)

QAT_Engine for OpenSSL

OpenSSL Software

Result

19801120.77 kB/s

6952815.27 kB/s

Gain

2.85x

Baseline