Mimd

10
MIMD računarski sistemi Ova klasa je najmoćnija i najopštija klasa paralelnih računara.. MIMD sistem se sastoji od dva ili više procesora približno jednake moći izračunavanja. U MIMD sistemu ne postoji centralna upravljačka jedini ca (CU – Control Unit ), kao kod SIMD. Svaki procesor ima svoju CU, lokalnu memoriju i ALU. Radom svakog procesora upravljaju instrukcije koje izdaje sopstvena CU. Procesori mogu izvršavati različite dekove programa nad različitim skupom podataka koji zajedno predstavljaju deo globalnog problema koji treba da se reši. Drugim rečima, svaki procesor izvršava odredjeni skup zadataka (taskova ili procesa) koji predstavljaju deo nekog ukupnog posla (job). Pošto je u principu nemoguće izvršitit podelu jednog posla na niz nezavisnih zadataka koji medjusobno ne zahtevaju nikakvu razmenu podataka (jer nigde u prirodi ne postoji savršeni paralelizam) nameće se potrba za razmenom podataka izmedju izmedju procesora koji izvršavaju različite zadatke. Razmena podataka izmedju procesora (komunikacija) može da se obavi preko zajedničke (deljive) memorije korišćenjem zajedničkih (deljivih) promenljivih, ili eksplicitnim slanjem poruka izmedju procesora. Procesori u MIMD sistemu rade asinhrono, pa je potrebno obezbediti mehanizme za sinhronizaciju. Mehanizmi iskorišćeni za komunikaciju mogu se iskoristiti i za sinhronizaciju, samo što se u ovom, drugom, slučaju umesto podataka razmenjuju upravljačke informacije. S inhronizacijom se obezbedjuje korektan redosled izvršenja zadataka i uzajamno isključivo pravo pristupa deljivim resursima. MIMD sistemi se mogu podeliti na dve velike klase: Čvrsto spregnuti sistemi (multiprocesori) Slabo spregnuti sistemi (multiračunari) 1

description

arhitektura racunara

Transcript of Mimd

MIMD raunarski sistemi

MIMD raunarski sistemi

Ova klasa je najmonija i najoptija klasa paralelnih raunara.. MIMD sistem se sastoji od dva ili vie procesora priblino jednake moi izraunavanja. U MIMD sistemu ne postoji centralna upravljaka jedini ca (CU Control Unit ), kao kod SIMD. Svaki procesor ima svoju CU, lokalnu memoriju i ALU. Radom svakog procesora upravljaju instrukcije koje izdaje sopstvena CU. Procesori mogu izvravati razliite dekove programa nad razliitim skupom podataka koji zajedno predstavljaju deo globalnog problema koji treba da se rei. Drugim reima, svaki procesor izvrava odredjeni skup zadataka (taskova ili procesa) koji predstavljaju deo nekog ukupnog posla (job).

Poto je u principu nemogue izvritit podelu jednog posla na niz nezavisnih zadataka koji medjusobno ne zahtevaju nikakvu razmenu podataka (jer nigde u prirodi ne postoji savreni paralelizam) namee se potrba za razmenom podataka izmedju izmedju procesora koji izvravaju razliite zadatke.Razmena podataka izmedju procesora (komunikacija) moe da se obavi preko zajednike (deljive) memorije korienjem zajednikih (deljivih) promenljivih, ili eksplicitnim slanjem poruka izmedju procesora.

Procesori u MIMD sistemu rade asinhrono, pa je potrebno obezbediti mehanizme za sinhronizaciju. Mehanizmi iskorieni za komunikaciju mogu se iskoristiti i za sinhronizaciju, samo to se u ovom, drugom, sluaju umesto podataka razmenjuju upravljake informacije. S inhronizacijom se obezbedjuje korektan redosled izvrenja zadataka i uzajamno iskljuivo pravo pristupa deljivim resursima.

MIMD sistemi se mogu podeliti na dve velike klase:

vrsto spregnuti sistemi (multiprocesori)

Slabo spregnuti sistemi (multiraunari)

Na Sl. 1 i 2 prikazane su globalne arhitekture multiprocesorskog i multiraunarskog sistema.

Sl. 1 Multirprocesorski (vrsto spregnuti) sistem

Sl. 2 Multiraunarski (slabo spregnuti) sistem

Karakteristike multiprocesora:

Multiprocesor sadri dva ili vie homogenih procesora podjednakih mogunosti;

Svi procesori dele pristup zajednikoj (deljivoj ) memoriji, mada svaki procesor moe imati malu lokalnu memoriju (memorije oznaene sa PM na Sl.1) koja se moe koristiti za pamenje jezgra OS. Sprega procesora sa zajednikom memorijom ostvarena je preko procesor-memorija sprene mree (PMIN na sl.); Komunikacija izmedju procesora ostvaruje se preko deljive memorije korienjem zajednikih (deljivih) promenljivih;

Razmena upravljakih informacija moe se ostvariti i preko procesor-procesor sprene mree (PPIN), mada nije obavezno postojanje ove mree;

Svi procesori dele pristup U/I kanalima i uredjajima, DMA kontrolerima preko PIOIN mree;

Radom celog sistema upravlja jedinstveni OS koji obezbedjuje interakciju izmedju procesora i njihovih programa na nivou posla, zadataka, skupa podataka i elementa podataka.

Multiprocesori mogu biti realizovani korienjem samo jedne sprene mree (PMIN). Sprene mree multiprocesorskih sistema su dinamikog tipa, to znai da se veze izmedju procesora i memorija uspostavljaju po zahtevu u toku izvrenja programa. Najjednostavnija sprena mrea je zajednika magistrala. Cena i sloenost ove sprene mree je najmanja (reda O(p), ako ima p procesora) ali je i propusnost najnia. Na drugoj strani je crossbar sprena mrea, koja ima potunu povezanost, ali i najveu cenu (reda O(p2), ako ima p procesora i p memorija). Izmedju ova dva ekstremna reenja postoje kompromisi koji se ogledaju u korienju vie magistrala, jednostepenih i viestepenih sprenih mrea.Moe se desiti da dva ili vie procesora upute zahtev za pristup istom memorijsom modulu to dovodi do konflikata. Konflikte mora da razrei sprena mrea. Konflikti unose kanjenje ilizbog sudra kod pristupa memorijskim modulima ili zbog vremena komutacije sprene mree. Sa porastom sprene mree ovo kanjenj moe znatno umanjiti propusnost sistema.

Broj obraanja glavnoj memoriji i kanjenje koje iz toga proizilazi, moe se smanjiti uvodjenjem ke memorija izmedju sprene mree i procesora. Medjuti, uvodjenje privatnih ke memorija dovodi do problema nekonzistentnosti podataka jer sada u sistemu moe postojati vie kopija istog podatka. Do neusaglaenosti dolazi kada podatak u jednom keu bude modifikovan a da pri tome druge kopije tog podatka (u glavoj memoriji i drugim keevima) ne budu aurirane. O problemu usaglaavanja ke memorija bie rei kasnije.Karakteristike multiraunara (Sl.2):

Kod slabo spregnutih sistema svaki procesor ima svoju lokalnu memoriju i svoj sopstveni skup U/I uredjaja, mada mogu deliti neke periferije Procesor sa svojom memorijom i U/I uredjajima zove se raunarski modul ili vor. Spregaprocesora sa lokalnom memorijom i lok. U/I uredjajima ostvaruje se prko lokalne magistrale.

Skup procesora moe biti heterogen

Kod slabo spregnutih sistema ne postoji zajednika memorija

Komunikacija izmedju procesora se ostvaruje slanjem poruka kroz sprenu mreu. Sprega vora sa sprenom mreom ostvarena je preko odgovarajueg interfeisa (NI na sl. 2)

Sprene mree su statikog tipa.

Moderni multiraunarski sistemi koriste hardverske rutere za slanje poruka. Svaki vor je prikljuen na jedan ruter. Granini (krajnji ) ruter moe biti prikljuen na U/I. Slanje poruka izmedju bilo koja dva vora zahteva korienje niza rutera i kanala.

Najpoznatije topologije sprenih mrea kod multiraunara su prsten, stablo, mrea, torus, hiperkub. Izmedju vorova se mogu zahtevati razliiti oblici komunikacija, npr. Jedan-na-jedan, broadcast (emisija), multicast (selektivna emisija).

Na prvi pogled moe se uiniti da je multiraunar isto to i mrea raunara. Medjutim, multiraunar je jedinstven sistem ijim radom upravlja jedinstveni OS, dok kod mrea raunara svaki raunar ima svoj OS. Broj procesora u multiraunarskom sistemu je transparentan za korisnika. Za korisnika je to virtuelni jednoprocesorski sistem.Arbitraa na magistrali

Svakako najjednostavnija sprena mrea za povezivanje vie procesora jeste vremenski deljiva ili zajednika magistrala. Na ovaj jedinstveni spreni put spregnute su sve komponente sistema: procesori, memorije i U/I uredjaji. Ovakva sprena mrea je potpuno pasvna jedinica bez aktivnih komponenti kao to su komutatori. Operacijama prenosa po magistrali u potpunosti upravlja interfeis izvorne i odredine jedinice.

Jedinica koja eli da inicira prenos (procesor ili U/I uredjaj) mora prvo da utvrdi status magistrale (raspoloiva ili ne ), zatim da adresira odredinu jedinicu i utvrdi njenu raspoloivost i spremnost da prihvati podatke. Nakon zavretka prenosa magistrala mora da se oslobodi.

Ploe koje se povezuju na magistralu mogu biti tipa

Gospodar moe inicirati prenos po magistrali

Sluga odaziva se gospodaru

Neki uredjaji mogu biti i gospodar i sluga, ali ne jednovremeno.

Poto se na magistralu prikljuuje vei broj potencijalnih gospodara, a u jednom trenutku samo jedan moe dobiti magistralu na korienje, potrebno je obezbediti arbitracione mehanizme koji e omoguiti da se dodela magistrale obavi bez konflikata.

Arbitraa se moe izvesti kao

Statika

Dinamika

Statika arbitraa

Kod statike arbitrae raspored transakcija na magistrali izmedju potencijalnih gospodra vri se po unapred definisanom redosledu. Obino je redosled dodeljivanja kruni, kao to je prikazano na Sl.3.

Prednost ovakvog izvodjenja je jednostavnost (tj. Ugradnja jednostavnog hardvera). Nedostatak ove dodele je to ne uzima u obzir realne potrebe za prenosom. Magistrala se dodeljuje i onom gospodaru koji nema potrebe za prenosom.

Dinamika arbitraa

Ovaj tip dodele obezbedjuje da se gospodar magistrale odredjuje dinamikim putem, po zahtevu. Dodela i oslobadjanje magistrale ostvaruju se odredjenom politikom.

Politike dodele magistrale mogu biti zasnovane na

Prioritetu svakom potencijalnom gospodaru dodeljen je fiksni prioritet. U sluaju vie zahteva magistrala se dodeljuje gospodaru sa najviim prioritetom Nepristrasnosti potencijalni gospodari imaju jednak prioritet. Svakom gospodaru koji je izdao zahtev mora se garantovati dodela magistrale pre nego to se bilo kom drugom gospodaru po drugi put dodeli magistrala. Drugim reima, prioriteti gospodra nisu fiksni, ve se menjaju dinamiki. Onaj gospodar koji je poslednji koristio magistralu dobija najnii prioritet.

Kombinovana politika zasnovana na prioritetu i nepristrasnosti. Obino se U/I zahtevima vri dodela zasnovana na prioritetima, a procesorskim zahtevima na politici nepristrasnosti. Multiprocesorski sistemi standardno koriste kombinovanu politiku.

Politike oslobadjanja magistrale

Oslobadjanje po zahtevu tekui gospodar magistrale ima pristup, sve dok se ne generie drugi zahtev

Oslobadjanje nakon obavljene transakcije nakon obavljene transakcije gospodar oslobadja magistralu

Istiskivanje gospodar koji ima vii prioritet u odnosu na tekueg gospodra, uslovljava da gospodar sa niim prioritetom oslobodi magistralu i ako nije zavrio sa prenosom.Hardverski mehanizmi za arbitrau na magistrali

Harver za arbitrau moe biti realizovan kao centralizovan ili distribuiran.

Centralizovana arbitraa

Kod centralizovane arbitrae hardver je koncentrisan na jednom mestu. To moe biti u jednom od modula koji se povezuju na magistralu ili moe biti izveden kao poseban hardver koji se zove arbitar magistrale.

Gospodar koji zahteva dodelu magistrale predaje zahtev centralnom arbitru. Ako postoji vei broj zahteva, centralni arbitar na osnovu usvojene politike dodele odluuje kome e dodeliti magistralu.

Hardverski mehanizmi koji se koriste za dodelu i zahvatanje magistrale mogu se realizovati kao

1. deljivi zahtevi lanano zahvatanje

2. nezavisni zahtevi zahvatanja

Princip metoda sa deljivim zahtevom i lananim zahvatanjem prikazan je na Sl. 4. svaki potencijalni gospodra magistrale izdaje zahtev za dodelu magistrale preko linije BUS REQUEST. Svi zahtevi su povezani ianom ILI logikom.

Sl. 4.

Kada centralni arbitar primi zahtev, on predaje signal BUS GRANT potencijalnom gospodaru magistrale oznaenom sa 1. linija BUS GRANT povezuje sve potencijalne gospodare u lanac(daisz chain), tako da gospodar 1 predaje signal gospodaru 2, itd. Gospodae koji je izdao zahtev ne prenosi signal dalje (prekida lanac) i aktivira liniju BUS BUSY ime ukazuje da je zahvatio magistralu. Kada tekui gospodar zavri sa prenosom oslobadja liniju BUS BUSY i naredni ciklus arbitrae moe da pone.Oigledno je da je ovde politika dodele zasnovana na fiksnim prioritetima. Gospodar koji je blii centralnom arbitru ima vii prioritet. Prednos ove eme je jednostavnost izvodjenja i mali broj linija zahtevanih za arbitru. Nedostatak je to je priorite odredjen fizikom pozicijom. Naime, moe se desiti da gospodar sa niim prioritetom ne dobiju magistralu ako se esto izdaju zahtevi od strane gospodara sa niim prioritetom.

Druga tehnika koja se zasniva na nezavisnim zahtevima i zahvatanjima, nema ove nedostatke. Princip ovog metoda prikazan je na Sl.5. Svakom potencijalnom gospodaru magistrale dodeljuje se posebna linija za izdavanje zahteva i posebna linija za zahvatanje preko kojih se povezuju sa centralnim arbitrom.

Sl. 5.

Kada potencijalni gospodar eli dodelu magistrale, on postavlja svoju liniju BUS REQUESTi. Arbitar odabira potencijalnog gospodara i odabira odgovarajuu liniju BUS GRANTi. Odabrani gospodar brie svoj zahtev i aktivira liniju BUS BUSY. U sluaju vie zahteva, centralni arbitar vri dodelu magistrale na osnovu usvojene politike dodele.

Prednost ove eme je kratko vreme arbitrae, a nedostatak veliki broj linija za povezivanje potencijalnih gospodra i centralnog arbitra.

Distribuirana arbitraa

Kod ove vrste arbitre hardver za arbitrau je raspodeljen po potencijalnim gospodarima magistrale, Sl. 6. Svaki potencijalni gospodar ima sopstveni arbitar i jedinstveni arbitracioni broj koji se koristi da razrei sudare kod jednovremenih zahteva za korienjem magistrale. Kada dva ili vie uredjaja konkuriu za korienje magistrale, pobednik je onaj koji ima vii arbitrcioni broj. Svaki potencijalni gospodar moe poslati svoj arbitracioni broj (AB) na deljive request/gran linije preko svog arbitra.

Sl. 6. Distribuirana arbitraa

Od svih zahteva se formira zbirni arbitracioni broj, (AB. Nakon ovoga, svaki arbitar poredi svoj AB sa zbirnim, poev od bita najvee teine. Ako je njegov broj nii od zbirnog to znai da je njegov prioritet nii i zahtev se uklanja. Na kraju na linijama ostaje arbitracioni broj onog gospodara koji ima najvii prioritet i njemu se dodeljuje magistrala.

Na kraju, napomenimo da multiprocesorski sistemi koji koriste magistralu za povezivanje (npr. Sequent Symetry serija, Encore Multimax serija) imaju mali ili srednji broj procesora (do 32). Naime ekspanzija sistema dodavanjem procesora poveava saobraaj namagistrali, to smanjuje propusnost sistema i poveava arbitracionu logiku. Ukupna brzina prenosa unutar sistema ograniena je irinom i brzinom magistrale. Zbog toga je prisustvo lokalnih ke memorija veoma poeljnoPAGE 1