Se 4th Gen Xeon Scalable”Sapphire Rapids”procesory jsou uvedeny různé nové akcelerátory dostupné na vybraných SKU nebo prostřednictvím nabídky Intel On Demand. Jednou z počátečních výzev je však omezení podpory raného softwaru akcelerátorů a mnoho upstreamového open source (nebo dokonce jen rozšířeného) softwaru, který ještě není schopen tyto nové akcelerátory využívat. Jedním z vylepšení na této frontě byli inženýři Intelu, kteří pracovali na IAA kryptokompresním ovladači pro jádro, takže In-Memory Analytics Accelerator může být transparentně přístupný pro funkce jádra využívající kryptografické API.
V posledních několika měsících prošel IAA Crypto Compression Driver pro linuxové jádro půl tuctu revizí, dokud se dostal do hlavní řady. Tento nový ovladač zpřístupňuje akcelerátor Intel IAA prostřednictvím kernel crypto API a zase jej může používat kód jádra zacílený na toto API, jako jsou Zswap a zRAM. Ovladač poskytuje synchronizovanou i asynchronní verzi algoritmu DEFLATE implementovaného hardwarem.
Zatímco tento ovladač otevře případy použití jádra pro akcelerátor IAA, poznámky k opravě ovladače uznávají počáteční bolesti hlavy kolem nastavování akcelerátorů Sapphire Rapids, to znamená, že při zavádění schopného softwarového balíku Linuxu to stále nebude hotové:
„Hardware IAA je poměrně složitý a obecně vyžaduje znalého správce s dostatečně podrobnými znalostmi hardwaru k nastavení. jak je uvedeno v dokumentaci, obvykle to vyžaduje použití speciálního nástroje nazvaného accel-config k výčtu a konfiguraci pracovních front IAA, enginů atd., i když to lze také provést pouze pomocí souborů sysfs.
Činnost ovladače odráží tento požadavek a umožňuje přístup k hardwaru přes šifrovací vrstvu pouze poté, co je hardware nakonfigurován a navázán na krypto ovladač IAA. Jako subovladač IDXD přebírá krypto ovladač IAA v podstatě vlastnictví hardware, dokud se ho administrátor výslovně nevzdá. K tomu dochází automaticky, když správce povolí první pracovní frontu IAA nebo zakáže poslední; algoritmy iaa_crypto (synchronizace a asynchronní) jsou registrovány, když je povolena první pracovní fronta, a odregistrovány, když je deaktivována poslední.
Normální sekvence operací by normálně byla:
nakonfigurujte hardware pomocí accel-config nebo sysfs
nakonfigurujte kryptografický ovladač iaa (viz níže)
nakonfigurujte subsystém, např. zswap/zram k použití algo iaa_crypto
spusťte pracovní zátěž”
Když je ale vše nastaveno a funguje s tímto navrhovaným ovladačem, výsledky výkonu jsou s IAA poměrně dramatické využití ve srovnání s čistým softwarem:
Začátkem tohoto měsíce série oprav v6 pro tento ovladač jádra byl poslán ke kontrole. Ačkoli vzhledem k načasování a ještě není vyzvednut větví cryptodev.git, je nepravděpodobné, že tento ovladač bude připraven včas pro nadcházející cyklus Linuxu v6.5. Další překážka byl minulý týden potenciálně vyzdvižen správcem kryptosubsystému Linuxu Herbertem Xu:
Takže jste řekl, že konzerva není kompatibilní s generickým deflačním algoritmem. Znamená to, že neexistuje způsob, jak dekomprimovat něco komprimovaného generickým deflačním algoritmem, a naopak její komprimovaný výstup nelze dekomprimovat generickou deflací ?
Nepřidáváme algoritmus do Crypto API, pokud je jedinou implementací hardwarová. IOW, pokud přidáváte nový algoritmus, pak musí být první opravou verze softwaru.
Tento rozdíl v implementaci deflate od Intelu se zdá být pravý. Vývojáři ClickHouse již dříve ve své podpoře Intel QPL varovali, že pokud chcete přesouvat databáze s akcelerací Intel IAA mezi hostiteli, musíte nejprve převést všechna data, než je stáhnete ze serveru. V takovém případě, pokud má být tento ovladač začleněn do hlavního vedení, bude Intel muset poskytnout softwarovou implementaci i pro jádro.