SG.hu·

Intel: akár 1000 magos processzorok is jöhetnek

A gyártó olyan modelleken dolgozik, amelyek a jelenlegi termékeknél sokkal több processzormagot tartalmaznak, ugyanakkor a munka igazi kihívást jelent a mérnökök számára.

A New Orleansban rendezett Supercomputer 2010 nevű szakmai konferencián Timothy Mattson, az Intel egyik kutatója mutatta be a társaság Single Chip Cloud Computer (SCC) nevű chipjét, amelyben sikerült 48 processzormagot elhelyezni. A szakember szerint ez az architektúra lehetővé teszi, hogy akár 1000 magot is használhassanak egyetlen chipben. Az egyre több processzormag integrálása viszonylag egyszerű, azonban komoly kihívást jelent a folyamatosan növekvő számú CPU-magok közötti összeköttetés megteremtése és biztosítása. Mattson szerint ez a feladat annyira bonyolult, hogy hiába lenne a chipben egyre több processzormag, annak a teljesítménye végül nem nőne, sőt mivel átlépné a teljesítményhatárt inkább egyre jobban csökkenne. Az Intel kutatói így most ennek a problémának a megoldásán dolgoznak, azonban ez némi időbe telik.


A Single Chip Cloud Computer a Polaris program utódjának számít. A gyártó már 2007-ben azt ígérte, hogy képes lesz egyetlen chipen 80 processzormagot elhelyezni. Az ígéretét sikerült is tartania, igaz, végül a prototípusba CPU-magok helyett egyszerű FPU-egységeket integráltak. A bemutatott modellt a TeraScale Research Program keretében fejlesztették ki és még nem került be a vállalat termék-ütemtervébe. Az Intel a kutatóprojekttel azt szeretné bebizonyítani, hogy igenis át lehet lépni a jelenlegi teljesítményhatárokat és le lehet küzdeni a fejlesztés során felmerülő nehézségeket.

A már korábban bemutatott 48 magos SCC-nél az egyes processzormagok közötti kommunikációra egy úgynevezett Mesh-hálózat szolgál, amely egy saját RCCE nevű protokollt használ. Az eddigi tesztek azt bizonyították, hogy az RCCE legalább annyira hatékonyan dolgozik, mint egy Linux-cluster, de 1000 mag integrálása és használata esetén már elérnék a szinkronizációs lehetőségek felső határát, így a rendszer összteljesítménye csökkenni kezdene.

A cég szerint ugyanakkor az SCC esetében nem a teljesítmény a fontos, ehelyett inkább a jövőbeli asztali alkalmazások többmagos processzorokra optimalizálására helyezik a fő hangsúlyt. A 45 nanométeres gyártási eljárással készülő és üresjáratban 25 Wattot, míg maximálisan 125 Wattot fogyasztó SCC teljesítménye akár 2 Teraflops is lehet. A CPU prototípusait világszerte 100 kiválasztott intézmény teszteli idén ősz óta.

Kapcsolódó cikkek és linkek

Hozzászólások

Jelentkezz be a hozzászóláshoz.

© J3Surno2011. 01. 09.. 08:44||#35


Az! Sajnos
© torzsvendeg2010. 12. 14.. 15:52||#34
Intel: akár 1000 magos processzorok is jöhetnek
Én: akár piros hó is eshet <#bee1>
© Komolytalan2010. 11. 26.. 09:46||#33
Az F1 pilóták meg általában nagyon lusták, mert ha mondom nekik hogy szántsák már ki a kertet a 600 lóerõs traktorukkal, akkor mind azt mondja, hogy ezzel nem is lehet szántani. Holott a lóerõ megvan hozzá bõven, szóval biztos kamuznak.
© Komolytalan2010. 11. 26.. 09:44||#32
Víruskeresés adatbázisban az jellemzõen memória intenzív feladat. Kép szerkesztés memória intenzív (egy pixelhez kellenek a szomszédos pixelek is gyakran). Beszéd felismerés mivel adatbázis alapú, így szintén. Kódoló/dekódoló/tömörítés szintén, ráadásul ott az elõzõ eredményekre nagyon sokszor szükség van. Neurális háló alapú rendszerek szintén rengeteg memória, egyszerû kód.

Sajnos az van, hogy a modern algoritmusok arra épülnek, hogy a memória gyors, és ez az alapvetés dõl meg a sok magos rendszereknél. Eleve a fordítók is elég gyakran stack orientáltak - kevéssé használják ki a regisztereket. És ugye a stack az memória.
© Komolytalan2010. 11. 26.. 09:38||#31
Értem én amit te írtál, meg te is érted amit én írtam - ne vitázzunk tovább:-) Szerintem azon kell elgondolkodni, hogy a memória (vagy közös használatú cache) hányszor lehet lassabb, mint az össz proci teljesítmény. Mert ez itt a kulcskérdés, hogy hány ütemciklusnyi nem memóriahasználó utasítás lehet egymás után egy gépi kódú programban. 1000? Biztos nem. 10? Inkább. Túl sok azért nem lehet, mert akkor már inkább táblázatot kellene használni - a modern programozás sok adat, kompakt kód -, ami meg megint csak memória hozzáférés...

Szerintem nem elég a több és gyorsabb memória. 100x nem lehet memóriát gyorsítani, mondjuk 1 év alatt. Inkább a memória Random Access tulajdonságát kellene felülbírálni. Kellenének Semi-ROM, vagy ritkán írható, konstans memóriák is a gépbe. Ha egy memória részt lehetne hosszabb ideig "konstansnak" definiálni, akkor abból megérné akár 1000 különbözõ mag számára is másolatot készíteni a saját dedikált cacheükbe, mert biztos lehetne benne a cache/memória vezérlõ, hogy ritkán kell az 1000x lemásolást elvégeznie. De amíg 3 bytenyi memóriaterület változik miliszekundumonként, az utána következõ 10K meg a program futása alatt végig statikus - mert a programban konstansnak vettük fel -, addig ezt nem lehet megcsinálni. Szóval szerintem a magok számának hatékony növeléséhez a jelenlegi memória felépítést alapvetõen kell megváltoztatni.
© krk2010. 11. 26.. 00:27||#30
Ezer mag? Annyi még a görögdinnyében sincs...
© philcsy2010. 11. 25.. 23:35||#29
A programozók nagy része igenis lusta és inkább elintézi annyival hogy: "ezt nem lehet hatékonyan párhuzamosítani".
© philcsy2010. 11. 25.. 23:33||#28
A párhuzamosítás nem azt jelenti hogy minden létezõ dolgot erõszakosan párhuzamosítani kell.

Nyugi, nem fognak kihalni az egymagos magas órajelû processzorok.

Viszont van egy rakás olyan feladat - lényegében a számításigényes feladatok nagy része ilyen - amely igen is jól párhuzamosítható. Azért mert az adat amin dolgozik nagyságrendekkel kissebb mint az elvégzendõ utasítások száma. És nem csak a HPC-ben hanem hétköznapi használatban is.

Csak egy:
A vírusírtók azért terhelni szokták a rendszert.
Vírusellenõrzés egyik formája az adatbázisban lévõ víruskód direkt keresése. (Tudom régi meg van más jobb is, és vannak erõs korlátai is, mégis ez az egyik legálltalánosabb és folyamatos frissítéssel hatékony is.) Minden probléma nélkül lehet párhuzamosítani GPU-val. (Azt már nem fogom idírni hogy hogyan 😊.)

Képszerkesztõ/képfeldolgozó rendszerek. Beszédfelismerõ rendszerek. Kódoló/dekódoló eljárások. Tömörítési eljárások. Neurális háló alapú rendszerek. Soroljam még?
© philcsy2010. 11. 25.. 23:11||#27
Ha az egyik szál megtalálja a megfelelõ elemet akkor leáll és tudatja mindenkivel hogy hol találta. A többi szál pedig csak akkor áll le ha vagy túlmentek, vagy õk is találtak egyet. Ez már az elsõt fogja visszaadni és párhuzamos.

Nayon sokmindent lehet párhuzamosítani.
Viszont ha azt mondod hogy nagy adatmennyiségnél és egyszerû keresésnél (az elem vizsgálata egy vagy néhány lépésbõl megvan) a memóriahozzáférés lesz a szûk keresztmetszet akkor igazad van. Ez addig gyorsul amíg a memsávszélesség bírja. 1000 magnál pedig ...
© Komolytalan2010. 11. 25.. 17:03||#26
Amit ha 1000 mag használ, akkor szerinted mennyire effektív? Mert ok, 2-3-4 magnál még _elmegy_. De 1000-hez már tetves lassú. És ezen nem segít a méret növelés se, mert nem a mérettel van baj, hanem azzal, hogy egy átlagos programkódban x soronként van memória hozzáférés (mittomén, x=10). Így ha a memória több mint 10x lassabb mint a magok "össz" sebessége, akkor onnan kezdve hiába programozol tökéletesen, hiába csinálod meg a legjobb cache architekturát, hiába csinálsz baszott nagy L3 cache-t - fogni fogja az egészet a memória hozzáférés.