Makroordenagailuak eta ordenagailu-taldeak

Roa Zubia, Guillermo

Elhuyar Zientzia

Kaliforniako Santa Barbaran 30.000 huts-hodiz egindako ordenagailua zegoen. Hodiak hozteko sistemak (aire girotua) eraikin bateko solairu osoa betetzen zuen. 64 K-ko RAM memoria eta 12 kHz-eko abiadura zituen. Noski, sarrera eta irteera txartel zulatuak eta paperezko zinta bat ziren, hurrenez hurren. Ez zuen pantailarik. Martxan zegoenean, hiriaren argindarraren % 10 'xurgatzen' zuen; gainera, tentsio-erpinak sortzeko beldurrez, ez zuten behin ere itzaltzen. Makroordenagailuak informatikaren hastapenetan agertu ziren. Makroordenagailu bektorialak Cluster-ak: txikien elkarlana Top500 Makroordenagailuak Euskal Herrian

Zer da makroordenagailua? Hona hemen definizio bat: "Beste ordenagailu batzuetara konektatzen den ahalmen handiko ordenagailua. Memoriaren araberako tamaina izaten dute; handienek hainbat gigabyteko memoria nagusia eta hainbat terabyteko disko-memoria daukate". Gaur egungo ikuspuntutik, beharbada beste ideia batez defini daitezke makina handi horiek: etxeko ordenagailuaz egin ez daitezkeenak egiten dituen ordenagailua. Baina bi definizio horiek, bata zein bestea, ez dira oso zehatzak.

Lehen makroordenagailua (horrelakorik esaterik baldin badago) Seymour Cray informatikari estatubatuarrak egin zuen 1975ean, eta bere izena eman zion: Cray 1. Arkitekturaren aldetik ideia berritzaileak ekarri zituen; lehen ordenagailu bektoriala izan zen, hau da, bektoreekin (dimentsio bakarreko matrizeekin) lan egiten zuten erregistroak zituen. Ideia hori oso baliagarria da FORTRAN lengoaian programatzeko, eta hori zen zientziaren softwarea egiteko lengoaiarik egokiena, matrizeekin erraz egiten zituelako kalkuluak. Gainera, paraleloan funtzionatzen zuten prozesadoreak zituen.

Zenbait enpresak filosofia bereko ordenagailu txikiago batzuk egin zituzten (Alliant, Ardent eta Convex, adibidez) eta Crayren modelo berri asko egin dira. Gaur egun, Cray 1 ordenagailuaren 'ondorengoek' superkonputazio-merkatuaren % 10 betetzen dute, gutxi gorabehera. Baina makroodenagailu horietako bakoitzak eragiketa-ahalmen mugatua du; ahalmen handiagoa behar baldin bada, ordenagailu-taldeak osatu behar dira.

Ordenagailu-taldeak

Cray ordenagailu bektorial bat.

Elkarri konektatutako ordenagailuek arrakasta handia izan dute. Izan ere, makroordenagailuak oso makina garestiak dira eta mantentze-lanetarako ere diru asko behar izaten da. Aldiz, edozein enpresak ordenagailu 'txikien' sarea instala, kudea eta erabil dezake lan erraldoi horiek egiteko. Hori dela eta, prozesadore bat baino gehiago dituen ordenagailua erabili beharrean, prozesadore bakarreko ordenagailu askok paraleloan lan egiteko modua landu zen.

Talde bateko ordenagailu bakoitzari nodo deritzo, eta ehunka izan daitezke sare horretan konektaturik. Taldeak ere elkarrekin konekta daitezke. 16 talde elkartzen dituen egiturari konstelazio deritzo. Hori guztia ikusita, erraz ulertzen da makroordenagailu batek ez izatea hainbat taldek adinako kalkulu-ahalmena. Bestalde, enpresa batentzat ordenagailu-talde bat eskuragarria da, bai makinaren bai eta mantenuaren ikuspuntutik ere; talde hori beste enpresa batzuetako sareekin konektatzen bada, gainera, kostua banatu egiten da.

Kalkulu-politika

1980ko hamarkadan, makroordenagailuak zituzten superkonputazio-zentro asko jarri zituzten martxan gobernuek. Horrelako makinak ordaintzerik ez zuten enpresei zentro horietara konektatzeko bidea ematen zitzaien. Beraz, gobernuek kudeatzen zituzten enpresen behar informatiko handienak.

Ordenagailu-taldeak makroordenagailuen alternatiba ona dira.

Baina urte horietan ordenagailu txikiagoak (ordenagailu pertsonalak, besteak beste) eta ordenagailu-taldeen ideia garatu ziren. Pixkanaka, sareak osatzeko behar ziren baliabideak merkatu egin ziren. 1990eko hamarkadaren bukaerarako, enpresek galdua zuten superkonputazio-zentroetarako joera. Abantaila nabarmenak zituzten taldeek: norberak kudeatzen zituen, gobernuarekiko mendekotasuna desagertzen zen eta, gainera, ordenagailua ez zen partitu behar. Ondorioz, kalkulu-ahalmena handiagoa zen.

Gobernuek zentro horien kopurua murriztera jo zuten. Gaur egun, estatu askotan horietako gutxi batzuk dituzte, zenbait lanetarako oraindik beharrezkoak direlako ( Blue Gene proiektua da adibidea). Zentro batzuk datu-base publiko bihurtu dira, baina ikertzaile-talde gehienen joera ordenagailu-talde pribatuak izatea da. Zein izango da etorkizuneko aukera nagusia? Pare bat hamarkada barru, agian, aldatuko da egoera.

Blue Gene : txipak erretzeko moduko aplikazioa

Proteina baten hiru dimentsioko egitura.

Informatika teorikoaz haraindi, makroordenagailuen ikaragarrizko ahalmena nola aplikatzen den ere merezi du aztertzea. Makina horiek martxan izatea garestia da, eta, beraz, etekina atera behar zaie; kontuan hartu behar da, adibidez, ordenagailu horiek aire girotuko sistema bereziak behar dituztela.

Zer kalkulatu behar da makina handi horietan? IBM enpresak 1999an martxan jarri zuen Blue Gene proiektua adibide ona da. Proiektu hori biokimikako arazo garrantzitsuenetako bat ikertzeko jarri zen martxan: proteinen tolestea. Lan horri ekiteko, arkitektura berria duen ordenagailu bat asmatu zen; proiektuaren bigarren helburua arkitektura berriaren eraginkortasuna aztertzea da.

Zergatik ikertu behar da proteinak nola tolesten diren? Erraza da: proteinek gorputzeko erreakzio kimikoen ardura dutelako. Proteinak 'hondatzen' badira, gaixotasun larriak sortzen dira, eta, askotan, gaizki tolesteagatik hondatzen dira. Guk dakigula, Alzheimerrak, hemofilia eta beste zenbait gaixotasunek gaizki tolestutako proteinekin dute zerikusia.

Konformazio-arazoa

Oro har, proteinak aminoazidoen kateak dira. 20 aminoazido-mota daude, eta horien sekuentziaren araberako ezaugarri kimikoak izaten ditu proteinak. Baina kimika ez du sekuentziak bakarrik zehazten; aldiz, aminoazidoak espazioan non kokatzen diren oso garrantzitsua da. Katean oso urruti dauden aminoazidoek fisikoki gertu egon behar dute beren funtzioa bete ahal izateko, hau da, kate horrek hiru dimentsiotan tolestu behar du modu egokian. Okerreko konformazioa hartuz gero, proteinak ezingo du lanik egin.

Ordenagailu-taldea apaletan antolatuta.

Baina proteina sintetizatzen den heinean, nola daki zein konformazio hartu behar duen? Zein patroi jarraitzen ditu proteinak tolesteko? Hori jakingo bagenu, nahi dugun erreakzio kimikoa eragiteko proteinak asmatuko genituzke sekuentzia definitze soilarekin. Patroi horiek bilatzen saiatzen da Blue Gene proiektua.

Zenbaki handiak

Proteinek ehunka aminoazido izaten dituzte. Adibidez, hemoglobinak, odolean oxigenoa garraiatzen duen proteinak, 612 aminoazido ditu. Segidan dauden hiru aminoazidoren arteko angelu diedroak balio asko har ditzake; beraz, milioika egitura espazial izan ditzake proteinak. Horietatik bat bakarrik da egokia

harrigarria bada ere, proteina normalean egitura horri jarraituz tolesten da

Zientzialariek proteinen toleste-prozesuaren patroiak proposatzen dituzte; baina ondo dauden edo ez frogatzeko izugarrizko kalkulu-ahalmena eta memoria behar dira. Makroordenagailu baten lana ezinbestekoa da. IBM enpresak ordenagailu erraldoi bat diseinatu zuen lan horretarako, arkitektura berezia duena: Blue Gene. Proiektu horretan 300 aminoazido dituen proteina baten eredua landuko da (tamaina ertaineko proteina, alegia).

Blue Gene: kalkulu-abiadura oso handiak lortzeko arkitektura berezia.
IBM

Irakurle azkarrenak

Blue Gene munduko ordenagailurik azkarrena baino 500 aldiz azkarragoa izateko diseinatu zen. Nola lortu da hori? Ordenagailu askotan, memoria-txipetako datuetara atzitzeko behar da denbora gehien. Arazo horri aurre egiteko txipak diseinatu dira Blue Gene proiektuan.

Txip bakoitzak bi prozesadore ditu: kalkulatzeko bata eta komunikatzeko bestea. Txip multzo bakoitzak kalkulu osoaren zati baten ardura hartzen du. Estrategia horrek izugarri azkartzen du kalkulu-ahalmena. Proteinen kasuan, adibidez, laneko fitxategiek oso handiak izan behar dute (kalkuluak egiten diren bitartean irauten duten fitxategiak); behar ditugun datuak bilatzen pasatzen dugun denboraren araberakoa da, azken batean, lanaren iraupena.

Zenbait aplikazio konplexutan, ordenagailuek milioika eragiketa aritmetiko egin behar izaten dute ahalik eta denbora gutxienean. Horretarako, duela berrogei urte inguru, informatikariek ordenagailu bektorialak asmatu zituzten. Ordenagailu horiek, zenbaki soilak erabili ordez, bektoreak erabiltzen dituzte, hau da, zenbaki-zerrendak (informatikarientzat, dimentsio bakarreko matrizeak).

(Argazkia: G. Roa Zubia). Argazkia ongi ikusteko jo ezazu PDF-ra.

Ordenagailu bektorialek, azkar kalkulatu ahal izateko, pipe-lineak erabiltzen dituzte. Pipe-line horien ideia oso sinplea da; serie-fabrikazioaren printzipio bera da. Adibide batez erraz ulertzen da. Demagun bi zenbaki zerrendatako datuen arteko diferentzia kalkulatu behar dugula; horretarako, lau urrats egin behar dira: a) zerrenda bakoitzetik zenbaki bana hartu, b) kenketa egin c) kenketaren emaitza negatiboa bada, ikurra aldatu eta d) emaitza memorian gorde. Urrats bakoitza mikrosegundo batean egiten bada, zenbaki-pare bat tratatzeko lau mikrosegundo beharko dira.

Erabiliko ditugun zerrendak hauek dira: 10, 3, 2, 6, 7, 1, 5, 10, … eta 7, 8, 14, 5, 3, 4, 5, 6, …

Pipe-line batean, aldiz, lehen zenbaki-pareak lehen urratsa bukatu duenean, bigarrenera doa, baina bigarren zenbaki-pare bat lehen urratsera sartzen da. Horrela, mikrosegundo bakoitzean barruan dauden pareek urrats bat egingo dute aurrera eta beste pare bat sartuko da libre geratu den lehen urratsean. Modu horretan, lehen parearen eragiketa egiteko hiru mikrosegundo beharko dira, baina bigarren parearena laugarren mikrosegundoan bukatuko da (eta ez seigarrenean, banan banan egingo balira bezala).

(Argazkia: G. Roa Zubia). Argazkia ongi ikusteko jo ezazu PDF-ra.

Adibide sinplea izan da, baina kontuan hartu behar da ordenagailuek koma higikorreko zenbakiekin egiten dituztela eragiketa aritmetikoak. (Zenbaki bat adierazteko koma higikorreko idazkerak mantisa eta karakteristika erabiltzen ditu, hau da, 0,233 x 10 3 motako idazkera da).

Zenbaki horien aritmetikak zenbaki osoenak baino urrats gehiago eskatzen ditu. Makroordenagailu bektorialek koma higikorrarekin kalkulatzeko pipe-line sistemak dituzte. Horrez gain, bektore osoak eta zenbaki bakunak tratatzeko erregistroak konbinatzen dituztenez, eragiketa aritmetiko izugarri azkarrak egin ditzakete. Mota horretako lehen makroordenagailuetatik ospetsuena, Cray 1, 1976. urtekoa da.


Askotan, ordenagailu txiki askoren talde batek ordenagailu bektorial baten lana egin dezake. Hori da ordenagailu-taldeen filosofia nagusia. Dena dela, taldea osatzen duten ordenagailu guztiek nolabait konektatuta egon behar dute sare batean. Parte hartzen duen ordenagailu bakoitzari nodo deritzo. Baina, non dago nodo guztiek behar duten softwarea? Denen memoria batuta erabiliko dute edo nodo bakoitzak berea erabiliko du? Sistema osoaren arkitekturaren ikuspuntutik, antolatzeko hiru modu daude.

Partekatutako diskoak

Antolamendu-mota hori askotan erabiltzen da. Sareak sarrera-irteerako gailu orokorrak ditu, nodo bakoitzetik eskuragarri. Gailu horiek artxiboak eta datu-baseak izaten dituzte. Horrela sistemak ez du nodoen memoriak partekatzeko beharrik.

Sistema horrek duen arazo nagusia nodo guztien eskuragarritasuna da. Une jakin batean, nodo guztiek disko orokorretan batera idatz edo irakur dezakete. Hori guztia kontrolatu ahal izateko, sinkronizazio-mekanismoa behar da: blokeoaren kudeatzailea.

Sistema horietan nodo bat hondatzeak ez die besteei eragiten. Horrek eskuragarritasun handia ematen dio sistemari; hala ere, batzuetan ezaugarri horrek lana moteltzen du, blokeoaren kudeatzailearen jarduerak estuguneak sortzen dituelako.

Partekatzerik gabeko sistemak

Sistema horietan ez dago diskorik nodoentzat eskuragarri. Horregatik, sistema horietan nodo-kopurua ez dago aurrekoetan bezain mugatuta. Izan ere, sistema horiek ehunka nodo izaten dituzte.

Ispilatutako sistemak

Sistema horietan datuak disko orokor batean gordeta badaude ere, bigarren batera kopiatzen dira eskuragarritasuna handitzeko. Normalean kopia horretan ez da lanik egiten, jatorrizko diskoa hondatzen ez bada behintzat. Hondatzen bada, antolamendu horrek datuak oso azkar berreskuratzen ditu. Sistema horiek normalean bi nodo besterik ez dituzte izaten. Internet sareari eusten dioten zerbitzari asko mota horretako sistemak dira.


Urtean bitan, ekainean eta azaroan, superkonputazio-kongresuak antolatzen dira esparru horretan gertatutakoaren berri jasotzeko. Azken kongresua, iazko azarokoa, Estatu Batuetan izan zen, Denverren, eta aurrekoa, ekainekoa, Alemaniako Heilderbergen. Kongresu horietan superkonputazio-zentroen datuak bildu eta Top500 zerrenda eguneratzen da. Zerrenda horretan, ahalmen handieneko 500 zentroak zein diren eta zein ezaugarri dituzten aztertzen da. Zerrendaren bertsio batetik bestera izandako aldaketak honako web gunean ikus daitezke: http://www.top500.org/


Kalkulu-zentro handiei dagokienez, Euskal Herrian ere munduko gainerako herrialdeetako joera bera dago. Garai batean, makroordenagailuak martxan izateko zentroak sustatzen zirenean, Eusko Jaurlaritzako Industria Sailburuordetzak eta Labein teknologia-zentroak konputazio-zentro bat instalatzeko hitzarmena sinatu zuten. Zentro hori Zamudioko Parke Teknologikoan kokatzea erabaki zuten.

LABEIN

Euskal Herriko hainbat enpresatan erabil zitekeen Convex makroordenagailu bat jarri zen martxan. Konektatuko ziren enpresak ingeniaritzaren esparrukoak ziren gehienbat, eta helburua diseinurako behar diren kalkulu handiak ordenagailu erraldoi horretan egitea zen.

Convex makina horrek izan zuen konfigurazio onenak 8 prozesadore bektorialeko ordenagailu paraleloa izan zen. Hasieran, zenbait enpresak interes handia izan zuten. Hala ere, superkonputazio-zentro bat izan ordez, joera orokorra beste irtenbideak bilatzekoa izan zen (norberak kudeatutako ordenagailu-taldeak, adibidez). Urte batzuetan, Euskal Herriko Unibertsitateko ikertzaile-talde batzuek erabili zuten, baina, azkenik, bertan behera utzi zen superkonputazio-zentroa.

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila