Tartalmi kivonat
- SIMD architektúrák/1 - SIMD architektúrák A kereskedelmileg is sikeres architektúrák egyike a SIMD-rendszer (a vektorszuperszámítógépek és a MIMD-rendszerek a másik kettő). A sikerhez az alábbi tényezők járultak hozzá: a koncepció egyszerűsége és a jó programozhatóság a szerkezet szabályossága a méret és a teljesítmény egyszerű skálázhatósága számos olyan területen való közvetlen felhasználhatósága, ahol szükség van a párhuzamosságra a megfelelő teljesítmény eléréséhez A SIMD rendszerek legfontosabb elvei (Steven Unger): Az elemek egy kétdimenziós tömbben helyezkednek el, és mindegyik a négy legközelebbi szomszédjához kapcsolódik Minden processzor párhuzamosan ugyanazt a műveletet hajtja végre. Minden processzornak van saját belső memóriája. A processzorok programozhatók, és különböző feladatok elvégzésére alkalmasak. Az adatok gyorsan haladnak át a tömbön. Kell
egy központi számítógép, ami az utasítások forrása és egy külön rendszer az adatbevitelre, az eredmények megjelenítésére és tárolására. Processzortömb Tömbvezérlő Központiszámítógép Adatillesztő Adat ki/be Háttértároló A SIMD-rendszer jellemző felépítése Sima: Korszerű számítógép architektúrák - SIMD architektúrák/2 - Néhány kereskedelmi megvalósítás: DAP (Distributed Array Processor) 1976, ICL. 32x32 elemű processzortömb. MPP (Massively Paralell Processor) 1983, Goodyear Corp. 128x128 elemű processzortömb. Bitsoros elemekkel és közeli összeköttetésekkel dolgozott. Connection Machine 1985 Bonyolult hiperkocka hálózat Thinking Machine Inc. gyártotta MasPar 1990 Egy bitesnél bonyolultabb feldolgozóelemekkel rendelkezett. A távoli összeköttetéseket többszintű crossbar kapcsolókkal oldotta meg. Az IBM, Cray, DEC, nCUBE is gyártanak SIMD elven működő számítógépeket. A gépek
tervezésénél eldöntendő kérdések: a feldolgozóelemek bonyolultsága (processzor alap-adattípusa, utasításkészlet bonyolultsága, memória nagysága) az egyes elemek lokális autonómiájának meghatározása az elemek összeköttetésének módja a feldolgozóelemek száma, az összeköttetések elrendezése a tartalék egységek elosztása a megvalósítás technológiája A szemcsézettség Meghatározza a viszonyt a feldolgozóelemek száma és az adatkészlet párhuzamossága között. Finom szemcsézettségű rendszerek: Minden feldolgozóelemhez csak kevés számú adatelem tartozik Durva szemcsézettségű rendszerek: Minden feldolgozóelemhez sok adatelem tartozik Az ideális az 1:1-es megfeleltetés lenne, de a jellemző alkalmazásokban ez a technológia mai fejlettségi fokán még nem megvalósítható. - SIMD architektúrák/3 Másik probléma a különböző alkalmazásokban használt adatkészletek eltérő mérete. Nehéz
rugalmasan bővíthető SIMD rendszereket készíteni. Az adatelemenként elvégzendő számítások bonyolultsága hatással van a feldolgozóelemek típusára és bonyolultságára. Ez pedig technológiai és gazdaságossági szempontból hatással van a maximálisan elérhető párhuzamosságra. A megoldások általában a két végletet célozzák meg: Finom szemcsézettség egyszerű feldolgozóelemekkel Durva szemcsézettség bonyolult feldolgozóelemekkel Összeköttetési módok Kívánatos lenne: ha bármelyik processzor bármelyik másik processzorral egységnyi idő alatt tudna kommunikálni. ha a kommunikációs események párhuzamosan mehetnének végbe. ha a kiindulás és a cél előre meghatározható lenne. ha a rendszer bizonyos redundanciával rendelkezne a hibás elemek és összeköttetések helyettesítése céljából. A fenti szempontoknak eleget tevő hálózat kiválasztása a legnehezebb döntés. A megismert összeköttetési módok
alkalmazhatók: SIMD-összeköttetés Közeli szomszédok Fa Piramis Hiperkocka Jellemzők Nagy átmérő, nagy sávszélesség Kis átmérő és sávszélesség Kis átmérő, bonyolult programozás Kis átmérő és nagy sávszélesség A processzorok bonyolultsága Ez határozza meg a rendszer felhasználhatóságát. Az alkalmazás jellege is meghatározza, hogy milyen műveletekre van szükség: Tudományos kutatás: lebegőpontos műveletek Képfeldolgozás: logikai műveletek Az áramkörök precizitása Ugyanaz a műveleti pontosság elérhető különböző precizitású processzorokkal. Gyakran egybites feldolgozóelemeket használnak, mert ez rugalmasan felhasználható különböző pontosságú számításokhoz. Például a képfeldolgozásban különböző pontosságú adatelemekkel dolgoznak, és ez leghatékonyabban egybites feldolgozóelemekkel valósítható meg. Az egybites feldolgozóelemek lényegesen egyszerűbbek és nagyobb méretű tömbök alakíthatók ki,
és az összeköttetések is egyszerűbben megvalósíthatók. - SIMD architektúrák/4 - Finom szemcsézettségű SIMD-architektúrák Legfontosabb jellemzőik: A feldolgozóelemek minimális bonyolultsággal és a lehető legkisebb autonómiával rendelkeznek. A processzorok maximális számát gazdaságossági megfontolások határozzák meg. A programozási modell feltételezi, hogy a feldolgozóelemek száma megegyezik az adatelemek számával. Az összeköttetés modellje: 4 pontú közeliszomszédos. A szokásos programozási nyelv soros, párhuzamos adatokra vonatkozó kiegészítésekkel. Az újabb rendszerek néhány ponton eltérnek a fenti modelltől: A feldolgozóelemek bonyolultsága nő: vagy több-bites alapon működnek, vagy kiegészülnek speciális aritmetikai elemekkel. A szokásos rács mellett további összeköttetések is léteznek: hiperkocka, crossbar. A helyi memória mérete növekszik. Az MPP finom szemcsézettségű
rendszere Massively Paralell Processor Kimenet Kapcsoló Vezérlő VAX 11/780 128x128-as processzortömb Osztott memória Kapcsoló Bemenet Az MPP-rendszer Sima: Korszerű számítógép architektúrák A feldolgozóelemek 128x128-as négyzetrácsban helyezkednek el. Az MPP a NASA számára készült, és főleg képfeldolgozásra használják. A 88 tömbkártya mindegyike 24 processzorlapkát (192 processzorral) támogat a hozzátartozó memóriával együtt. Tokonként 8 processzor Tömbönként négy tartalék processzoroszlop van elhelyezve, amely a hibatűrést biztosítja. - SIMD architektúrák/5 A feldolgozóelemek a közeliszomszédokkal vannak összekapcsolva. Az adatok bevitelét és kivitelét különválasztották, és ún. lépcsős memóriaszervezést valósítottak meg, amely könnyű átalakítást tesz lehetővé a bit-formátum és az egész adattípus között. A tömböt egy VAX 11/780-as számítógép és egy önálló tömbvezérlő vezérli.
Programozási nyelv: párhuzamos Fortran és párhuzamos Pascal. A szabványos nyelvet kiegészítették az adattömb adattípussal, és egy előfeldolgozás során az adattömbre vonatkozó műveleteket olyan szubrutin-hívással helyettesítik, amely a vezérlő kifejezést a megfelelő interfészhez irányítja. A műveletvégző egységek: Minden adatcsatorna, regiszter és funkcionális egység 1 bites. Önálló összeadóval, tömbléptetővel és logikai műveletvégző egységgel rendelkezik, amelyek párhuzamosan működnek. A szomszédoktól érkező bemeneti adatok multiplexeren keresztül érkeznek. Egyetlen kimeneti adat van, amely a szomszédokhoz kerül. Egy különálló regiszterbit (S) kapcsolódik a többi processzor megfelelő elemeihez, és ezzel egy olyan bemeneti/kimeneti léptető regiszter jön létre, amely önállóan képes működni a processzor többi elemétől. Ezzel átfedhető a számítás és az adattovábbítás. A helyi
memóriát egy másik berendezés szolgáltatja. Összeadó Léptetőregiszter B P A C Logika adat ki S adat be MUX Külső memória Szomszédokhoz Szomszédoktól Az MPP-processzor elemei Sima: Korszerű számítógép architektúrák - SIMD architektúrák/6 Az MPP áramkör teljesítménye Művelet Adat bevitel/kivitel Összeadás Szorzás Közeli szomszéd Helyi 3x3 átlag Körbejárás (3x3) Tömb mozgatása 1 képponttal Pontosság 1 bites 16 bites 32 bites lebegőpontos 16 bites egész 32 bites lebegőpontos 1 bites 8 bites 8 bites 8 bites Idő[µs] 0,1 2,5 33 10 60 1,5 12,4 9,5 1,7 Blokkok száma 1 25 330 100 600 15 124 95 17 Példa az alkalmazásra Képek szegmentálása Feladata a képeket olyan összefüggő részekre osztani, amelyek képpontjai bizonyos szempontból összetartoznak. Az alkalmazott szempont (feltétel) lehet például a szürkeségi szint, a textúra, az alak. A leggyakoribb felosztási módszer, hogy a kép minden (előre megadott)
kis területére megvizsgálják a feltételt, és azokat a részeket összekapcsolják, amelyek között az eltérés egy küszöbszint alatt van. A módszer több iteráció során jut el a megoldáshoz. A párhuzamosan elvégezhető művelet a területek közötti hasonlóság vagy eltérés számítása a megadott feltétel alapján