Nemůžu teď přispět žádnou relativně novější konkrétní zkušeností s QAT, protože teď podobně jako vy nemám přístup k žádnému hardware, co to podporuje (tzn. buď EPYCy, nebo Xeony bez QATu).
Setkal jsem se s tím kdysi v jedné z prvních verzí, tak 10 let zpátky, a byl to spíš test slabším stroji s odlehčením úplně jiného workloadu (kryptování sym. AES, dlouhé bloky) navíc to řešil v detailu spíš kolega.
Nicméně pořád na to sem tam koukám, zvlášť když se objevují třeba novinky v release notes ohledně QAT v enterprise distribucích.
Co se týká těch materiálů od Intelu, tak je to občas trochu matoucí (as clear as mud:) ), ale v podstatě tam operují s generací QAT HW a verzí QAT HW.
Generací QAT HW je 5, přičemž poslední 4. a 5. je v podstatě jen integrovaná uvnitř nových Xeonů.
Akcelerační karty (PCIe x8 a x16) jsou dneska v podstatě 7 let staré a v 3. generaci. Ty integrované jednotky umí např. víc algoritmů a jsou výkonnější.
Pak to ještě dělí na verze (ne generace) hardware, legacy verze QAT1.x je cokoliv před čtvrtou generací (karty, moduly v čipsetech c62x). Verze QAT2.x pak od čtvrté dál.
Pokud se používají knihovny a ovladače od Intelu (out-of-tree), jsou to dvě oddělené věci.
https://www.intel.com/content/www/us/en/support/articles/000094285/technologies/intel-quickassist-technology-intel-qat.htmlhttps://www.intel.com/content/www/us/en/support/articles/000093843/technologies/intel-quickassist-technology-intel-qat.htmlJinak k tomu OpenSSL. To by nemělo být potřeba patchovat. Minimálně RHEL/Oracle, SLES mají jak ovladače HW, firmware, qatlib (na QAT2.x HW) pro přístup z userspace, tak finálně i balíčky pro qatengine, což je knihovna, co se přidá jako další provider do systémového OpenSSL.
Stran té konkrétní aplikace potom, myslím že u těch věcí, kde se o tom rozepisovali v souvislosti s TLS (např. NGINX, HAProxy), tak v podstatě zásadní pro ty inzerované nárůsty výkonu bylo, že aplikace ten engine z OpenSSL používali asynchronně. Další zajímavá věc bylo to, že v rámci toho offloadování se pak ne všechno hrne na QAT hw engine, jsou části kde se používají "jen" specificky optimalizované algoritmy pro nové Xeony.
Nakonec, jak jsem zmínil, že máte problémy s výraznou výkonovou regresí u OpenSSL 3.x. Jestli jste už teď někde na stropě, nebyla by ještě šance to chvíli provozovat na OpenSSL 1.1.1, než se to dořeší. Upstream je sice oficiálně už mimo okno podpory, ale třeba Oracle/RHEL 8 to pořád má i s nějakými backportnutými CVEčky, podobně třeba SLES. RHEL9 je sestavený s 3.x, ale 1.1.1 je tam jen jako compat-openssl bez devel balíčků.
Jinak právě třeba u HAProxy se právě zmiňuje, že pokud se používá s 3.x, tak např. doporučují používat vnitřní lehčí zámky..
https://github.com/haproxy/haproxy/blob/0a28b1ea0c674f7bcc7ad386abdcf963f9176475/INSTALL#L362