intel / QAT_Engine

Intel QuickAssist Technology( QAT) OpenSSL Engine (an OpenSSL Plug-In Engine) which provides cryptographic acceleration for both hardware and optimized software using Intel QuickAssist Technology enabled Intel platforms. https://developer.intel.com/quickassist
BSD 3-Clause "New" or "Revised" License
389 stars 123 forks source link

AES-GCM bandwidth #95

Open benishay opened 5 years ago

benishay commented 5 years ago

hi, i adding a support to AES-GCM to the engine and i getting a low bandwidth when im using iperf with tls.. when i using iperf with software i getting 10-12 Gbits and when im using the engine i get 3 Gbits.. this is logical?? or i didnt use the engine properly?? thanks

stevelinsell commented 5 years ago

Hi @benishay, that would depend on a number of things:

Running asynchronously with 16KB requests to encrypt I would expect the performance to be fairly comparable (if there are plenty of multiple requests going on in parallel, much slower if not). Using smaller packets I would expect SW to see better performance however you run. Running synchronously I would expect SW to give you several times better performance if you are not running lots of connections in parallel threads due to the latency of offloading an individual request.

AES-GCM is best utilized directly at the QuickAssist API rather than through an OpenSSL engine if at all possible so you can eliminate as much as possible the copying between memory buffers that adds overhead.

Kind Regards,

Steve.

benishay commented 5 years ago

Hi Steve,

Would appreciate your help, Ben