So 4th Gen Xeon Scalable”Sapphire Rapids”procesormi sú predstavené rôzne nové akcelerátory dostupné na vybraných SKU alebo prostredníctvom ponuky Intel On Demand. Jednou z počiatočných výziev sú však skoré obmedzenia softvérovej podpory urýchľovačov a mnoho upstream softvéru s otvoreným zdrojovým kódom (alebo len rozšíreného) softvéru, ktorý ešte nemá povolené využívať tieto nové akcelerátory. Jedným z vylepšení v tejto oblasti boli inžinieri Intelu, ktorí pracovali na IAA krypto kompresnom ovládači pre jadro, takže In-Memory Analytics Accelerator môže byť transparentne prístupný pre funkcie jadra využívajúce krypto API.

Za posledných niekoľko mesiacov prešiel IAA Crypto Compression Driver pre linuxové jadro poltuctom revízií, kým sa dostal do hlavnej línie. Tento nový ovládač sprístupňuje akcelerátor Intel IAA prostredníctvom kernel crypto API a následne ho môže používať kernel kód zameraný na toto API, ako sú Zswap a zRAM. Ovládač poskytuje synchronizovanú aj asynchrónnu verziu algoritmu DEFLATE implementovaného hardvérom.

Zatiaľ čo tento ovládač otvorí prípady použitia jadra pre akcelerátor IAA, poznámky k oprave ovládača uznávajú počiatočné bolesti hlavy pri nastavovaní akcelerátorov Sapphire Rapids, t. j. stále to nebude hotové pri zavádzaní schopného balíka softvéru Linux:

„Hardvér IAA je pomerne zložitý a vo všeobecnosti vyžaduje znalého správcu s dostatočne podrobnými znalosťami hardvéru na nastavenie ako je uvedené v dokumentácii, zvyčajne si to vyžaduje použitie špeciálneho nástroja s názvom accel-config na výpočet a konfiguráciu pracovných frontov IAA, motorov atď., hoci to možno vykonať aj iba pomocou súborov sysfs.

Prevádzka ovládača odzrkadľuje túto požiadavku a umožňuje prístup k hardvéru cez krypto vrstvu iba vtedy, keď je hardvér nakonfigurovaný a naviazaný na IAA krypto ovládač. hardvér, kým sa ho správca výslovne nevzdá. K tomu dochádza automaticky, keď správca povolí prvý pracovný front IAA alebo zakáže posledný; algoritmy iaa_crypto (synchronizácia a asynchronizácia) sa zaregistrujú, keď je povolený prvý pracovný front, a odregistrujú sa, keď je vypnutý posledný.

Normálna postupnosť operácií by normálne bola:

nakonfigurujte hardvér pomocou accel-config alebo sysfs

nakonfigurujte iaa crypto driver (pozri nižšie)

nakonfigurujte subsystém napr. zswap/zram na použitie algoritmu iaa_crypto

spustenie pracovného zaťaženia”

Ale keď je všetko nastavené a funguje s týmto navrhovaným ovládačom, výsledky výkonu sú s IAA dosť dramatické používanie v porovnaní s čistým softvérom:
Začiatkom tohto mesiaca séria opráv v6 pre tento ovládač jadra bol odoslaný na kontrolu. Hoci vzhľadom na načasovanie a ešte nie je prevzatý vetvou cryptodev.git, je nepravdepodobné, že tento ovládač bude pripravený včas pre nadchádzajúci cyklus Linuxu v6.5. Ďalšia prekážka bol minulý týždeň potenciálne vytvorený správcom kryptosubsystému Linux Herbertom Xu:

Takže ste povedali, že preddefinované nie je kompatibilné s generickým deflačným algoritmom. Znamená to, že neexistuje spôsob, ako dekomprimovať niečo komprimované všeobecným deflačným algoritmom a naopak, jeho komprimovaný výstup nemožno dekomprimovať generickým deflačným algoritmom ?

Do rozhrania Crypto API nepridávame algoritmus, ak je jedinou implementáciou hardvérová. IOW, ak pridávate nový algoritmus, potom verzia softvéru musí byť prvou opravou.

Tento rozdiel v implementácii deflate od Intelu sa zdá byť pravý. Vývojári ClickHouse vo svojej podpore Intel QPL už skôr varovali, že ak chcete presúvať databázy s akceleráciou Intel IAA medzi hostiteľmi, musíte najprv skonvertovať všetky údaje a až potom ich stiahnuť zo servera. V takom prípade, ak má byť tento ovládač zavedený, Intel bude musieť poskytnúť softvérovú implementáciu aj pre jadro.

Categories: IT Info