Vélemény: nem csak az FPGA a lényeg az AMD és a Xilinx összeborulásában

Stabil és jó piac az, de sokkal lényegesebb tényező miatt fogták meg egymás kezét.

Az AMD a tegnapi napon jelentette be, hogy egy 35 milliárd dolláros akvizíció keretében gyakorlatilag egyesülnek a Xilinxszel. Az egész persze annyira nem volt váratlan, mert az ügyletet a Wall Street Journal korábban már megszellőztette, így számos álláspont is született a témában, hogy mi lehet a két cég célja.

Olyan nagyon megdöbbentő elemzések azért nem készültek, hiszen az AMD főleg CPU-kat és GPU-kat fejleszt, míg a Xilinx FPGA-kat, és ezekre mind szükség van az adatközpontok piacán. Nem mellesleg az Intel is rendelkezik mindegyik komponenssel, hiszen ők korábban az Alterát vásárolták fel. A dolog adja magát, jönni fognak az Intel és az AMD felől is a CPU-FPGA hibridek, amire a chipletre vonatkozó fejlesztések rá is erősítenek. Emellett persze az FPGA-k több területen stabil piacot képviselnek, ezek nem annyira kritikusak, de az eladott lapkák mennyiségét tekintve azért nem is elhanyagolhatók.

Valószínű azonban, hogy mégsem ez vezette az AMD-t a Xilinxhez, hanem az a koncepció, amit az utóbbi vállalat pár éve felvázolt az ACAP-pal, vagyis adaptive compute acceleration platformmal, ami számos részegységet kombinál a heterogén gyorsítás általános alkalmazása érdekében. A Xilinx szerint ennek az előnye a kötetlen programozhatóság kombinálása a doménspecifikus hardveres gyorsítással. Ez a rendszer a Versal termékcsalád égisze alatt már létezik, és tényleg működik, de talán érdemes átnézni, hogy mi vezette egyáltalán a Xilinxet az ACAP kifejlesztéséhez.

Az FPGA-kat fejlesztő cég még sok éve vázolta fel azt, hogy a félvezetőgyártó iparág időről-időre beleütközik valamilyen limitbe. Ha visszaemlékszünk a processzorok fejlődésére, akkor nagyon sokáig elvoltunk egy mag teljesítményének emelésével, aztán az ezredforduló környékén már éreztette hatását az, hogy Robert H. Dennard skálázási szabálya nem működik már olyan jól. Jöttek is a többmagos processzorok, amelyek skálázásával azóta sem álltunk le, viszont most meg Amdahl törvénye kezdi erősebben felütni a fejét. Ezen némileg enyhít a Gustafson-Barsis-törvény, de az egy specifikus helyzetre reflektál, ami egyébként igaz, hiszen tetszőlegesen nagy adathalmazok mellett a feldolgozás alapvetően jól párhuzamosítható maradhat.

A kérdés nem is az, hogy innen hova érdemes lépni, hiszen az eléggé világos, hogy a heterogén feldolgozás a jövő. Csak akkor lehet tovább gyorsulni, ha az egyes feladatok a számukra megfelelő részegységeken futnak. Ez közel sem újdonság, a hogyan viszont egy fontos tényező.

A jó hír, hogy nem nehéz kategorizálni a tipikus feladatokat. Ha komplex algoritmusok futtatására van szükség, akkor arra leginkább a főleg skalár feldolgozásban jeleskedő CPU az ideális. Amennyiben szabálytalan adatszerkezetek feldolgozása a fő cél, esetleg kritikus fontosságú a valós idejű eredmény, akkor az FPGA a legjobb alternatíva. Végül a doménspecifikus párhuzamossághoz valamilyen vektormotor az ideális. Utóbbi esetben azért elég sok lehetőség adódik, hiszen a feladatok is nagyon eltérők, amihez hardverből érdemes igazodni, viszont az elméleti háttér minden esetben ugyanaz, az adatpárhuzamos végrehajtásra kell törekedni.

Ha a fenti bekezdésből indulunk ki, akkor az AMD nyilván le tudja fedni a CPU-val a komplex algoritmusokat, illetve a GPU-val a doménspecifikus párhuzamosságot. Maradt tehát az igény az FPGA-ra, amit nyilván a Xilinx tud biztosítani, de ami ennél valamivel lényegesebb, hogy a doménspecifikus párhuzamosság tekintetében számos alternatív út létezik. Többek között egy DSP és egy GPU is vektormotorokkal dolgozik, mégsem jók pontosan ugyanarra. És ezen leginkább azt kell érteni, hogy felépítéstől függően lényeges különbség lehet az egyes, vektormotorokkal dolgozó hardverek hatékonysága között, amit ráadásul a futtatott alkalmazások is jelentősen befolyásolnak.

Az AMD oldalán a Radeon termékskála megfelelő a doménspecifikus párhuzamosságra, effektíve lefuttat bármilyen jól párhuzamosítható kódot, csak bizonyos területeken nem tud olyan jó hatékonyságot elérni, mint egy más felépítésű hardver. Ugyanez igaz a Xilinx, Versal termékcsaládjába szánt lapkáiban a digitális jelfeldolgozó processzormagokra. A kódokat megeszik, de valamiben jobban lesznek, mint például egy Radeon, másban pedig rosszabbak. Ez az a kulcstényező, ami miatt a szóban forgó egyesülés létrejön. Nem igazán lehet olyan vektormotorokra épülő feldolgozóelemeket építeni, amelyek tényleg mindenben jók, és eközben még a tranzisztorok tekintetében sem esnek át a fejlesztéssel a ló túloldalára.

Az AMD-nek tehát már van a Radeon sorozattal egy alapvetően jó, adatpárhuzamos végrehajtásra kihegyezett dizájnja, de az ebbe kerülő multiprocesszorok eléggé komplexek. Ennek hála iszonyatosan jól működnek különböző szimulációs feladatokban, de ha mondjuk kapnak egy gépi tanulás dedukció szakaszára vonatkozó problémát, akkor abban azért találni a piacon nem kevés jobb alternatívát. Például a Xilinx AI motorokkal kiegészített DSP feldolgozócsoportjait a Versal gyorsítókban, amelyek ebben kiemelten hatékonyak, ugyanakkor a különböző szimulációs feladatokban azért nem szeretnének szembenézni egy Radeonnal.

A Xilinxnek tehát alapvetően hiányzik az, ami az AMD-nek megvan, és ez fordítva is igaz, azaz a két cég alapvetően kiegészíti egymást. Ami viszont az AMD számára lényeges, hogy külön komponensszintjén CPU-t építeni nem annyira nehéz, a GPU vagy a DPS, illetve az esetleges AI feldolgozó is vállalható feladat, sőt, még az FPGA is. Ezeket viszont egybegyúrni már nem egyszerű. Márpedig végeredményben, sok éves távot nézve olyan rendszerek kellenek majd a szerverpiac számára, amelyek tartalmaznak CPU-magokat, integrált GPU-t, DPS-t, specifikus AI feldolgozókat, illetve FGPA-t is. Mindegyik fontos komponens, mert a piac lassan átalakul, az adatközpontok új igényeket támasztanak a hardverek felé, és eléggé előnyös, ha a készülő fejlesztés nagyon jó általános számításban, különböző szimulációkban, a hálózat gyorsításában (SmartNIC opció), az AI és I/O feladatok hatékony feldolgozásában, illetve a késleltetéskritikus környezetekben.

Ezek ugyan kifejleszthetők, de egyrészt időbe kerül, másrészt költséges is. Harmadrészt pedig szükséges hozzá egy szoftveres háttér. Az AMD például a saját CPU-ihoz és GPU-ihoz a ROCm szoftverkörnyezetet biztosítja, míg a Xilinx a Versal termékcsalád hardvereit a Vitis platformon keresztül teszi kihasználhatóvá. Az akvizícióval azonban ezeket a technológiai háttereket csak össze kell olvasztani, hiszen már gyakorlatban is működő rendszerekről van szó. És bár költségesnek hat ezért sok tízmilliárd dollárnyi kiadás, de nem valószínű, hogy hatékonyabb lenne nulláról belevágni az új hardverelemek, illetve a hozzájuk való szoftveres háttér kidolgozásába.

A hosszabb távú cél egyértelműen a nagy teljesítményű, extrém mértékben skálázódó szerverekre vonatkozó igények lefedése. Már ma is érezteti a hatását, hogy az exascale rendszerek felé vezető úton a cégek egy beszállítóban gondolkodnak a CPU-t és a GPU-t tekintve, mert ezzel biztosítható a memóriakoherencia a két részegység között. Ez lassan a kisebb dizájnok felé is eltolódik majd, mert nem mindegy, hogy a megírt szoftver kódja mennyire bonyolult, alapvetően sokkal kellemesebb úgy fejleszteni, ha a memóriamásolásokkal nem kell külön, a programkód szintjén törődni. Ebbe ugyanúgy be lehet olvasztani majd az FPGA-kat, és az egyéb gyorsítókat, például a Xilinx, AI motorokkal kiegészített DSP-it. Ezzel születne egy olyan komplett platform, ahol az összes fontos komponens memóriakoherens interfészen keresztül kapcsolódik egymáshoz, például az AMD esetében az Infinity Fabric technológiával, és ezek így nagyon hatékonyan programozhatók lesznek.

Később az integráció is szerepet játszhat, hiszen lassan a bérgyártók igen komplex tokozási technológiákkal állnak elő, és ez nagyon megkavarhatja az adatközpontok piacát. A szimplán elérhető, tömegpiacra szánt termékek mellett egyszerűsödne az egyedi igények kiszolgálása. Egy vezérlésre szolgáló I/O lapka mellé vagy fölé elhelyezhető lenne bizonyos számú CPU, GPU, AI-DSP, illetve FPGA chiplet, valamint felejtő és nem felejtő memória. Ezek kombinációját tetszőlegesen meghatározhatná egy nagyobb megrendelő, teljesen igazodva a saját igényeihez, az AMD pedig csak összelegózza számukra az optimális dizájnt a már kész chipletekből. A fejlesztési költsége ennek minimális, hiszen az igazán drága dolog a lapkák letervezése, ezeket viszont ide-oda pakolgatni a tokozáson már nem nagy munka, miközben alapvetően egy olyan irány születik, amelyben extrém hatékonyan lehet kiszolgálni minden nagyobb megrendelő igényeit. Főleg complex kódok futnak majd a rendszeren? Semmi gond, sok CPU chiplet kell. Lényeges a késleltetéskritikus feldolgozás? Probléma egy szál se, csak több FPGA chiplet kell a tokozásra. A memória-sávszélesség és az adatpárhuzamos feldolgozás a fontos tényező? Mi sem egyszerűbb ennél, erre vannak a GPU és AI-DPS chipletek, illetve a HBM memóriaszabvány. Mindez eléggé hajaz a vállalat Semi-Custom üzletágának céljaira, csak nem négy-öt éves távon biztosítható egy termék, hanem a megrendeléstől számítva pár hónapon belül. Ez elég hasznos irány lenne a saját dizájnok felé nézelődő nagy cégeknek, amelyek pont azért terveznének egyedi chipet magoknak, hogy kiszolgálják a saját specifikus igényeiket. Közel sem elképzelhetetlen, hogy az AMD és a Xilinx összeborulása már egy reakció erre a veszélyre. Az üzenet egyértelmű: nem érdemes kockáztatni a saját chipdizájnnal, ha össze is lehet legózni az ideális csomagot.

Azóta történt

Előzmények

Hirdetés