ISSN 0351-6652 Letnik 22 (1994/1995) Številka 3 Strani 166-172 Sandi Klavžar: VRSTE VZPOREDNIH RAČUNALNIKOV IN RAČUNALNIK CM-5 Ključne besede: računalništvo, vzporedni računalniki, računalnik CM-5. Elektronska verzija: http://www.presek.si/22/1220-Klavzar.pdf © 1994 Društvo matematikov, fizikov in astronomov Slovenije © 2010 DMFA - založništvo RRCUI1RU1ISW0 VRSTE VZPOREDNIH RAČUNALNIKOV IN RAČUNALNIK CM-5 Uvod Lani smo v Preseku ( "Hiperkocke in računalnik CM". Presek 21 (1993/94) 5, 290-295) omenili, da je bil !eta 1991 izdelan računalnik CM-5, ki je zasnovan drugače kot osnovni računalnik CM. Obljubili pa tudi smo, da bomo o tem nekaj povedali kdaj drugič. Kaj sploh so vzporedni računalniki? Odgovor pravzaprav ni povsem določen, lahko je bolj ali manj splošen. Odločimo se za naslednjo precej splošno definicijo: Vzporedni računalniki so računalniki, ki so sposobni hkratnega (= vzporednega) obdelovanja podatkov. Najpomembnejši predstavniki vzporednih računalnikov so tisti z več procesorji. Med vzporedne računalnike pa sodijo tudi računalniki s cevovodno obdelavo podatkov in računalniki z vektorskimi procesorji. Cevovodno obdelavo si lahko predstavljamo kot cev, v katero na eni strani vstopajo podatki, na drugi strani pa izstopajo rezultati. Znotraj cevi razdelimo operacijo, ki jo izvajamo nad podatki, na manjše dele, ki se postopoma izvajajo pri prehodu skozi cev. Tako iahko nad več podatki hkrati izvajamo različne dele obdelave. Zato, ko je cev napolnjena, prihajajo iz nje rezultati hitreje, kot če bi podatke obdelali do konca, preden bi se lotili novih Tudi znani procesor Pentium uporablja tak način računanja. Vektorski procesorji so zasnovani tako, da vzporedno izvajajo računanje na vektorjih (in s tem tudi na matrikah), tj. urejenih zaporedjih števil. Vektorji in matrike so namreč ena od najbolj pogostih oblik podatkov, ki jih mora obdelati računalnik. Vektorski procesor torej seŠteje vektorja v enem samem koraku (če le nista predolga), medtem ko običajni procesor potrebuje za to toliko korakov, kolikor števil se nahaja v posameznem vektorju. Če zmore vzporedni računalnik hkrati obdelati največ n podatkov, gotovo ne more biti več kot n-krat hitrejši od podobnega zaporednega računalnika, ki naenkrat obdela en poda1 ek. Dejansko je n-kratna pospešitev hitrosti bolj ali manj pobožna želja, ki seji uspemo približati pri določenih konkretnih problemih. Ena glavnih ovir je učinkovita izmenjava podatkov med vzporednimi procesi. In zakaj kljub temu izdelujejo vzporedne računalnike? Po eni strani imajo klasični računalniki določene fizikalne omejitve za nadaljnji razvoj, po drugi strani pa je dovolj uporabnikov, ki so za nekajkratno pospešitev delovanja pripravljeni veliko plačati. Kot primer omenimo le modeliranje vremena. Če hočemo tovrstne probleme reševati dovolj hitro, potrebujemo računalnik s hitrostjo računanja blizu giga FLOPS, Če ne celo blizu tera FLOPS. FLOPS je kratica za Floating Po/'nf Operations Per Second. kar pomeni število operacij z realnimi števili na sekundo. Giga FLOPS (GFLOPS) tako pomeni 109 takih operacij na sekundo, medtem ko tera FLOPS pomeni 10 operacij. Enoto FLOPS uporabljamo predvsem takrat, kadar želimo primerjati hitrosti posameznih računalnikov na področju računsko intenzivnih metod. Tako na primer superračunalnik Convex C-3860 z Instituta Jožef Štefan pri nekaterih posebnih problemih doseže hitrost, kije blizu enemu GFLOPS. Ukazni in podatkovni tokovi Oglejmo si delitev računalnikov na štiri razrede. Ta delitev je dokaj groba, vendar kljub temu podaja bistveno informacijo o določenem računalniku. Kako delujejo običajni računalniki? Na vsakem koraku delovanja zahteva krmilna enota od procesorja, da izvede neko operacijo. Ta nato pobere ustrezne podatke iz pomnilnika in po obdelavi tja tudi vrne rezultat Lahko rečemo, da imamo en ukazni tok in en podatkovni tok. Ukazni tok predstavljajo ukazi, ki jih krmilna enota posreduje procesorju, podatkovni tok pa predstavlja izmenjava podatkov med procesorjem in pomnilnikom, V splošnem imamo lahko več ukaznih in (ali) več podatkovnih tokov, zato računalnike delimo v naslednje razrede: S/SD, MISD. SIMD in MIMD Kratica SiSD pomeni en ukazni in en podatkovni tok (Single Instruction Stream / Single Data Stream), MISD pomeni več ukaznih in en podatkovni tok (Multiple Instruction/Single Data), medtem ko naj pomen preostalih kratic razvozlja bralec sam. Večina sedanjih računalnikov torej spada v razred SISD - imajo eno procesno enoto, v katero prihaja en ukazni tok in izvaja operacije nad enim podatkovnim tokom V računalnikih MISD ima vsak procesor svoj ukazni tok (tj. svojo krmilno enoto), procesi pa si delijo skupni pomnilnik. Razred MISD omenjamo predvsem zaradi popolnosti razdelitve, kajti računalnik! tega razreda verjetno niso preveč perspektivni. Vse drugače je z računalniki SIMD. V njih imamo eno krmilno enoto, ki ukaz prenese večjemu številu procesorjev. Nato (ne nujno vsi) procesorji izvajajo isti ukaz in pri tem uporabljajo svoj lokalni pomnilnik. Podatki med procesorji se prenašajo po povezovalnem omrežju, ki ga imenujemo podatkovno omrežje. Tipično povezovalno omrežje je na primer hiperkocka. Je kdo iz povedanega že zaključit, da računalnika CM-1 in CM-2. ki smo ju opisali lani, spadata v razred SIMD? Poleg podatkovnega omrežja najdemo v računalnikih SIMD tudi omrežje za razpošiljanje, preko katerega pride ukaz od krmilne enote do procesorjev. Najpomembnejši podatek o povezovalnem omrežju je njegov premer, tj koliko korakov potrebujemo v najslabšem primeru, da pridemo od posameznega procesorja do poljubnega drugega procesorja. Hiperkocka Qn, ki ima 2" procesorjev, ima premer rt, torej je premer enak logaritmu (z osnovo 2) števila procesorjev. Praktično sta pomembna le dva tipa povezovalnih omrežij. Naj bo n število procesorjev sistema. Tedaj imajo prva povezovalna omrežja približno logaritmski premer, log n. druga omrežja pa približno korenski premer, y/n. Primer za prvi tip omrežij so hiperkocke in debela drevesa (ta bomo spoznali kasneje), za drugi tip omrežij pa razne mreže. Na sliki 1 vidimo taki mreži, natančneje, dela takih mrež. Slika 1. Omreiji s korenskim premerom V računalnikih MIMD imamo za vsak procesor svojo krmilno enoto. Zaradi tega so procesorji neodvisni med seboj in lahko "vsak dela po svoje . To je po eni strani prednost v primerjavi z računalniki SIMD, saj lahko vzporedno rešujemo več različnih problemov. Toda za izmenjavo podatkov in usklajevanje med procesorji porabimo zato več časa. Od računalnikov razreda MIMD omenimo Convex C-3860 s šestimi procesorji. CRAY-X MP in računalnik CM-5. Računalnik CM-5 Prvi računalnik CM-5 je bil izdelan leta 1991, razvijati pa so ga začeli že štiri leta prej. Prvi računalnik je vseboval 256 procesorjev, naslednji pa že 544. število procesorjev tahko izbiramo med 32 in 16384. načeloma pa bi jih bilo lahko celo več. Tej lastnosti, ki je ena najpomembnejših značilnosti računalnika CM-5, pravimo raz t eg Ijivos i. Raztegljivost poleg tega omogoča, da lahko posamezne komponente računalnika zamenjamo z drugačnimi (boljšimi), ne da bi pri tem spremenili zasnovo računalnika. Za osnovni procesor so izbrali 32 MHz procesor SPARC, katerega sorodniki domujejo v delovnih postajah Sun. Te delovne postaje so tudi sicer v tesni zvezi s CM-5. saj so priključene nanj in skrbijo za sistemsko administracijo. Delovne postaje imenujemo kontrolni procesorji. Lahko imamo eno samo ali do nekaj deset. Ob vsakem procesorju SPARC najdemo še 32MB velik pomnilnik in vektorski procesor za izvajanje računskih operacij z realnimi števili (torej neke vrste matematični koprocesor). SPARC, pomnilnik in vektorski procesor na kratko imenujemo procesno vozlišče. Za vhodno-izbodne operacije skrbijo posebni vhodno-izhodni vmesniki. Procesna vozlišča, kontrolne procesorje in vhodno-izhodne vmesnike imenujemo s skupnim imenom procesne enote. Procesne enote so med seboj povezane s tremi povezovalnimi omrežji: podatkovnim omrežjem, kontrolnim omrežjem in diagnostičnim omrežjem. Med enotami in omrežji se nahajajo omrežni vmesniki, ki skrbijo, da procesnim enotam ni potrebno poznati podrobnosti omrežij in obratno. Na sliki 2 je shematično prikazana opisana 2gradba, kjer kratice PV, KP. V/l, OV in DO po vrsti pomenijo procesno vozlišče, kontrolni procesor, vhodno-izhodni vmesnik, omrežni vmesnik in diagnostično omrežje. DO kontrolno omrežje podatkovno omrežje J ^ o v ^ o v ^ o v ^ o v ^ o v MdvjMovjMov PV P v A, P v P v K P K P V/I V/l Slika 2. Shematična zgradba raiunalnika CM-5. Poglejmo še na sliko 3, kjer imamo prikazano procesno vozlišče skupaj z omrežnima vmesnikoma. Slika 3. Procesno voiliSCe z omrežnima vmesnikoma. Podatkovno omrežje omogoča prenos podatkov med poljubnima procesnima enotama. Kontrolno omrežje skrbi za skupne operacije, kot je na primer sinhronizacija delovanja in razpošiljanje sporočil med procesnimi enotami. Zanimivo je, da je kontrolno omrežje zgrajeno na cevovodnem principu, torej je lahko odposlanih več sporočil, še preden je katerokoli sprejeto. Diagnostično omrežje testira računalnik ter odkriva in izolira napake, ki se lahko pojavijo na strojni opremi Poleg tega omogoča, da računalnik nemoteno deluje tudi tedaj, ko so določeni deli računalnika pokvarjeni ati pa izven uporabe Med vsemi omrežji je najpomembnejše podatkovno, zato si ga oglejmo nekoliko natančneje. Omenili smo že, daje pri računalnikih CM-1 in CM-2 to omrežje hiperkocka. Zaradi raztegljivosti so se morali pri CM-5 taki zgradbi odpovedati. Za podatkovno omrežje so izbrali debelo drevo. Tega pojma ne bomo podrobneje razlagali Zadošča naj kar slika 4, kjer je prikazan poseben primer debelega drevesa - poino dvojiško debelo drevo. Točko drevesa, ki jo narišemo najvišje, imenujemo koren drevesa. Kot razberemo s slike, je glavna značilnost debelega drevesa, da število povezav narašča z njegovo višino Torej podobno kot pri pravem drevesu, kije najde-belejše pri korenini (korenu). Spodnje točke drevesa, ki so na sliki krožci, so Ust i drevesa. Listi debelega drevesa ustrezajo procesnim enotam. Pravokotni-ki predstavljajo usmerjevalna vezja, preko katerih potujejo podatki. V resnici je debelo drevo podatkovnega omrežja v CM-5 nekoliko bolj zapleteno, kot je primer na sliki 4. Slika A. Debelo drevo. Še nekaj pripomb Verjetno poznate resnico, da se zgodovina ponavlja. Tako je tudi v računalništvu. Izvedba računalnika CM-5, ki vsebuje blizu 16384 procesorjev, zavzame približno 30 x 30 metrov veliko površino. To je torej orjaški računalnik, podoben prvim elektronskim računalnikom. O prvem elektronskem računalniku ENIAC je lani pisal tudi Presek. Bil je dolg 30.5 metra Pač pa ima CM-5 drobno prednost pred zgodovinskimi orjaki Njegova hitrost je približno tera FLOPS, medtem ko je EIMIAC zmogel (le) 5000 seštevanj v sekundi. Leta 1994 so izdelali računalnik CM-5E, novo različico računalnika CM-5. Gre za zelo podoben računalnik, le da ima izboljšane ključne komponente. To je seveda razumljivo, če se spomnimo, da je ena glavnih značilnosti CM-5 raztegljivost Procesor v procesnem vozlišču je SuperSPARC, ki je opremljen s hitrejšo vektorsko enoto, izboljšana pa so tudi povezovalna omrežja. Izdelovalec trdi, da naj bi računalnik CM-5E prekašal vse konkurenčne vzporedne superračunalnike. Seveda tu zgodbe še ni konec. Tako pri družbi Cray, najbolj znanem izdelovalcu superračunalnikov, načrtujejo računalnik 5IMD s kar dvema milijonoma (enobitnih) procesorjev, za dolgoročnejši cilj pa imajo računalnik z 32 milijoni procesorjev. Bomo videli, kako jim bo uspelo. V članku smo vam želeli prikazati osnove vzporednih računalnikov. Marsičesa seveda nismo povedali Tako bi bilo zagotovo zanimivo izvedeti še kaj o transputerjih in procesorjih RISC. Če vas tema zanima, poglejte v naslednjo Številko Preseka! Mimogrede, procesorji SPARC spadajo v skupino procesorjev RISC. Sandi Kiavžar