41 - 70 Flashcards
41.Ukratko objasnite i po potrebi skicirajte Bullyjev algoritam nadglasavanja,
prstenasti algoritam glasovanja, te algoritam izbora u bežičnim mrežama.
Bully algoritam nakon detekcije ispada trenutnog koordinatora inicira izbore. Svim cvorovima s
vecim ID-evima salje election poruku. Ako ni jedan ne odgovori, taj proces postaje koordinator.
U suprotnom, ovaj proces koji odgovori je novi koordinator.
Prstenasti algoritam glasovanja nakon detekcije ispada salje sljedecem procesu election poruku
(ili onom nakon njega ako je taj u ispadu). Ako ju proces primi, biljezi svoj broj u listu. Nakon
obilaska prstena, proces koji je poslao poruku opet prstenasto salje ID novog koordinatora
(najveci ID u prstenu) svim procesima.
Kod izbora u bezicnim mrezama, svaki cvor moze inicirati izbore slanjem election poruke
cvorovima u dometu.
● Kad cvor primi poruku, biljezi posiljatelja kao svog roditelja i salje election poruku svojim
cvorovima u dometu (osim roditelju).
● Kad cvor primi poruku, potvrdi primitak roditelju
● Kad roditelj primi poruku od svih susjeda, vrati poruku svom roditelju s najboljim
kandidatom za koordinatora
● Na kraju, inicijalni cvor dobije konacnu odluku koordinatora u ovisnosti o dostupnim
resursima. Ta informacija se prosljeduje svim dostupnim cvorovima
Ukratko objasnite način rada GPS-a i WiFi lokacijskih usluga
Specijalizirani GPS sateliti konstantno šalju svoju poziciju i vrijeme. GPS receiveri pomoću minimalno 4 satelita koji daju informacije o poziciji i vremenu pomoću jednadžbe računaju položaj tog receivera.
WiFi lokacijskih usluga:
Geolokacijski sistem koji pomoću obližnjih WiFi hotspotova ili poznatih WiFi access pointa određuje lokaciju uređaja. Koristi se tamo di GPS nije adekvatan.
Navedite i ukratko objasnite barem 3 mehanizma koji podržavaju paradigmu
raspodijeljenih objekata.
● Java RMI (Remote Method Invocation), objasnjeno kasnije
● Common Object Request Broker Architecture (CORBA), objasnjeno kasnije
● Simple Object Access Procotol (SOAP): komunikacijski protokol baziran na XML koji
omogucuje otvoren, prosiriv nacin za komunikaciju aplikacija preko interneta, neovisno o
jeziku ili platformi pojedinih aplikacija.
Ukratko objasnite osnove rada Java RMI arhitekture.
Object-oriented implementacija RPC modela za Java programe. Object server isporucuje
remote object i registrira ih s directory uslugom. Objekt omogucuje udaljene metode koje se
mogu pozivati u klijentskim programima.
Udaljeni objekt je deklariran Java interfaceom. Taj interface implementira konkretni object
server. Object client pristupa objektu pozivajuci udaljene metode pridruzene objektu sintaksom
za RMI.
Ukratko objasnite osnove rada CORBA sustava raspodijeljenih objekata.
Standardna arhitektura sustava raspodijeljenih objekata. Omogucuje suradnju raspodijeljenih
objekata u raznorodnim okruzenjima. Razlikuje se od Java RMI jer podrzava i ostale
programske jezike jer sama po sebi nema mogucnost rada s raspodijeljenim objektima, vec je
skup protokola.
Raspodijeljeni objekt se definira pomocu programske datoteke, slicno kao Java RMI, ali se
umjesto Jave koristi CORBA Interface Definition Language (zbog portabilnosti). Time se moze
implementirati u raznim konkretnim programskim jezicima.
Objasnite osnovnu razliku između paralelne i raspodijeljene obradbe.
Paralelno znaci da se podaci obraduju visestrukim CPU na jednom racunalu, dok je
raspodijeljeno visestruki CPU na vise raspodijeljenih racunala (mrezom, npr). Paralelna obradba
ima vise procesora koji dijele memoriju, a raspodijeljeni imaju vise procesora od kojih svaki ima
svoju memoriju i spojeni su mrezom.
Skicirajte načine obradbe master/worker, producer/consumer i shared queue.
3 SLIKE
Skicirajte model raspodijeljenog računala, te objasnite osnovnu razliku između grozda
i spleta računala.
IMA SLIKA.
Zapravo dost jednostavna skica, vise fizickih racunala je spojeno nekakvom vezom izmedu
sebe kako bi mogli komunicirat i djelit podatke (mreza).
Grozd (cluster) je skup racunala povezanih lokalnom mrezom, dok je splet (grid) infrastruktura
koja omogucuje pristup racunalnim resursima na svakom mjestu (WAN).
Ukratko objasnite osnovne modele (paradigme) paralelnih programa.
● Komunikacijama porukama (message passing) je vjerojatno najkoristeniji model
paralelnog programiranja. Vise zadataka se izvrsava istovremeno, a podaci se
razmjenjuju porukama. SPMD (Single Program Multiple Data)
● Podatkovni paralelizam (data parallelism) - primjena iste operacije na vise elemenata
podatkovne strukture (npr. pomnozi sve elemente polja s 2).
● Zajednicka memorija - svi procesori/zadaci dijele isti memorijski spremnik. Potrebna
zastita memorije (npr. semafori).
● Sustav zadataka i kanala (tasks and channels) - usmjereni graf gdje su cvorovi zadaci, a
veze kanali kojima oni komuniciraju.
Napišite i ukratko objasnite izraze za ubrzanje prema Amdahlovom zakonu.
● ubrzanje = 1/(1-P) gdje je P paralelni udio programa
● ubrzanje = 1/(S + P/N) gdje je:
○ S slijedni udio programa
○ P paralelni udio programa
○ N broj procesora
Navedite osnovne korake pretvorbe slijednog algoritma u paralelni, te ih
prodiskutirajte kroz primjer.
- Pronaci dijelove programa koji se mogu izvoditi istodobno
- Rastaviti algoritam (funkcionalna i podatkovna dekompozicija)
- Ostvarenje programa
- Ispravljanje gresaka, optimizacija izvodenja
Navedite i ukratko objasnite barem 2 tipa dekompozicije problema za rad na
paralelnoj platformi.
Funkcionalna dekompozicija - podjela problema na manje dijelove koji se mogu rjesavati
istodobno
● Podatkovna dekompozicija - podjela podataka s kojima algoritam radi na manje dijelove
Objasnite pojam funkcionalne dekompozicije problema prilikom prilagodbe
serijskog programa paralelnom izvođenju.
Funckionalna dekompozicija se odnosi na podjelu programske logike na manje dijelove koji se
mogu rjesavati istodobno. Zatim se, ako je to potrebno, vrsi raspodjela podataka.
Objasnite pojam raščlanjivanja domene problema prilikom prilagodbe serijskog
programa paralelnom izvođenju.
-Rasclanjivanje domene problema se odnosi na podjelu podataka koji se trebaju paralelno
obradivati izmedu dostupnih procesora.
-Ovdje definiramo zadatke koji su zaduzeni za odgovarajuci dio podataka.
-Potrebno definirati oblik komunikacije
Navedite osnovne značajke nakupina računala (engl. cluster), te ukratko opišite barem
3 vrste od njih.
skup računala povezan lokalnom mrežom
manji broj računala koja su identična ili vrlo slična
veća brzina komunikacije
npr. Google search engine, Cray XK7, BlueGene/Q
● Nakupine visokih performansi (HPC cluster) - za rudarenje nad podacima, paralelnu
obradbu, modeliranje klimatskih promjena
● S raspodjelom opterecenja (load balancing) - performanse u obliku raspodjele
opterecenja, FTP i Web posluzitelji
● Visokoraspolozive nakupine (high availability) - sprjecavaju ispade usluga, imaju zalihost