White Papers
8
|
QAT Whitepaper
© 2019 Dell Inc. or its subsidiaries.
3.4 Example Software stack
Figure 6 shows the integration of QAT into NGINX, providing both
encryption and compression for the web server. This diagram puts the
QATzip library in context, showing its relation to application software
and the driver.
3.5 Experiment Results
The results shown in Table 2, Figure 7, and Figure 8 were obtained on
an MX740c blade server with two Intel
®
Xeon
®
Gold 5117 CPUs running
at 2 GHz. There was 281GB of RAM on the machine, and files were
cached so disk operations would not skew the results. The operating
system was Red Hat Enterprise Linux 7.6. The files under test were
created from arbitrary data. Intel has already published results from
the Calgary Corpus dataset, so we chose to confirm performance
with randomly selected binary and text data,
1
which was also useful in
creating large files so the performance could be easily observed over
an extended time. For the comparison, gzip performance was collected
alongside QATzip performance. We chose a compression level (4) that
offered the most similar ratios. The times were captured as the total of
“user” plus “system” time for the threads executing the compression.
Commands used are shown in Appendix section 6.1.
Figure 6 – QAT integration into the
NGINX web server
gzip/gunzip
QATzip
Test file
Size
Comp. ratio
gzip
comp.
time(s)
gzip
decomp.
time (s)
comp.
ratio
qzip
comp.
time(s)
qzip
decomp.
time (s)
% accel.
file #1
1GB
1.86
16.76
5.89
1.87
1.75
1.08
89.6%
file #2
1GB
8.45
38.28
8.90
9.16
2.43
2.08
93.6%
file #3
1GB
1.25
43.17
9.61
1.26
2.59
2.29
94.0%
file #4
1GB
1.03
39.74
6.46
1.03
2.71
2.32
93.2%
Table 2 – Compression and Decompression comparison between a software-only (CPU) operation vs. a QAT assisted operation
Figure 7 – Compression time comparison Figure 8 – Decompression time comparison
1 The exact content was less important in this experiment as investigating some variety of compressible vs. uncompressible data. For this, some .tar files for FPGA tool installers were used (not
compressible), and there was some text data (source code) mixed with the binary data. The data that was compressible is evident in the results.