Extrém skálázhatóságot hoz az Imagination MIPS I6500-as processzora

A Warrior családba szánt új fejlesztés a HSA platformra is kiemelten koncentrál, így heterogén dizájnban is használható.

Az Imagination lassan négy éve kebelezte be a MIPS megmaradt szabadalmait, amire a vállalat már számos saját fejlesztést épített. A cég ugyanakkor erre a felvásárlásra hosszabb távú projektként tekintett, és már korábban is elmondták, hogy az igazi eredmények az évtized második felétől jönnek majd. Nos annyira repül az idő, hogy már benne is vagyunk a megcélzott időintervallumban, és úgy néz ki, hogy a most bemutatott MIPS I6500-as fejlesztéssel tényleg nem viccel az Imagination.

Az I6500 a két éve bemutatott I6400-as mag továbbfejlesztése. Az előbb linkelt hírt azért is érdemes elolvasni, mert magának a processzormagnak a felépítése nem változott, tehát a korábban leírtak mind igazak rá. Az Imagination szerint az alapok így is elég jók, így az új magnál a skálázhatóságra és a heterogén dizájnok kialakíthatóságára koncentráltak. Ezek voltak ugyanis az I6400-as fejlesztés gyenge pontjai.

Az I6500 abból a szempontból is megegyezik az I6400-zal, hogy maximum négy szál futhat egy magon, és ebből a magból egy klaszterben maximum hatot lehetett alkalmazni. Természetesen több klasztert is be lehet építeni, de itt jönnek elő az I6400-nál a problémát. A klaszterek között ugyanis biztosítani kellett a gyorsítótár koherenciát, amit szoftveresen lehetett vezérelni. Ez egyrészt működik, hiszen ha az egyik magról egy másik magnak kellett átadni a feladatot, akkor a munkát végző magnak ki kellett írnia a szükséges adatokat a memóriába, majd a célzott magnak ezeket be kellett olvasnia. Ugyanakkor a probléma ott kezdődik, hogy ez a folyamat a sok memóriaelérés miatt rendkívül lassú, továbbá rengeteg energiát felemészt. Az I6500-as fejlesztés erre reagál a hardveres gyorsítótár koherencia bevezetésével, amivel tulajdonképpen a fenti probléma nem létezik, így a processzormagok egyszerűen átadhatják a feladatokat a többi magnak.

Az I6500 legjobb pontja azonban mégsem ez, mivel ugyanolyan klaszterek között hardveres gyorsítótár koherenciát biztosítani nem egy komoly fegyvertény, erre viszonylag sokan képesek, maximum a célzott terület tekintetében nem tartják fontosnak ezt a funkciót. Ugyanakkor a tipikus rendszerchipek olyanok, hogy a beépített klaszterekben nem ugyanolyan processzormagokat tartalmaznak. Ilyen, úgynevezett heterogén klaszterek között már sokkal nehezebb a feladatok átadása, ugyanis résztvevő klaszterek közül a feladatot megkapó klaszter L1 és L2 gyorsítótára szakszóval kifejezve hideg lesz, vagyis a gyorsítótárban lévő adatok nem hasznosak, márpedig a gyorsítótárak felmelegítése, azaz hasznos adatokkal való telítése időbe kerül. Az Imagination ez ellen úgy védekezne, hogy lehetővé tenné az olyan klasztereket, amelyekbe eltérő processzormagok is építhetők. Bár nyilván ennek a feltétele a cég által kidolgozott saját hardveres gyorsítótár koherencia, de elképzelhető, hogy ha például szükség lenne egy olyan rendszerchipre, amibe négy darab nagy teljesítményű és négy darab alacsony fogyasztású mag kell, akkor azt nem a szokásos nagy teljesítményű és alacsony fogyasztású klaszterként lenne csoportosítva. Ehelyett lenne két ugyanolyan klaszter, amelyek egyszerre tartalmaznának két darab nagy teljesítményű és két darab alacsony fogyasztású magot. Ezzel ugyan az L1 gyorsítótár a feladatok átadásánál hideg lesz, de az L2 gyorsítótár már nem, így a felmelegítés ideje radikálisan lecsökken.

Processzormag a gyorsító ellen
Processzormag a gyorsító ellen

Az Imagination azonban ennél is továbbmegy, és beveszi a képletbe a gyorsítókat is, amelyek a SIMD motorjaik által lényegesen nagyobb hatékonysággal számolnak, mint a processzormagok. A cég szerint itt nem csak a gyorsulás lehetőségét kell figyelembe venni, hanem az energiahatékonyságot is, mivel egy megosztott virtuális memóriát támogató gyorsító jellemzően még akkor is jóval kevesebb energiát igényel ugyanahhoz a számításhoz, ha éppenséggel nem végez gyorsabban egy processzormagnál. Ennek az oka, hogy a CPU-ba integrált SIMD motorok arra kényszerítik a processzort, hogy DMA vezérlőként funkcionáljanak, amikor az adatot mozgatják, és ebben egy CPU rendkívül rossz hatásfokú. Általánosan jó megoldás erre nincs, mindig az adott feladat igényeit figyelembe véve kell kiválasztani a megfelel feldolgozót.

Az IOCU funkciója
Az IOCU funkciója

A kisebb gyorsítók integrálása mellett érdemes megfontolni az IOCU-k, azaz az IO koherens egységek processzorklaszterekbe történő beépítését is. A tipikusan alkalmazott gyorsítók nagy adatmennyiségen dolgoznak, így toleránsak a késleltetéssel szemben, és nem is zavarják a processzormagokat a munkában. Opciós lehetőség van azonban kisebb gyorsító beépítésére is, amelyet direkten be lehet kötni az MMU-ként funkcionáló IOCU-ba. Az így integrált gyorsító direkt hozzáférést kap a processzorklaszter L2 gyorsítótárához, és oda vissza is írja az adatokat, amiket a processzormagok el is érhetnek.

A MIPS I6500 skálázhatósága a NetSpeed Gemini kapcsolattal
A MIPS I6500 skálázhatósága a NetSpeed Gemini kapcsolattal

A fentieket figyelembe véve az I6500-as processzormag rendkívül sok lehetőséget kínál. Az AMBA ACE koherens busszal kompatibilis a népszerű NoC interfészekkel, megemlítve a NetSpeed Gemini vagy az Arteris Ncore opciókat. Előbbivel összesen 64 darab klaszter köthető össze, ami összességében 384 darab processzormagot és 1536 szálat eredményez. A gyorsítókat is bevéve a képletbe elmondható, hogy egy klaszterbe a hat mag mellé két IOCU építhető be, vagyis a klaszterhez két kisebb gyorsító köthető. De akár kialakítható olyan klaszter is, amiben nincs processzormag, így a hegyükre nyolc IOCU rakható, nyolc kisebb gyorsítóval. A nagy teljesítményű gyorsító pedig az AMBA ACE buszon keresztül köthető be. És akkor még nem beszéltünk az érkező újabb magokról, amelyekkel hibrid processzorklaszterek is létrehozhatók.

A programozásra a szabványos felületek használhatók, mint az OpenCL, de az Imagination inkább a jóval több lehetőséget kínáló HSA platformot ajánlja. Az Imagination a nagyfokú skálázhatóság miatt majdnem minden beágyazott piacra vonatkozó szegmenst céloz.

Azóta történt

Előzmények

Hirdetés