Még nincs eldöntve a memóriakoherencia kérdése a PCI Express 6.0-ban

Sajnos a rendszer fejlesztése túlságosan előrehaladott a nagyobb módosításokhoz, de jelentős igény esetén van esély rá.

Az már világos, hogy a memóriakoherencia lesz a következő generációs, szerverpiacra szánt rendszerek nagy előnye, amire gyakorlatilag minden cég készül, de a szabványosítás tekintetében túlzottan azért nem egyeznek az álláspontok. A probléma mindenki számára világos, hiszen a gyorsítókra szükség van a szervereken belül, elvégre bizonyos célfeladatokat jelentősen tempósabban futtatnak a processzoroknál. A gondot elsődlegesen a programozás, illetve a skálázhatóság jelenti. Mindkét helyzetre egy viszonylag egyszerű megoldás az, ha az egy node-on belüli gyorsítókat és processzorokat egy memóriakoherens interfész kötné össze.

Az elmélet logikus, ha minden egyes hardver ugyanaz a memóriaképet látná, akkor nem kellene a rendkívül problémás adatmásolásokkal a programkód szintjén törődni, ami drámaian leegyszerűsítené a gyorsítók programozását, miközben magának a rendszernek a hatékonyságát is növelné. Nem véletlenül megy minden érintett erre, a gondot leginkább az jelenti, hogy lassan jönnek a szabványos memóriakoherens interfészek. Pedig az iparág igazából még készült is erre. Az IBM CAPI, vagy éppen a CCIX több évesnek projektnek tekinthetők, mindkettő szabványos, a célnak tulajdonképpen megfelelnek, de az NVIDIA, az Intel és az AMD is kis banánhéjakat dobál be a közösbe, azaz nem nagyon rajonganak a gondolatért, hogy valamelyik megoldást túlzottan gyorsan implementálják. Pedig az említett három cég lényeges a piac szempontjából, mert az NVIDIA-nak a GPU-i vannak nagyobb mennyiségben a szerverekben, míg az Intelnek és az AMD-nek a CPU-i.

A cégérdekek nyilván érhetők. Az NVIDIA számára tökéletes a saját fejlesztésű NVLink, amire csak ők terveznek gyorsítót. Persze támogathatnák mondjuk közvetlenül az IBM CAPI-t is, de hova vezetne az, ha más termékkatalógusát is felcsapnák a megrendelők? Az Intel és az AMD is saját fejlesztésű megoldásokon dolgozik. Előbbi cég a CXL-t, míg utóbbi az Infinity Fabricot részesíti előnyben. Egyelőre egyik sem szabvány, bár a CXL egyszer talán lehet az, de ahhoz még sok víznek le kell folynia a Dunán. Természetesen itt is érthetők a háttérben húzódó hatalmi játszmák; ugyan mi jó sülne ki abból, ha az Intel és az AMD processzorai mellé nem csak Intel és AMD gyorsítókat lenne érdemes venni?

Akkor ennyi volt? Megteremtették a láncokat a gyártók? Szerencsére nem. Csak első pillantásra tűnik nagy ötletnek bizonyos processzorokhoz kötni az egyes gyorsítókat. A valóságban számolni kell a hátrányokkal is, ugyanis ilyen formában eléggé felforgatható a piac jellegzetes eloszlása. Ha például az egyik cég nagy előnyre tesz szert a processzoroknál, akkor az gyorsító kiválasztását is eldöntheti. A gyártói bezárkózáson tehát legalább annyit lehet nyerni, mint amennyit bukni, így finoman szólva is kockázatos lépésnek tekinthető. Rövidebb távon persze már mindegy, az elkövetkező két-három generációnyi, szerverekbe szánt fejlesztés lefutottnak tekinthető, vagyis az Intel és az AMD a saját fejlesztésű gyorsítóikat a processzoraikhoz kötik, ahogy az NVIDIA is hozzáláncolta magát az NVLink interfészhez, vagyis lényegében az IBM dizájnjaihoz. Ez valószínűleg nem véletlen, hanem stratégiailag megfontolt döntés mindhárom szereplő részéről, mivel kis változások is lényeges folyamatokat indíthatnak el ezen a piacon, de óhatatlanul benne van a pakliban, hogy leginkább csak egy fog közülük győztesen kijönni, azt persze még túl korai lenne megmondani, hogy melyikük.

Hosszabb távon már szabvány mindenkinek az érdeke, mivel jelentősen csökkenti az egyes termékre vonatkozó kockázatokat. Például ha egy processzor nem sikerül jól, de egy gyorsító igen, akkor utóbbi még igen jól eladható a szabványos interfészre, miközben egy ilyen rendszer életútját megtörhetné, ha egy gyenge CPU-hoz lenne láncolva. A nagy kérdés, hogy mikor lesz ténylegesen átfogó szabvány a memóriakoherencia kérdésére. Jelen pillanatban erre a CCIX-nek és a CXL-nek van a legnagyobb esélye. Előbbi jóval kiforrottabb, hiszen régebb óta fejlesztik, viszont az Intel ragaszkodik a CXL-hez. Végeredményben a piac többségének mindegy, csak jöjjön már valami. Mindkét megoldás mögött egy hasonlóan működő konzorcium áll, tehát pusztán piacpolitikai szempontból teljesen jók a szabványosítás céljából, amit úgy kell érteni, hogy egyik gyártó sem élvez előnyt a másikkal szemben.

A legfőbb cél az lehet, hogy valamelyik memóriakoherenciát biztosító interfészt beemeljék a PCI Express technológiába. Erre a 6.0-s verzió lenne kézenfekvő, de a sok vita miatt nem egyértelmű, hogy megvalósítható. Információink szerint jelen pillanatban még nyitva áll az ajtó, ugyanakkor a rendszer fejlesztése már előrehaladott, és csak jelentős igény esetén képezheti megfontolás tárgyát a CXL-lel vagy a CCIX-szel való szabványos kiegészítés. Itt tudni kell, hogy itt nem pont a specifikáció a gond, hanem az implementálás. Nem mindenki számára fontos a memóriakoherencia, miközben az implementációs költségeket megnövelné, ha ez kötelező elem lenne. Ráadásul a PCI Express 6.0 kapcsán eleve nagyobb költségeket eredményez a visszafelé kompatibilitás biztosítása.

Egyelőre nagyobb az esély rá, hogy a kötelező memóriakoherencia kimarad a PCI Express 6.0-ból, de úgy tudjuk, hogy opcionálisan még reális lehetőség. Utóbbi egyfajta arany középút, ami megfelelne mindenki számára. Akinek kell ez a képesség, implementálni tudná egy szabványosított kiegészítéssel, miközben a többiek nem nyelnék le ennek a költségnövelő elemeit.

Azóta történt

Előzmények

Hirdetés