Včera jsme psali o tom, že AMD opět (už podruhé) zrušilo plán vyrábět Arm procesory. Ovšem zřejmě největší veterán světa počítačů IBM se teď naopak k instrukční sadě Arm přiklání a začíná ji používat. Ovšem zajímavým způsobem – nenahrazuje jí svou stávající architekturu (nebo aspoň zatím ne), ale představuje procesor, který má svou vlastní instrukční sadu, ale současně je také plně kompatibilní s architekturou Arm.
IBM teď představilo novou generaci procesorů pro mainframy řady Z Series (či z Series, grafická podoba se během let měnila), která podporují současně dva režimy – svou vlastní původní instrukční sadu a současně 64bitovou instrukční sadu Arm. Ta bude sloužit k běhu serverových aplikací na Linuxu (IBM tuto platformu nazývá systém LinuxONE). Procesor bude tímto z pohledu softwaru nabízet přímou kompatibilitu se softwarem, vydaným a odladěným pro tuto platformu, aniž by vyžadoval jakékoli úpravy. Uživatelé mainframů tak vedle svých speciálních nebo legacy systémů určených pro mainframy budou moci flexibilně používat i mainstreamový serverový software na stejném hardwaru.
Je třeba upozornit, že tato zpráva se netýká procesorů IBM Power, které nejspíš znáte (v jejich linii IBM nedávno vypustilo novou generaci Power11). Firma IBM stále pokračuje i s vývojem svých tzv. mainframe počítačů, česky by se řeklo sálových počítačů pro vysoce náročné kritické aplikace a systémy, s avizovanou 99,999999% dostupností.

Tato platforma nazvaná IBM Z Series, Z Architecture nebo z/Architecture je pokračováním historických sálových počítačů IBM System/360 (z roku 1964), System/370 (1970) a System/390 (rok 1990) a stále podporuje běh historického softwaru z té doby – ovšem s 64bitovou instrukční sadou navíc k podpoře starších instrukčních sad. První generace 64bitové architektury Z vyšla v roce 2000 a postupně vzniklo, pokud to dobře počítáme, deset generací, poslední je označená z17 (počítání začalo u z9) s procesorem také označeným IBM Telum II.

Nový dual-ISA procesor Z
Zatím nevíme, jak se nyní prezentovaný procesor s duální podporou architektury Z a architektury Arm („LinuxONE“) bude jmenovat. Možná Telum III, měl by snad pohánět generaci počítačů z18. Bude opět splňovat parametry třídy sálových počítačů ohledně spolehlivosti a dalších funkcí specifických pro tento segment. Čip je vyráběný 2nm procesem a obsahuje 11 jader – respektive zřejmě 12 jader fyzicky v křemíku s tím, že jedno je vždy vypnuto. To dovoluje uplatnit i čipy s defektem. Takt jader je plánován 5,7 GHz nebo vyšší („5,7 GHz+“) a podporují technologii SMT – každé zpracovává dvě vlákna. Procesory by se měly sdružovat do nodů po osmi kusech (tzv. drawerů).
Všechna tato jádra podporují jak instrukční sadu IBM Z, tak 64bitovou instrukční sadu Arm, konkrétně ArmV9.3 včetně SVE a SVE2. Celkově má jít o 2792 Arm instrukcí a jádro pro ně bude mít 239 fyzických registrů. Jedná se o plnohodnotnou nativní podporu binárního kódu běžícího na jádru (včetně kompatibility se standardem SystemReady), nikoliv nějakou formu emulace nebo pouze funkcí k urychlení emulace. Tato instrukční sada používá little endian formát dat (pořadí bajtů), zatímco Z architecture je nativně big endian.

IBM na konferenci Hot Chips prezentovalo některé detaily, které potvrzují, že jádra podporují obě instrukční sady nativně napříč v celé své pipeline. IBM za tímto účelem přidalo do jader potřebné schopnosti či přepracovalo různé jednotky tak, aby fungovaly v obou režimech, pokud nebylo možné jednotku určenou pro instrukce Z použít rovnou. Například prediktory větvení nebo TLB bylo možné adaptovat bez velkých změn, výpočetní jednotky vyžadovaly tu menší, tu větší změny – například pro podporu SIMD instrukcí SVE/SVE2 bylo třeba předělat řídící logiku a vykonávací jednotky musely dostat podporu práce s datovými typy FP16/Bfloat16.

Procesor zpřístupňuje softwaru běžícímu v režimu Arm i různé speciální akcelerátory architektury Z, jako akceleraci kryptografie, komprese gzip nebo jednotky pro akceleraci AI. Zatímco v architektuře Z se používají pomocí CISC instrukcí CPU, v režimu Arm s Linuxem jsou zpřístupněné jako separátní zařízení.
Linuxový OS by na těchto serverech měl běžet ve virtualizaci KVM, která umožňuje spouštět současně jak Linux v režimu Arm, tak Linux běžící nad instrukční sadou s390x. Vedle toho na jádrech může běžet i původní a výchozí operační systém platformy z/OS – pro každý mohou být na procesoru vyhrazené logické oddíly jader. Režim instrukční sady, kterou jádro (respektive vlákno) procesoru zpracovává, je podle IBM možné přepnout během několika nanosekund.

Každé jádro má velmi velkou privátní L2 cache o kapacitě 36 MB. Ač jde ale o privátní cache jádra, ostatní pro ostatní jádra je kombinace všech L2 cache zpřístupněná jako virtuální L3 cache (u té IBM uvádí kapacitu 432 MB, což by odpovídalo všem fyzicky přítomným 12 jádrům, možná jsou tedy poskytnuté i bloky cache vypnutého jádra?). Procesor má také virtuální L4 cache o kapacitě 3,5 GB. To by snad měla být kombinace všech L2 cache v osmiprocesorovém nodu („drawer“) tvořícím stavební komponentu počítačů Z Series. Tato dost nezvyklá koncepce je přejatá z předchozích procesorů IBM Telum (z16) a IBM Telum II (z17).

Tento hardware asi stejně jako předchozí mainframy IBM neuvidíme v nějakém širokém využití a zůstane v těch oblastech, kde je používaný nyní – zda se IBM povede podporou Arm Linuxu pro architekturu Z dobýt nějaké nové trhy či větší rozšíření, to teprve uvidíme. Podpora dvou historicky nesouvisejících instrukčních sad stejným procesorem je každopádně zajímavý počin, i když je pravda, že ne zcela bezprecedentní – je pravda, že 32bitová a 64bitová instrukční sada Arm nejsou kompatibilní, takže CPU jádra, která měla podporu pro obě, byla v jistém smyslu podobný koncept. Ale asi ne tak složitý k implementaci.
V minulosti bývaly vyslovovány návrhy na to, aby vznikly procesory podporující současně architekturu Arm a x86 pro kompatibilitu s existujícím softwarem, obvykle asi se záměrem postupně přejít na Arm a x86 časem opustit. Ale taková CPU by logicky musely vyvinou firmy AMD nebo Intel vlastnící (a „chránící“) licenci na instrukční sadu x86, pro které by to nebylo takticky chytré. Přechod světa z x86 procesorů na architekturu Arm by jim vzal jejich unikátní konkurenční výhodu. IBM teď demonstruje podobnou architekturu a to, že technicky je možné takový duální procesor udělat – byť je pak asi dražší na výrobu kvůli tomu, že v každém jádru je třeba mít logiku navíc. Ale je otázka, zda tento koncept někdo bude následovat.
Zdroje: IBM, ServeTheHome
Jan Olšan, redaktor Cnews.cz
⠀






