Heterogeneous Element Processor

A Wikipédiából, a szabad enciklopédiából

A Heterogeneous Element Processor (magyarul kb. heterogén elemekből álló processzor), rövidítve HEP, volt a világ első kereskedelmi célú MIMD számítógépe; 1982-ben mutatta be a Denelcor, Inc. A HEP konstruktőre Burton Smith volt. A gépet folyadékdinamikai problémák megoldására tervezték az Egyesült Államok Hadseregének Ballisztikai Kutatólaboratóriuma számára.[1] A HEP rendszer, ahogy a neve is mutatja, sok heterogén komponensből – processzorok, adatmemória-modulok és bemeneti/kimeneti modulok – volt összerakva. Az összetevőket egy kapcsolt hálózat köti össze.

A HEP rendszereknek része egy (vagy több) meglehetősen szokatlan, PEM-nek nevezett processzor is (a PEM a process execution module, folyamatvégrehajtó modul rövidítése), a PEM-ek összekapcsolhatók és több is lehet belőlük egy rendszerben, max. 16. Egy PEM egyidőben max. ötven folyamat futását képes hardveresen fenntartani egy „folyamat-állapotszó- (PSW) sor” segítségével. A valaha készült legnagyobb rendszer 4 PEM-et tartalmazott. A nyolc fokozatú utasítás-futószalag egyszerre nyolc különböző processz utasításainak végrehajtását teszi lehetővé. Valójában minden egyes időpillanatban egy adott folyamatnak csak egyetlen utasítása lehet a futószalagon. Ezáltal a processzor teljes, 10 MIPS-es adatátviteli sebessége csak legalább nyolc aktív processz futtatásával érhető el; önmagában egyetlen folyamat sem képes meghaladni az 1,25 MIPS adatátviteli sebességet. A többszálas feldolgozás ezen formája miatt a HEP-et egy barrel processzoros rendszernek tekintik. A HEP PEM-ek hardveres megvalósítása emittercsatolt logikával történt.

A processzeknek két típusa van: lehetnek felhasználói vagy felügyelői szintű processzek. A felhasználói szintű processzek létrehozhatnak felügyelői szintű processzeket, amelyek a felhasználói szintű processzek kezelésére és a bemenet/kimenet végrehajtására szolgálnak. Az azonos osztályú processzeket kötelezően a hét felhasználói vagy hét felügyelői feladatcsoport egyikébe sorolja be a rendszer.

Mindegyik processzor a PSW sor és az utasítás-futószalag mellett tartalmaz még utasításmemóriát, 2048 64 bites általános célú regisztert és 4096 állandó regisztert. Az állandó regiszterek abban különböznek a közönséges regiszterektől, hogy csak felügyelői processzek tudják változtatni a tartalmukat. Maguk a processzorok nem tartalmaznak adatmemóriát; ehelyett külön adatmemória-modulokat lehet hozzáadni a kapcsolt hálózathoz.

A HEP memóriája két elkülönült részből áll, egy legfeljebb 128 MiB-os utasításmemóriából és egy max. 1 GiB-os adatmemóriából. A felhasználók felé 64 bites szavak láthatóak, de a valóságban a memóriaszavak 72 bitesek és a kiegészítő bitek a memóriaállapot, pl. a paritás, címkézés és egyebek jelzésére szolgálnak, ld. alább.

A HEP a kölcsönös kizárás egy formáját alkalmazza az összes regiszter és memóriahely elérése során, amelyben minden memóriaelem rendelkezik egy hozzá kapcsolt „üres”/„tele” állapotjelzővel. A memóriából való olvasás az állapotot „üres”-re állítja, míg az abba való írás „tele” állapotot állít be. A programozó engedélyezheti, hogy a processzek leálljanak egy üres állapotú memóriaelemből való olvasás vagy egy tele elembe való írási kísérlet után, ezáltal kényszerítheti a kritikus szakaszok megfelelő végrehajtási rendjét.

Az elemeket összekötő kapcsolt hálózat sok szempontból a modern számítógépes hálózatokra emlékeztet. A hálózat csomópontok halmazából áll, minden csomópontnak három kapcsolata van. Mikor egy csomag érkezik a csomópontba, az utánanéz az útválasztó táblázatban és megpróbálja a rendeltetési helyéhez közelebb juttatni. Torlódás esetén a csomópont minden beérkező csomagot továbbenged útválasztás – routing – nélkül. Az ily módon kezelt csomagok prioritása megnövekszik; mikor sok csomag verseng egy csomópont elérésére, akkor a magasabb prioritási szintű csomag lesz továbbítva az alacsonyabb prioritásúak előtt.

A kapcsolt hálózat másik összetevője a bemeneti/kimeneti rendszer, amelynek külön saját memóriája van és több különálló DEC UNIBUS sín csatlakozik hozzá a különböző kapcsolódó merevlemezekhez és egyéb perifériákhoz. A rendszer képes az általában közvetlenül nem látható tele/üres bitek elmentésére. A bemeneti/kimeneti rendszer kezdeti változatának teljesítménye szánalmasan elégtelen volt a bemeneti/kimeneti műveletek indításakor jelentkező magas késleltetés miatt. Ron Natalie (a BRL-től) és Burton Smith[2] egy új rendszert tervezett tartalék alkatrészekből, a helyi étterem szalvétáin és ezt üzembe is helyezték a rákövetkező héten.

A HEP elsődleges alkalmazásprogramozási nyelve kezdetben egy egyedi Fortran változat volt. Idővel megjelentek hozzá a C, Pascal, és SISAL fordítók is. A tele-üres biteket használó adatváltozók szintaxisa olyan volt, hogy a változó nevét megelőzte egy '$', tehát az egyszerű 'A' egy lokális változót jelentett, míg a $A egy zároló tele-üres változót. Így lehetséges volt az alkalmazási holtpont. A '$' figyelmetlen használata vagy tévesztés így akár nem szándékos pontosságvesztést is okozhatott a számításokban.

A HEP első operációs rendszere a HEPOS volt. Mike Muuss közreműködésével egy Unix port is készült a Ballisztikai Kutatólaboratóriumban. A HEPOS egy nem Unix-szerű operációs rendszer.

Habár ismert volt a HEP rossz költség-teljesítmény aránya, a rendszer mégis felkeltette a figyelmet az akkoriban forradalminak számító újdonságaival és jellemzőjével. A HEP egy CDC 7600 osztályú számítógép teljesítményével rendelkezett a Cray-1-es korszakban (ami önmagában nem kiemelkedő). HEP rendszereket a Ballisztikai Kutatólaboratóriumban telepítettek (négy PEM-es rendszert), beszerezte még a Los Alamos Nemzeti Laboratórium, az Argonne Nemzeti Laboratórium (egy PEM-es), az NSA, és a németországi Messerschmitt AG (három PEM-es rendszer). A Denelcor egy két PEM-es rendszert szállított a Georgia Egyetemnek, a szoftverfejlesztésben nyújtott közreműködésükért cserébe (a rendszert a Marylandi Egyetemnek is felajánlották).[3] A Messerschmitt volt az egyedüli vásárló, amely a HEP-et „valódi” feladatokra használta; a többi kliens csak a párhuzamos számítási algoritmusokkal terén végzett kísérleti számításokra használta. A BRL rendszert egyedül egy BRL CAD segítségével készített film számításaiban használták fel. A HEP szörnyű költség-teljesítménye ellenére széles körű figyelmet keltett, mert sok érdekes teljesítménynövelő hardverjellemzővel rendelkezett.

Az első rendszer után megkezdődött a nagyobb teljesítményű és gyorsabb HEP-2 és HEP-3 gépek tervezése is, de a tervezést félbehagyták és ezek a rendszerek nem készültek el. Az architekturális koncepció beépült a Horizon kódnevű projektbe.

Jegyzetek[szerkesztés]

  1. The History of Computing at BRL[halott link]
  2. Burton J. Smith, 1945, számítógéptervező, jelenleg a Microsoftnál technikai szakértő. 1970-től 1979-ig a MIT-en tanított. Hat évig a Denelcor Inc. kutatási és fejlesztési részlegének alelnöke volt. Ő volt a HEP vezető tervezője. 1985-től 1988-ig a Védelmi Elemző Intézet szuperszámítógépes kutatóintézetének munkatársa, a Tera Computer Company társalapítója, igazgatótanácsának tagja és vezető tudósa 2005-ig, azóta a Microsoft szakértője.
  3. Padua, David. Encyclopedia of Parallel Computing, Volume 4. New York: Springer Verlag (2011) 

Fordítás[szerkesztés]

Ez a szócikk részben vagy egészben a Heterogeneous Element Processor című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Források[szerkesztés]

További információk[szerkesztés]

Kapcsolódó szócikkek[szerkesztés]