LUGOS Začetek Nazaj Mapa Poišči
LUGOS [navigacijska vrstica]
* 1. Uvod
* 2. Lastni razvoj
* 3. Rešitve v SLO
* 4. Slike

Vzporedni računalniki v Sloveniji -
Sam svoj mojster 2/4

 

Simon Vavpotič

2. Lastni razvoj in uporaba

2.1 Laboratorij za Digitalno procesiranje signalov na ljubljanski Fakulteti za elektrotehniko

Raziskovalna skupina prof. dr. Jurija F. Tasiča že dolgo gradi vzporedne računalnike in vzporedne programe. Iz prvih poizkusov se je rodil projekt izdelave računalnika za merilne inštrumente podjetja Carl Zeiss. Sestavili so ga iz diskretnih elementov CMOS, brez mikroprocesorja. Vendar so zanj potrebovali še enoto za delo s števili v plavajoči vejici, za katero pa so uporabili kar Hewlett-Packardovo vezje računala. Centralni procesor je s programom prof. dr. Saše Divjaka posnemal pritiskanje tipk na računalu in pretvarjal segmentno zapisane številke v binarni zapis, primeren za nadaljnjo programsko obdelavo.

Prvi računalnik s štiribitnim Intelovim mikroprocesorjem 4040 so sestavili že med leti 1973 in 1974. Programiranje brez zaslona in tipkovnice pa je bilo izjemno zahtevno. Najprej so morali s stikali vnesti program za povezavo računalnika z napravo za branje podatkov s papirnatega traku, nato pa čakati več ur, da je računalnik prebral operacijski sistem. Nemalokrat je bralna naprava preskočila del traku in postopek je bilo treba v celoti ponoviti.

V letih 1975/76 so na majhni ploščici tiskanega vezja naredili še industrijski računalnik s procesorjem 8080, ki so ga uporabljali za različne namene, denimo vgrajenega v dvigalih. Računalnik vsakega dvigala je bil povezan s centralnim krmilno-nadzornim računalnikom v stavbi.

Sledil je večračunalniški sistem za registracijo časa, ki so ga začeli razvijati na inštitutu Jožef Stefan, nato pa je delo na Fakulteti za elektrotehniko nadaljevala skupina pri prof. Tasiču. Tudi tu so sami izdelali vso prototipno strojno in programsko opremo. Centralni računalnik je bil z oddaljenimi računalniki v posameznih enotah podjetja Mura povezan z več kilometrov dolgimi povezavami. Podobne sisteme so izdelali tudi za druga slovenska podjetja. Zataknilo se je le pri Smeltu, saj so nekateri odgovorni na vsak način hoteli za centralni računalnik uporabiti tehnološko zastareli PDP (v primerjavi z IBM-ovim PC-jem s procesorjem 286), ki ga je takrat proizvajala Iskra.

Prvi vzporedni računalnik je nastal leta 1980. To je bil 16-procesorski šibko povezan računalnik, ki ga je Elektro Slovenije uporabljal za nadzor in vodenje in nadzor 110 kV, 220 kV in 400 kV omrežij v Sloveniji. Tovrsten sistem je omogočal sproten prikaz stanja vseh preklopnikov in transformatorskih postaj, stanje napak ter pretok električne energije po posameznih vodih. Sistem so uporabljali več kakor deset let tudi za nadzor pretoka električne energije med Slovenijo in tujino ter Hrvaško. Vsak od šestnajstih procesorjev 8080 je imel svoj pomnilniški modul, nekakšen predpomnilnik, in je prek vodila dostopal do skupnega glavnega pomnilnika. Tovrsten lasten pristop je tedaj predstavljal trn v peti in resno konkurenco tujim zelo dragim sistemom za upravljanje in nadzor visokonapetostnih omrežij.

Danes uporabljajo v Laboratoriju za digitalno procesiranje signalov vzporedne računalnike pri razvoju novih telekomunikacijskih tehnologij. Tu ogromna količina podatkov od računalnika zahteva zelo hitro delovanje, hkrati pa je veliko možnosti za izrabo vzporednosti. Tipična primera sta stiskanje in razširjanje žive slike in zvoka. Zato že od leta 1985 pri svojem delu uporabljajo sistolična polja. Delo 17-članske skupine je razdeljeno na tri področja: reševanje teoretičnih problemov vzporednosti (paralelizacije), načrtovanje novih arhitektur in reševanje arhitekturnih problemov ter storitve na podlagi novih znanj o vzporednih računalniških sistemih.

Sistolično polje sestavlja večje število procesnih enot (PE), ki so med seboj hierarhično povezane. Vhodne podatke naprej obdelajo vhodne PE. Rezultati nato potujejo v naslednje PE, ki nad njimi izvedejo nadaljnje operacije in te rezultate pošljejo naprej. Opisani postopek poteka skozi vse sistolično polje, dokler rezultati ne pridejo na izhod. Na ta način je mogoče izkoristiti veliko vzporednosti, saj delovanje sistoličnega polja lahko ponazorimo s številnimi zapleteno povezanimi tekočimi trakovi, od katerih jih veliko deluje vzporedno. Pri izdelavi polj uporabljajo dva pristopa. Za osnovo lahko vzamejo že napisan zaporedni algoritem in ga paralelizirajo, ali pa napišejo povsem nov vzporedni algoritem. Pri prvi metodi vzporedni algoritem izdelajo iz zaporednega tako, da poiščejo strukture, ki jih je mogoče izvesti vzporedno. Pri delu si pomagajo tudi s postopki za samodejno paralelizacijo. Znan je Fadejev algoritem, ki sta ga izdelala ruska matematika in je primeren za množico klasičnih problemov.

Seveda je treba vsak skrbno izdelan načrt tudi preizkusiti. V ta namen so že pred leti uporabljali Inmosov 16-računalniški multiračunalnik, ki ga bilo mogoče vgraditi v gostiteljski osebni računalnik v obliki razširitvenih kartic s po štirimi računalniki v enem čipu (transputerju). Žal je Imos propadel, z njim pa so šli v pozabo tudi nekateri vzporedni programski jeziki, denimo Occam. Danes v te namene vse bolj uporabljajo orodja tipa SIMULINK, ki so jih priredili za uporabo pri analizi vzporednih algoritmov in struktur.

Leta 1994 so začeli razvijati čip s štirimi procesorskimi jedri za uvajanje sodobnega komunikacijskega protokola ADSL, ki omogoča prenos podatkov po klasičnih telefonskih linijah (bakrena parica) s hitrostmi do 10 megabitov na sekundo. Gre za neke vrste modem, ki se samodejno prilagaja razmeram na liniji z različnimi kodiranji. Čip ADSL v enomikronski tehnologiji s 490.000 tranzistorji je zmogel na razdalji od 4,5 km do 5 km prenašati podatke s hitrostjo 5 megabitov na sekundo. To je veliko celo za današnje razmere, saj zmorejo doseči komercialna integrirana vezja podobne hitrosti le na precej krajših razdaljah. Žal projekt, ki so ga pripeljali do realizacije, ni požel zanimanja niti slovenske industrije niti Telekoma.

Pravkar pa teče projekt razvoja osebnih terminalov in osebne televizije. Pri njem sodelujejo z velikimi proizvajalci sodobne elektronike: Philipsom, Nokio in Olivettijem ter s televizijskima hišama BBC in RAI. Ob tem poudarjajo, da se zaradi tesnejšega sodelovanja nikakor nočejo odpovedati raziskovalnemu delu, pri katerem razvijajo tehnologije videa in večpredstavnosti, ki bodo komercialno zanimive šele čez nekaj let. Obenem sodelujejo tudi pri številnih projektih Evropske skupnosti. Pri nekaterih imajo celo vodilno vlogo. V raziskovalni skupini se radi pohvalijo tudi s tem, da je bil vsak od njih vsaj 6 mesecev na izpopolnjevanju v tujini, nekateri pa celo po 2 leti.

Raziskovalna skupina si je pri dolgoletnem delu nabrala veliko izkušenj. Zato namerava prof. Jurij Tasič že v kratkem izdati knjigo o vzporednih računalnikih in vzporednem računanju, ki ne bo le učbenik, ampak bo namenjena vsem, ki jih to področje zanima.

2.2 Bitov multiračunalnik

Da v Sloveniji znamo graditi multiračunalnike, so pred dobrim letom dokazali tudi pri podjetju Bit iz Ljubljane. 6. januarja 1999 so na novinarski konferenci prvič predstavili gručo 20 računalnikov s 533 MHz procesorji Alpha, povezanih prek zmogljivega 100-megabitnega omrežnega stikala Ethernet. Nekaj časa so premišljevali tudi o uporabi dražjega omrežja s protokolom FDDI, vendar so na koncu izbrali cenejšo rešitev. Iz enakega razloga so izbrali operacijski sistem Linux namesto Digitalovega UNIX-a, s katerim bi lahko pri hitrosti pridobili za okrog 20 %. Vseeno projekt ni bil poceni, saj so samo za material odšteli okrog 60.000 mark. Čeprav je sestavljanje strojne opreme trajalo le dobrih deset dni, so morali vložiti še nešteto ur v razvoj in prilagajanje programske opreme. Iz podjetja Bit so se s projektom dlje ukvarjali trije do štirje zaposleni, glavno breme pa sta prevzela Jure Jerman in Metod Koželj iz HMZS, ki sta za multiračunalnik priredila simulacijski programski paket za napovedovanje vremena ALADIN. S programskim paketom Clustor 1.4, ki ga je takrat razvijal slovenski strokovnjak Rok Sosič, pa je sodelovalo tudi mešano slovensko-ameriško-avstralsko podjetje Active Tools (www.activetools.si). Paket, ki so ga medtem že preimenovali v EnFusion, omogoča porazdeljevanje računsko zahtevnih namenskih programov v neizkoriščene računalnike v krajevnem omrežju. Uporabljajo ga v najrazličnejše namene: v elektronski in farmacevtski industriji, v bankah, pri raziskavah na univerzah v ZDA. Delovanje programa je sorazmerno preprosto, saj v več računalnikih požene kopije istega namenskega programa z različnimi parametri. Zato dodatno programiranje ali prirejanje programov skoraj ni potrebno. Teče na operacijskih sistemih Windows NT in 2000 in na več UNIX-ih. Pri Active Tools so razvili tudi TurboCluster Server, ki ga zdaj trži podjetje TurboLinux kot dodatek svoje distribucije Linuxa. Omogoča porazdeljevanje spletnih storitev med več računalnikov v gruči. Tako, denimo, spletne odjemalce porazdeli po več strežnikih WWW, kadar bi zaradi prevelikega obiska en strežnik tej nalogi ne bil kos.

Čeprav je multiračunalnik Alpha Cluster pritegnil veliko medijsko pozornost in dokazal, da je pri poganjanju programskega orodja ALADIN kos celo superračunalniku SX-4 (bil je le dvakrat počasnejši) francoske meteorološke službe, direktor podjetja Bit Niko Šafarič ocenjuje projekt kot zgrešeno naložbo. Računalnik so brez uspeha ponudili nekaterim slovenskih podjetjem in državnim institucijam, kjer ,,premetavajo`` številke. Bi bil projekt bolj uspešen, če bi namesto Alph uporabili Intelove procesorje? Šafarič meni, da ne, saj so Alphe kupili po zelo ugodni ceni. ,,Tržna niša je zelo pomembna, ko gremo v nek projekt. Bili smo prepričani, da bo Alpha Cluster uspešen računalnik, zato se nismo odločili za drago predhodno raziskavo slovenskega trga. To nas je drago stalo, saj smo na koncu izgubili približno 30.000 mark.``. Niko Šafarič meni tudi, da je bil računalnik za marsikoga prepoceni in se je zato raje odločil za nakup sistema priznanega proizvajalca, kot so: Hewlett Packard, SGI in IBM, saj ni zaupal domačemu znanju. ,,To je začaran krog, saj nakup tujega računalnika samodejno pomeni manj denarja za lastni razvoj``.

Pa načrti za naprej? Niko Šafarič pravi, da v projekt z multiračunalniki ne gre več: ,,Našli smo novo tržno nišo: nadzorne sisteme z digitalnimi videokamerami. Naša tehnologija omogoča digitalno shranjevanje in posredovanje videoposnetkov prek računalniških in telefonskih omrežij: LAN, internet, ISDN in ATM.`` Pomembno je tudi to, da se za njihovo znanje poleg domačih podjetij zanimajo tudi tuja.

2.3 Laboratorija za biomedicinske oslikave in numerične metode v elektrotehniki na ljubljanski Fakulteti za elektrotehniko

Pod vodstvom prof. dr. Vojka Valenčiča v laboratorijih za numerične metode v elektrotehniki ter biomedicinske oslikave in biomehaniko mišic na Fakulteti za elektrotehniko že vrsto let uporabljajo vzporedne računalnike. Med drugim računajo tudi elektromagnetna polja znotraj obsežnih geometrij, s katerimi lahko najdejo odgovore na številne praktične probleme, kot denimo, kako se porazdeli energija elektromagnetnega polja v glavi uporabnikov zaradi bližine antene mobilnega telefona. Problem je računsko zahteven, saj je treba modelirati biološka tkiva glave, posebej na vseh delih možganov.

Že v letih 93/94 so želeli sodelovati pri nabavi prvega slovenskega superračunalnika proizvajalca Convex in si s tem zagotoviti del njegovih zmogljivosti, a žal niso imeli dovolj finančnih sredstev. Zato so se odločili za drugačno pot. Kupili so dve zmogljivi razširitveni kartici za osebni računalnik (PC), od katerih je vsaka vsebovala po štiri specializirane 32-bitne Inmosove računalnike v enem čipu z oznako T900. Omogočali so hitro medsebojno komunikacijo in obdelavo velikih količin podatkov. K hitrosti je pomembno prispeval tudi porazdeljeni pomnilnik, ki so ga sestavljali krajevni pomnilniki T900. Osrednji del razširitvenih kartic je bilo križno stikalo (crossbar switch) C104, s katerim je bilo mogoče med osmimi T900 ustvariti poljubne omrežne topologije (obroč, mreža, zvezda); kakršne je zahtevala narava trenutnega problema.

Čeprav je bil po besedah prof. Valenčiča Inmosov sistem dober, je imel kljub vsemu pomanjkljivosti. Ni bil dovolj razširjen, kar je imelo za posledico slabo in nedodelano programsko opremo. Čeprav je po zmogljivosti prekašal celo 16-bitni večprocesorski računalnik z enakim številom procesorjev, z njim niso mogli rešiti bistveno večjega problema. Skupina prof. Valenčiča je iz razmerja med računanjem in komunikacijo ugotovila, da bi problem računanja električnega polja lahko najhitreje rešili z 48 računalniki T900. Vendar bi zaradi kvadratičnega naraščanja obsega računanja pri linearnem povečevanju velikosti problema potrebovali še veliko več računalnikov. Žal jih je bilo na dveh razširitvenih karticah le 8, pa še od teh so morali enega zaradi pomanjkanja vhodno-izhodnih povezav uporabiti le za komunikacijo s PC-jem. Denimo, če bi hoteli rešiti desetkrat večji problem v enakem času, bi celo v idealnem primeru (pri neupoštevanju zakasnitev pri komunikaciji) potrebovali kar 100 računalnikov.

Tako nisem mogel mimo vprašanja, ali prof. Vojko Valenčič pozna dr. Milana Hodoščka, ki je že sestavil bistveno večje multiračunalnike iz poceni osebnih računalnikov. Njihovo programiranje je v primerjavi s T900 veliko preprostejše, izplen v obliki pohitritve pa očitno dokaj velik. Zaradi nizke cene posameznih računalnikov in povezovalnega omrežja je mogoča tudi vsakoletna nadgradnja ali nakup od 64 do 128 ali celo več novih računalnikov. Prepočasne multiračunalnike je mogoče tudi razdreti in njihove sestavne dele nameniti za pisarniško rabo. Prof. Valenčič odgovarja, da sta z dr. Hodoščkom sicer dobra prijatelja, kljub temu pa se v tem pogledu z njim ne strinja povsem. Meni, da ni pomembna le hitrost računanja, ampak tudi hitrost rešitve nekega problema. Kaj pomaga desetkrat hitrejši računalnik, če njegovo programiranje vzame toliko časa, da bi enak problem rešili hitreje s preprostim programom za enoprocesorski računalnik? Po drugi strani je mogoče z optimalnejšim algoritmom računanje na enoprocesorskem računalniku pohitriti celo za dvajsetkrat. To je več, kakor bi pridobili z velikim multiračunalnikom.

Zato so se odločili za bolj standardno rešitev, povezavo dveh dvoprocesorskih računalnikov SGI Origin 200 s procesorji R10000 v 4-procesorski računalnik s povezavo CrayLink ter uporabo standardnih programskih orodij, ki omogočajo hitro modeliranje. Z EMAS-om lahko modelirajo električna polja najrazličnejših predmetov. Skupina prof. Valeničiča se je osredotočila predvsem na biološka tkiva in organe, denimo električno polje zoba. Drugi je programski paket Analyze, s katerim obdelujejo biomedicinske slike. Pogosto uporabljajo tudi MatLAB, ki je eno od najbolj splošno-namenskih matematičnih orodij za numerično računanje. Ker omogoča tudi uporabo vektorjev in matrik, je koda v njem veliko bližje matematičnim formulam, kakor bi bil program v jeziku C, Pascal ali Fortran. Seveda bi pri slednjih potrebovali tudi ustrezne matematične knjižnice, ki sicer so na voljo, vendar še vedno potrebujemo precej časa, da jih vdelamo v svoj program. Zato slednja, čeprav precej hitrejša rešitev, še vedno ostaja predvsem v domeni raziskovalcev, ki so izkušeni programerji, in velikih raziskovalnih skupin z računalniškimi strokovnjaki, ki se ukvarjajo le s kodiranjem problemov.

Skupina prof. Vojka Valenčiča poleg čistega raziskovalnega dela razvija tudi dve pomembni programski orodji JaKoB in WebSET. Javanski konstrukcijski objekti (JaKoB) so skupek javanskih programčkov, ki prek internetne strani omogočajo poučevanje elektrike in magnetike s prvinskimi zakoni in jih že uporabljajo na nekaterih slovenskih srednjih šolah in pri predavanjih na Fakulteti za elektrotehniko. Atraktivne sličice poizkusov so z dovoljenjem prof. Valenčiča objavili celo v tujih učbenikih fizike v Združenih Državah Amerike. Kar ni presenetljivo, saj sem si številne poizkuse (princip elektroosmoze in elektrofiltra, naelektrenje avtomobila, ki vozi po cesti, naelektrenje oblakov, zakaj obstajajo snovi) z zanimanjem ogledal tudi sam. Vsekakor je treba priznati, da prinese ogled poteka in celo skupna interakcija učenca in učitelja pri poizkusu učencu ne le teoretično znanje, ampak tudi pomembne izkušnje in predstave. Projekt WebSET, ki je začel teči 1. maja letos, pa je namenjen poučevanju fiziologije kirurgije prek interneta. To ne preseneča, saj je to veda, ki zahteva izjemno veliko praktičnih izkušenj, posebej pri spoznavanju novih metod, tehnologij in tudi dobrih postopkov za numerične simulacije in grafiko. Čeprav se zdi, da imata omenjena projekta z vzporednim procesiranjem bolj malo skupnega, to ne drži, saj skupina profesorja Valenčiča pravkar meri hitrosti izvajanja javanskih programčkov v večprocesorskem sistemu Origin 200.

2.4 Kemijski inštitut Slovenije

V kemijski industriji imajo simulacije zelo velik pomen, saj lahko strokovnjaki le z njimi v dovolj kratkem času preizkusijo številne spojine in izločijo tiste, ki so primerne za dolgotrajen preizkus v laboratorijih. Tega se dobro zaveda tudi Dušanka Janežič, vodja Centra za molekularno modeliranje Kemijska inštituta Slovenije. Čeprav po njenih besedah rezultate centra potrebuje vsa slovenska farmacevtska in kemijska industrija in so v Sloveniji edino središče, ki se ukvarja z molekularnim modeliranjem, njihovi projekti pri Ministrstvu za znanost in tehnologijo pogosto ne dobijo ustrezne finančne podpore. Zato potrebujejo veliko iznajdljivosti, da iz poceni strojev iztisnejo kar največ moči. Že pred dvema letoma je tako pod vodstvom dr. Milana Hodoščka stekel projekt Vzporedni računalnik za akceleracijo numeričnih algoritmov (VRANA), katerega strojni del temelji na izsledkih mednarodnega projekta Beowulf za potrebe ameriške vesoljske agencije NASA. Prva VRANA, sestavljena iz štirih dvoprocesorskih računalnikov s 400 MHz procesorji Pentium II, povezanih v obroč, je bila pri številnih simulacijah zmogljivejša od štiriprocesorskega SGI-jevega strežnika Challenge. Vendar se je pokazalo, da so za kemijske simulacije primernejši enprocesorski računalniki, saj ima v njih vsaka procesna enota svoj pomnilnik in svoje vhodno-izhodne kartice. Zato je dr. Hodošček že kmalu zgradil nov večji multiračunalnik VRANA-2, za katerega je uporabil kar opremo v računalniški učilnici. 16 enoprocesorskih 450 MHz Pentiumov II je s 100-megabitnimi omrežnimi karticami Ethernet povezal v dvorazsežno omrežje oblike torusne mreže. Posebej velja izpostaviti zanimivo tehnično rešitev, vgradnjo več omrežnih kartic v en računalnik, s katero se je dr. Hodošček izognil nakupu dragega omrežnega stikala in hkrati pridobil večjo prepustnost, ki jo omogočajo povezave točka-točka. Na izkušnjah prvega in drugega, je že kmalu nastal tudi tretji 32-računalniški multiračunalnik s 466 MHz procesorji Celeron in dvorazsežno torusno mrežo, ki je verjetno danes največji tak računalnik v Sloveniji. Nastaja že tudi VRANA-4, ki naj bi bila, v primerjavi z VRANA-3, kar trikrat do štirikrat zmogljivejša, saj jo bo sestavljalo 64 vozlišč (osebnih računalnikov) s 700 MHz procesorji Athlon s po 128 MB glavnim pomnilnikom in 6,4 GB diskom. Skupaj bo imel stroj 8 GB pomnilnika in za 410 GB diskov, kar ga uvršča med srednje velike računalnike. Vozlišča bodo opremljena s po šestimi omrežnimi karticami in povezana v 6-razsežno hiperkocko, v kateri bo najdaljša komunikacijska pot med dvema vozliščema dolga šest vozlišč.

Hiperkocka je, v primerjavi s torusno mrežo, za večino problemov zmogljivejše omrežje. Zato je dr. Hodošček skušal 5-razsežno omrežje uporabiti že pri računalniku VRANA-3, vendar so mu to preprečile osnovne plošče, ki so sicer imele 5 vtičev PCI, žal pa sta si dva izmed njih delila podporo za neposredne pomnilniške prenose (bus mastering), ki so potrebni za optimalno delovanje 100-megabitnih komunikacijskih kartic. Kljub temu za sedanje programe dr. Hodoščka to ni ovira, saj so napisani tako, da med sabo komunicirajo le sosednji računalniki v mreži, s čimer je omrežje optimalno izkoriščeno.

Tako velik računalnik pa bi ne mogel delovati brez zanesljivega operacijskega sistema. Na VRANA-h teče Linux, saj za njegovo uporabo ni treba plačati licence, hkrati pa je to operacijski sistem, ki se zelo hitro razvija. Zanj je, poleg standardno vgrajenega prevajalnika za C in C++, na voljo tudi precej drugih programskih jezikov, med njimi tudi Fortran, ki ga dr. Hodošček uporablja pri pisanju simulacijskih programov, lastne programske knjižnice za komunikacijo med računalniki pa je razvil v programskem jeziku C. Programi zmorejo z računalnikom VRANA-3 simulirati kemične reakcije molekul z do 100.000 atomi s korakom ene femtosekunde (10 na -15. potenco) in trajanjem ene nano- ali mikrosekunde (tisočinko milijoninke in milijoninko sekunde). To je zelo pomembno pri načrtovanju zdravil, pri katerem je treba hitro preizkusiti tudi do 50.000 različnih spojin, s katerimi vplivamo na beljakovine v človeškem telesu. Žal računalniki kljub procesni moči še niso dovolj veliki za simulacije globalnih kemičnih procesov, sintezo zelo velikih molekul, kakršna je DNK, ali za podrobno opazovanje kemičnih reakcij, ki trajajo dlje od ene nano- ali mikrosekunde. Seveda ni vseeno, ali želimo v kratkem času preizkusiti eno spojino ali v daljšem času ogromno množico spojin. V prvem primeru bomo s procesi v različnih računalnikih reševali isti problem in bo komunikacije med njimi sorazmerno veliko, v drugem pa bomo vsako kemično reakcijo simulirali v svojem računalniku, neodvisno od preostalih. Zato komunikacije v omrežju skoraj ne bo. Slednje omogoča, da z N računalniki dosežemo teoretično največjo pohitritev N, če ne upoštevamo prenosa simulacijskih parametrov in rezultatov iz in v nadzorni računalnik. Hkrati je dodeljevanje nalog posameznim računalnikom dinamično, kar pomeni, da delo dobi tisti, ki je prost. Poleg tega lahko v multiračunalnikih VRANA vzporedno teče tudi več manj zahtevnih simulacij.

Kaj pa načrti za naprej? Zdaj, ko je razvil programe, ki jih lahko hitro prilagodi za delovanje v poljubnem multiračunalniku, lahko dr. Hodošček iz poceni komponent vsako leto zgradi nov, vsaj dvakrat zmogljivejši srednje velik računalnik. Ob enem ima multiračunalnik iz osebnih računalnikov pred klasičnimi večprocesorskimi rešitvami pomembno prednost v tem, da ga je mogoče, ko ni več dovolj hiter, razstaviti in vozlišča uporabiti kot pisarniške računalnike.

Sveže podatke o računalnikih VRANA in drugih projektih Centra za molekularno modeliranje najdemo v spletni strani arg.cmm.ki.si.

2.5 Inštitut Jožef Stefan

Ko sva se z dr. Rajmundom Krivcem, raziskovalcem na odseku za teoretično fiziko na inštitutu Jožef Stefan, dogovarjala za obisk njihovega laboratorija, mi je po elektronski pošti poslal zanimivo mnenje o vzporednih računalnikih, ki ga na tem mestu povzemam in dodajam nekaj kratkih komentarjev. Dr. Krivec meni, da se v svetu velikih računalnikov oblikujeta dva pojma: superračunalništvo in visoko-zmogljivostno računanje (high performace computing). Katerega ima sogovornik v mislih, najhitreje ugotovimo tako, da ga povprašamo po izkoristku njegovega računalnika oziroma programa, ki je izražen z razmerjem porabljenih procesorskih ciklov proti številu vseh procesorskih ciklov. Seveda imamo v mislih večprocesorski računalnik in večopravilni operacijski sistem, pri katerem je taka meritev omogoča. Kot zgled dr. Krivec navaja enega lanskih člankov v Delovi prilogi Znanost za razvoj z naslovom Največji superračunalnik v Sloveniji. V članku naj bi bilo zapisano, da ima gruča (multiračunalnik) iz 20 enoprocesorskih računalnikov s 533 MHz procesorji Alpha 21164 skupno vrhnjo zmogljivost 20 × 533 × 2 = 21,32 GFLOPS, nekje na dnu pa še, da iz računalnika pri reševanju realnega problema iztisnejo le 2 GFLOPS, kar je izjemno slab izkoristek.

Leta 1995 so na odseku za teoretično fiziko prvič pognali 6-procesorski računalnik SGI Power Challenge L s šestimi procesorji R8000, od katerih so štirje 75 MHz in dva 90 MHz, pomnilnika pa je za 2 GB. Vrhnja zmogljivost stroja naj bi bila po oceni dr. Krivca (4 × 75 + 2 × 90) × 4 GFLOPS = 1,92 GFLOPS ali 300 in 360 MFLOPS na procesor. Izračun temelji na predpostavki, da ima enota za računanje s števili v plavajoči vejici procesorja R8000 štirikratni cevovod in da štirje cevovodi procesirajo ukaze tako, da je v povprečju na vsak urni cikel skupaj izvedejo štiri ukaze. Tako naj bi bil SGI Power Challenge dolgo časa največji računalnik v slovenskem akademskem svetu. Dr. Rajmund Krivec še navaja, da v svojem računalniku pri izvajanju programov za linearne algebraične izračune dosežejo izkoristek 80 % celo pri računanju z velikim matrikami (1,92 GFLOPS × 0,8 = 1,536 GFLOPS). To primerja s splošno znano empirično ugotovitvijo, da se procesna moč procesorjev vsakih 18 mesecev podvoji in oceno, da ima 500 MHz Pentium II okrog 500 MFLOPS (kljub dvojnemu cevovodu lahko izvede v povprečju le eno operacijo v urnem taktu), kar je manj kot njihov štiri leta in pol star računalnik. Ob tem doda, da je marsikdo zelo presenečen, ko sliši številko 75 MHz.

Namesto pravkar opisanega postopka računanja moči procesorja lahko uporabimo tudi primerjalne preizkuse. Med proizvajalci strojne opreme so zelo uveljavljeni merilni programi organizacije SPEC. Za leto 2000 so izdelali nova sintetična preizkusa CPU2000 in CFP2000, ki pokažeta zanimiva razmerja med procesorji različnih proizvajalcev. Temeljita na najbolj pogostih izračunih v znanstvenih uporabah, kot so: diskretna Fourierjeva transformacija, množenje matrik, računanje z vektorji, učenje nevronske mreže z gradientnim optimalizacijskim postopkom itd. Podrobnejši opis njune zgradbe najdemo na spletni strani www.spec.org. S preizkusom CPU2000 merijo hitrost izvajanja celoštevilčnih ukazov, s CFP2000 pa hitrost izvajanja ukazov za delo s števili v plavajoči vejici. 1000 MHz Pentium III na osnovni plošči Intel VC820 doseže osnovni indeks 407 in najvišji indeks 410, medtem ko 400 MHz MIPS-ov R12000 (v primerjavi z R8000 in Pentiumom ima le 2 cevovoda) v računalniku SGI Origin 2200 le 320 in 347. Pri meritvi CFP2000 pa je razmerje obrnjeno v korist R12000, ki doseže osnovni indeks 319 in najvišji indeks 343, medtem ko sta pri Pentiumu III rezultata 273 in 284. Velja poudariti, da sta starejša preizkusa CPU95 in CFP95 veliko bolj naklonjena Intelovim procesorjem. Seveda pa je pri nakupu velikega in dragega računalnika nemalokrat smiselno izdelati lastne preizkuse, ki zajemajo le tiste izračune, ki jih bomo zares potrebovali. Morda pa so za vsa neskladja le krivi slabi prevajalniki za jezik C operacijskega sistema Linux. Po oceni Darka Veberiča, sistemskega operaterja oddelka za teoretično fiziko inštituta Jožef Stefan, naj bi še pred enim letom s tovrstni prevajalniki izkoriščali le 20 % procesorskih zmogljivosti v primerjavi z optimalno ročno napisano strojno kodo; danes pa jih že 80 %. Seveda, podobna ugotovitev velja za veliko operacijskih sistemov in različnih prevajalnikov, ki šele v zadnjem času doraščajo zmogljivostim svojih procesnih enot. Zato ne preseneča, da so v začetku programi, ki so bili prevedeni za oba operacijska sistema, v Windows NT delovali veliko hitreje, kakor pa v Linuxu na istem računalniku. Res pa je tudi, da bi z ukazi SIMD, ki jih ima Pentium III, pri računanju s 64-bitnimi števili v plavajoči vejici lahko teoretično dosegli 1 GFLOPS. Žal prevajalnikov, ki bi uporabljali tovrstne ukaze, skoraj ni.

V zvezi s primerjavo njihovih računalnikov z najzmogljivejšimi superračunalniki na svetu iz projekta ASCI pa dr. Rajmund Krivec opozarja, da je pomembno upoštevati tudi omejena finančna sredstva, ki jih ima na voljo inštitut Jožef Stefan za nakup računalniške opreme in dejstvo, da mora nov stroj vselej zadostiti zelo raznolikim potrebam številnih uporabnikov. Po drugi strani v doma izdelanih multiračunalnikih zaradi preproste sistemske programske opreme pogosto teče le en program hkrati. V večuporabniškem okolju to pomeni, da moramo čakati ves dan, da lahko ponoči v eni uri nekaj izračunamo. To pri računalnikih ASCI seveda ne drži, saj vsak uporabnik dobi od operacijskega sistema na voljo določeno število vozlišč. Zato je delovanje podobno kakor pri večprocesorskem računalniku: več uporabnikov - manjša zmogljivost. Vendar je večprocesorski računalnik s simetričnim multiprocesiranjem bolj prilagodljiv, saj pomnilnik v njem ni porazdeljen. Če bi hoteli pri multiračunalniku doseči podoben učinek, bi se morali zanašati na navidezni pomnilnik, ki bi ga sestavljali fizični pomnilniki posameznih računalnikov v omrežju. In prav tu pridejo do izraza sorazmerno počasne omrežne povezave, ki preprečujejo tak način dela. Zato moramo porazdeljeni pomnilnik upoštevati že pri pisanju programov.

In cena? Vsekakor je treba upoštevati čas gradnje multiračunalnika in delo, ki ga je treba vanj vložiti ter čas, ki ga porabimo za pisanje vzporednih programov. Dr. Krivec meni, da slednje našo državo stane ravno toliko kakor multiračunalnik sam. Pri izbiri tipa računalnika je pomembno tudi, kakšen je del celoštevilčnih ukazov in ukazov za delo v plavajoči vejici. So programi, v katerih ukazi za delo v plavajoči vejici močno prevladujejo in programi z mešanimi ukazi (veliko celoštevilčnih ukazov in veliko ukazov za delo v plavajoči vejici). Prvi potrebujejo veliko pomnilnika in hitro povezavo pomnilnika s procesorjem. Slednji pa navadno zahtevajo veliko procesorjev, malo pomnilnika in delujejo tudi, če je povezava procesorja in pomnilnika sorazmerno počasna. Po mnenju dr. Krivca slednji predstavljajo v Sloveniji superračunanje, gotovo pa ne tudi visoko-zmogljivostnega računanja. Končuje z mislijo, da je že skrajni čas, da tudi v Sloveniji nehamo metati vse v en koš.

SGI Challenge pa še zdaleč ni edini, ali najbolj zmogljiv računalnik na oddelku je teoretično fiziko. Dva metra stran mu dela družbo ,,računalniška farma`` iz štirih 400 MHz dvoprocesorskih Pentiumov II z operacijskim sistemom Linux, od katerih ima vsak 512 MB pomnilnik in prek stikala s 100-megabitno povezavo Ethernet komunicira z drugimi tremi računalniki. Darko Veberič z računalnikom diagonalizira matrike. Vzporedne programe pa mora pisati zgolj zato, da lahko izkoristi porazdeljen pomnilnik. Pohitritev je v primerjavi z enoprocesorskim računalnikom tu neznatna, zato prav zdaj kupujejo nov večji večprocesorski računalnik.

Pa še to! V okviru celotnega inštituta Jožef Stefan so pred leti že kupili dva superračunalnika Marvina in Borga. Žal ju zaradi pomanjkanja denarja za vzdrževanje že dolgo ne morejo več uporabljati. Zaradi pogodbe o izvozu visoke tehnologije z ameriškim proizvajalcem Convex pa ju ne smejo niti sami razstaviti in odstraniti. Morda pa to le ni tako slabo, saj bosta lahko čez kakih deset let, takrat povsem zastarela računalnika, krasila računalniški muzej, ki ga ustanavlja revija Monitor.

2.6 Hidrometeorološki zavod Slovenije

Brez sodobne računalniške tehnologije si napovedovanja vremena s kompleksnimi vremenskimi modeli v Hidrometeorološkem zavodu Slovenije (HMZS) ne morejo predstavljati. Tega se dobro zaveda tudi Jure Jerman, ki ni le meteorolog, ampak tudi sistemski skrbnik in programer. Danes vremenske napovedi izračunavajo s 5-računalniškim multiračunalnikom, ki so ga zgradili v sodelovanju s podjetjem Bit. Stroj je rezultat lastnega znanja in večletnega dela. Projekt so prvič predstavili javnosti konec leta 1998, ko so iz 20 računalnikov s 533 MHz procesorji Alpha 21164 s 128 MB glavnim pomnilnikom in 2 GB diskom sestavili multiračunalnik Alibabo. V njem so za povezovalno omrežje so uporabili omrežno stikalo in 100-megabitne kartice Ethernet. V računalniku so poganjali vremenski model ALADIN, ki ga od leta 1993 razvijajo v sodelovanju s francosko meteorološko službo in dvanajstimi drugimi evropskimi državami. Seveda je bilo treba model najprej prilagoditi za delovanje v njihovem vzporednem računalniku. Pri tem jim je bila v veliko pomoč javno dostopna programska knjižnica MPI (www.mpi-forum.org) z ukazi za komunikacijo med procesi, ki tečejo v različnih računalnikih ali z različnimi procesorji. Žal zaradi posebnosti njihovega problema niso mogli uporabiti tudi vzporednega predprocesorja, ki bi samodejno izdelal vzporedno kodo v programskem jeziku C. Zato so se morali pri delu zanašati na eksplicitno vzporednost.

Že prvi poizkusi so pokazali, da je mogoče doseči optimalno razmerje med zmogljivostjo in ceno s precej manjšim multiračunalnikom, saj so z dvajsetimi računalniki v začetku dosegli faktor pohitritve le okrog štiri. Zato, pa tudi zaradi omejenih finančnih sredstev, so se pri HMZS odločili za nakup le petih računalnikov Alpha s po 256 MB pomnilnikom in začeli izpopolnjevati programsko opremo. Najprej je v štirih računalnikih tekel operacijski sistem Linux, v enem pa Digitalov UNIX. Izkazalo se je, da prav slednji predstavlja šibak člen, zato so ga zamenjali z Linuxom, ko je Compaq izdelal nova prevajalnika za C in fortran. Težav pa s tem še ni bilo konec. Zaradi napak v jedru takratne različice operacijskega sistema Linux je omrežni datotečni sistem (NFS) deloval nepravilno in povzročal zrušitve računalnikov. K sreči je odprtost tega operacijskega sistema dopuščala popravljanje izvorne kode. Kljub temu so morali vložiti veliko truda, preden je pred petimi meseci multiračunalnik začel delovati zelo zanesljivo, brez vsakršnih odpovedi.

Zdaj nameravajo programsko opremo posodobiti in s tem omogočiti delo več uporabnikom hkrati. Prav tako načrtujejo posodobitev povezovalnega omrežja multiračunalnika. 100-megabitni Ethernet naj bi nadomestili z 1,4-gigabitnim Myrinetom, ki bo omogočal približno desetkrat hitrejšo komunikacijo med računalniki. Sčasoma bodo z vgradnjo zmogljivejših procesnih enot posodobili tudi same računalnike, saj Jure Jerman ocenjuje, da bi bil danes že en sam dvoprocesorski računalnik s procesorjema Alpha 21264 EV5 hitrejši od njihovega multiračunalnika, vendar hkrati naraščajo tudi potrebe po računski moči. Seveda je to kar velik finančni zalogaj. Zato me je zanimalo, ali morda razmišljajo tudi o veliko cenejših Intelovih Pentiumih. Jure Jerman mi je takoj postregel z naslednjim tehničnim podatkom: ,,En časovni korak napovedi vremena na 500 MHz Pentiumu II traja 18 sekund, na 533 MHz Alphi (EV5) 12 s, na 667 MHz Alphi (EV6) pa le 4,5 sekunde. ,,... In primerjava ene delovne postaje Alpha s celotnim multiračunalnikom?`` ,,Simulacija, ki jo operativno poganjamo, traja na eni 533 MHz postaji Alpha 15 s, na petih pa malo več čez štiri.``

Morda še nekaj o samem računanju napovedi vremena. Omenili smo že, da ga računajo s kompleksnimi vremenskimi modeli. Zanimivo pa je še to, da za simulacijo 400 sekund v naravi porabijo 4 sekunde in da se v vsakem časovnem koraku med dvema računalnikoma pretoči od 10 MB do 50 MB podatkov. Če bi hoteli le pohitriti računanje, bi hitro naleteli na oviro, Amdahlov zakon, ki pravi, da je pohitritev z neomejenim številom računalnikov lahko v idealnih razmerah kvečjemu enaka količniku 1/A; pri čemer je A delež računalniškega programa, ki se ga ne da paralelizirati. Zato je edina smiselna pot povečevanje problema, kar opisuje Gustafsonov zakon. Na ta način je mogoče izračunati vremensko napoved na gostejši mreži, kar pa še ne zagotavlja njene večje natančnosti. Veliko je odvisno tudi od robnih pogojev, ki jih HMZS dobiva iz superračunalniškega centra za napovedovanje vremena v Pragi; medtem ko globalno vremensko napoved za celotno področje Evrope za prvih 6 ur računajo v Franciji. Jure Jerman takoj doda, da brez robnih pogojev vremenske napovedi za Slovenijo ne morejo izračunati. Natančnost vremenske napovedi za Slovenijo je poleg tega odvisna tudi od meritev v vremenskih opazovalnicah na terenu in višinske meritve, ki jo opravljajo z vremenskim balonom enkrat dnevno. Če bi hoteli izboljšati vremensko napoved, bi morali hkrati z novo računalniško opremo povečati tudi število opazovalnic in uporabiti več vremenskih balonov, kar pa ni ravno poceni, saj so baloni, ki stanejo nekaj 100 mark, namenjeni le za enkratno uporabo.

Kot zanimivost omenimo še, da je spletna stran HMZS (www.rzs-hm.si) med petimi najbolj obiskanimi v Evropi, saj so na njej vselej na voljo sveži vremenski podatki in napovedi.

<< Nazaj   Naprej >>


Simon Vavpotič <simon.vavpotic@fri.uni-lj.si> v reviji Monitor, september 2000
Na spletnih straneh društva Lugos objavljeno z dovoljenjem založnika Infomediji, d. o. o.