2

I have a server with an AMD N36L (HP ProLiant MicroServer N36L). It works fine except it is too slow for encrypting 1 Gbps network data and full-disk encryption:

$ openssl speed aes-256-cbc
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-256 cbc      44377.97k    47345.83k    48251.48k    48544.09k    48589.48k    48658.84k

What kind of add-on card can I put in the machine, so the kernel will auto detect this for encryption? I do not want to bother with non-free modules.

Can I simply add a graphics card? https://developer.nvidia.com/gpugems/gpugems3/part-vi-gpu-computing/chapter-36-aes-encryption-and-decryption-gpu

$ lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   48 bits physical, 48 bits virtual
CPU(s):                          2
On-line CPU(s) list:             0,1
Thread(s) per core:              1
Core(s) per socket:              2
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       AuthenticAMD
CPU family:                      16
Model:                           6
Model name:                      AMD Athlon(tm) II Neo N36L Dual-Core Processor
Stepping:                        3
CPU MHz:                         1300.000
CPU max MHz:                     1300.0000
CPU min MHz:                     800.0000
BogoMIPS:                        2595.51
Virtualization:                  AMD-V
L1d cache:                       128 KiB
L1i cache:                       128 KiB
L2 cache:                        2 MiB
NUMA node0 CPU(s):               0,1
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer s
                                 anitization
Vulnerability Spectre v2:        Mitigation; Full AMD retpoline, STIBP disabled, RSB filli
                                 ng
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca 
                                 cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mm
                                 xext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_t
                                 sc rep_good nopl nonstop_tsc cpuid extd_apicid pni monito
                                 r cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy a
                                 bm sse4a 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_
                                 pstate vmmcall npt lbrv svm_lock nrip_save
1
  • AFAIK GPUs can't be used to accelerate encryption workloads performed by the Linux kernel. That would involve copying massive amounts of data from system RAM to VRAM and vice versa. Probably you'll have to upgrade your setup because most modern CPUs accelerate AES. Feb 28, 2021 at 8:01

1 Answer 1

0

I invite you to look at Intel QuickAssist Adapter

These are pci-express card that chips dedicated to offloading encryption and compression .

Beware that to offload you must be sure that the software is capable and your are using a compatible codec , cipher .

Intel Marketing page :

https://www.intel.com/content/www/us/en/products/docs/network-io/ethernet/10-25-40-gigabit-adapters/quickassist-adapter-for-servers.html

Intel technical page : https://01.org/packet-processing/intel%C2%AE-quickassist-technology-drivers-and-patches

Intel Github project : https://github.com/intel/QAT_Engine

1
  • "Beware that to offload you must be sure that the software is capable" Does LUKS support this out of the box?
    – Ole Tange
    May 4, 2021 at 5:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .