Nova pitanja Flashcards

1
Q

Ukratko objasnite CAP teorem.

A
  • Dosljednost (consistency), Raspoloživost (availability), Particioniranje (partitioning)
  • Svaka raspodijeljena pohrana može pružiti dva od tri jamstva.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Ukratko objasnite osnove flat dodjeljivanja imena, te načela prosljeđivanja pokazivača i shortcuta.

A

Entiteti u raspodijeljenim sustavima obično imaju imena koja se
koriste za njihovo lociranje

Flat imena
– broadcast/multicast – jednostavno, ali neproširivo
– raspodijeljene hash tablice – lakše proširivo, npr.: Chord
– hijerarhijski pristupi – struktura stabla s ciljem skraćenja vrijeme pretraživanja
– mobilni entiteti – potrebni dodatni mehanizmi - pokazivači ili lociranje

Preusmjeravanje proslijeđenog pokazivača pohranom “shortcuta” na
klijentskoj krajnjoj točki. Cilj je zadržati lanac kratkim kako bi komunikacija bila brža i kako bi se smanjila mogućnost pucanja lanca . Eventualno, ako se poslužiteljska krajnja točka nije dugo referencirala (pozivala), ona se može udaljiti.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Objasnite na primjerima funkcija razliku između blokirajućeg i neblokirajućeg načina komuniciranja.

A

MPI_Send(a, 10, MPI::DOUBLE, 1, 17,MPI COM WORLD);
MPI_Recv(b, 10, MPI::DOUBLE, 0, 17, MPI COM WORLD, status);

MPI_Send() i MPI_Recv() funkcije blokiraju procese koji ih pozivaju. Niti jedna od tih funkcija ne završava dok se ne završi komunikacija koju je ta funkcija započela. Značenje završetka poziva MPI_Recv() funkcije je intuitivno i jasno – odgovarajuća poruka je stigla na odredište, i podaci iz poruke se kopiraju u izlazne parametre poziva funkcije.

MPI_Irecv(b, 100, MPI_DOUBLE, 1, 19, MPI_COMM_WORLD, &zahtjev);
MPI_ISend(a, 100, MPI_DOUBLE, 1, 17, MPI_COMM_WORLD);

Proces poziva funkciju MPI_Comm.Irecv() da bi započeo operaciju primanja podataka, bez blokiranja ostatka programa (koji slijedi nakon poziva ove funkcije).

ali bez blokiranja programa do završetka te funkcije (dok se ne završi operacija slanja).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

. Objasnite i koristite osnovne funkcije korištene u OpenMP-ju obuhvaćene
predavanjima i LV.

A
  • omp_set_num_threads() - Funkcija postavlja broj niti koje će se koristiti u paralelnim dijelovima koda koji slijede.
  • omp_get_num_threads() - Funkcija vraća broj niti koje se koriste u paralelnom dijelu koda.
  • omp_get_thread_num() - Funkcija vraća ID niti u paralelnom dijelu koda
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Nevedite i ukratko objasnite od koja tri dijela se sastoji krajnja točka usluge

A

Svaka krajnja točka sastoji se od nekoliko svojstava:
 Adresa (Address) - upućuje na lokaciju krajnje točke
 Povezivanje (Binding) - definira način komunikacije klijenta s krajnjom točkom
 Ugovor (Contract) - prikazuje dostupne operacije unutar usluge
 Skup ponašanja (Behaviors) - definira lokalnu implementaciju krajnje točke

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Navedite barem pet načina povezivanja kod usluga.

A

basicHttpBinding
webHttpBinding
WSHttpBinding
WSDualHttpBinding
WSFederationHttpBinding
NetTcpBinding

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

. Ukratko objasnite što je i kako radi API gateway, koji su koraci korištenja, te navedite barem dva primjera API gatewaya.

A

API gateway skriva unutarnje API-je za klijente. poziv usluge obavlja se preko javnog API-ja koji nazivamo API gateway, pa klijent ne mora ni znati da ide preko API posrednika koji obavlja preusmjeravanje.

Nakon što API gateway provjeri autentičnost zahtjeva, stvara sigurnosni token.
Gateway prosljeđuje ovaj token internim uslugama odgovornima za obradbu zahtjeva koje preko svojih ovisnosti (dependency) omogućuju usluge

  • koraci:
    1. API klijent šalje zahtjev s ovlastima prema API gatewayu
    2. API gateway pokušava autentificirati ovlasti uslugom auth
    3. Usluga auth validira ovlasti i vraća security token
    4. API gateway šalje zahtjev prema usluzi A uključujući i security token
    5. API gateway šalje zahtjev prema usluzi B uključujući i security token
    6. API gateway komponira odzive od strane usluga A i B i odgovara klijentima

Microsoft Azure API Gateway
Amazon API Gateway

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

. Ukratko objasnite pojmove: DevOps, Continuous Integration (CI), Continuous Delivery (CD), Continuous Deployment, Continuous Monitoring, te faze Continuous Delivery-ja i Deployment-a.

A

(Development and Operations)
Integriranje razvoja, QA i IT operacija u jedinstveni pristup i skup procesa s ciljem
uspješnije isporuke programa, a sastoji se od sljedećih aktivnosti i operacija:
- Continuous Integration (CI) praksa je čestog spajanja svih programskih kodova u
središnju bazu kodova, a zatim izvođenja automatiziranih procesa izrade i testiranja. Cilj je
brzo otkriti i ispraviti probleme s kodom, pojednostaviti implementaciju i osigurati kvalitetu
koda.
- Continuous Delivery (CD) praksa je automatske izgradnje, testiranja i postavljanja koda u
okruženja slična proizvodnji. Cilj je osigurati da je kod uvijek spreman za implementaciju.
Dodavanje kontinuirane isporuke za stvaranje potpunog CI/CD cjevovoda pomaže u
otkrivanju nedostataka koda što je prije moguće. Također, tako se osigurava da se ispravno
testirana ažuriranja mogu objaviti u kratkom vremenu.
- Continuous Deployment je dodatni proces koji automatski preuzima sva ažuriranja koja
su prošla kroz CI/CD cjevovod i implementira ih u proizvodnju. Kontinuirana implementacija
zahtijeva robusno automatsko testiranje i napredno planiranje procesa. Možda nije uvijek
prikladno.
- Continuous Monitoring odnosi se na proces i tehnologiju potrebnu za uključivanje
praćenja u svakoj fazi životnih ciklusa DevOps i IT operacija. Praćenje pomaže osigurati
ispravnost, izvedbu i pouzdanost aplikacije i infrastrukture dok aplikacija prelazi iz razvoja u
proizvodnju. Kontinuirano praćenje temelji se na načelima CI i CD.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Ukratko objasnite što sadrži i od čega se sastoji domenski model udaljenih API-ja.

A

API Client, Communication participant, api provider, api contract, api endpoint, address

Sadrzi operacije, konverzacije, poruke

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Ukratko objasnite tipove konverzacije i tipove poruka udaljenih API-ja, te što sadrže poruka i ugovor.

A

Poruke: Command, document and event message
Konverzije: request reply, one way exchange, event notification, request multiple replies(callbacks)
Poruka sadrzi message, representation, address, api endpoint, representation element.
Ugovor sadrzi API ugovor opisuje operacije pozivane u konverzacijama porukama

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

. Objasnite što su korisničko (user CPU) i stvarno (real CPU) procesorsko vrijeme izvođenja programa. Ako je korisničko vrijeme izvođenja programa 27 sekundi, koliko je stvarno procesorsko vrijeme ako se program paralelizira na homogenom sustavu od 6 procesora, a 50% programskog koda je moguće

A

User CPU time
Korisničko procesorsko vrijeme nekog programa je njegovo trajanje kakvo percipira sam korisnik programa ili Kernel (OS).

Real CPU time
Stvarno procesorsko vrijeme je kumulativno vrijeme rada svih obradbenih jedinica sklopovlja na određenom programu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Objasnite metriku FLOPS. Ako se programski kod u kojem se izvršava 100 milijardi operacija s pomičnim zarezom izvrši za 10 sekundi na nekom sustavu, koliki je FLOPS za navedeni sustav?

A

MFLOPS
Količina operacija s pomičnim zarezom po sekundi (engl. Floating Point Operations Per Second - FLOPS) računa se kao:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly