O NTWERP VAN G EDISTRIBUEERDE S OFTWARE ACADEMIEJAAR 2011 - 2012 1STE EXAMENPERIODE, 23 JANUARI 2012, 8U30 – 12U00 Naam : ……………………………………………………………………………………….. Richting : …………………………………………………………………………………….. Opmerkingen vooraf : - werk verzorgd en duidelijk, zodat er geen dubbelzinnigheden in je antwoord sluipen - vermeld je naam onderaan elk volgend blad - zorg dat gevraagde argumentaties voldoende duidelijk en uitgebreid zijn om je antwoord te staven.
VRAAG 1: VERDEELDE SYSTEMEN [10 MIN] (a) Definieer een synchroon verdeeld systeem.
(b) “Een belangrijke taak van middleware bestaat in het verschaffen van transparantie voor de ontwikkelaars van software.” Leg uit, geef een aantal (minstens 3) vormen van transparantie, en leg ze kort uit.
Naam:……………………………………………………….
Blz.1
VRAAG 2: MIDDLEWARE [15 MIN] a. Leg uit hoe concreet de 'at-most-once semantics' in een middleware platform geimplementeerd wordt. Geef aan in welk(e) object(en)/module(s) dit geimplementeerd wordt.
b. Leg kort uit: "Portable Object Adapter".
c.
Welke middleware platformen (RPC, Java RMI, CORBA) bieden een Dynamic Invocation Service aan? Leg kort uit hoe een programmeur van deze service kan gebruik maken.
Naam:……………………………………………………….
Blz.2
VRAAG 3: ENTERPRISE APPLICATIES [20 MIN] a. Leg uit waarom session management vereist is voor webgebaseerde applicaties.
b. Leg de betekenis uit van de annotaties "@GeneratedValue".
"@PostActivate".
"@SOAPBinding".
Naam:……………………………………………………….
Blz.3
c.
Waarom wordt in WSDL2.0 geen operation overloading meer toegelaten?
VRAAG 4: SCHAALBAARHEID VAN VERDEELDE SYSTEMEN [10 MIN] Leg uit: “verticale schaalbaarheid” (“vertical scalability”) + geef een overzicht van de technieken om dit te realiseren.
Naam:……………………………………………………….
Blz.4
VRAAG 5: GLOBALE TOESTAND EN TIJD [20 MIN] A. KLOKSYNCHRONISATIE In een asynchroon systeem wenst proces p zijn klok te synchroniseren met proces q, dat als time server dienst doet. Hiertoe wordt het algoritme van Cristian gebruikt. a. Beschrijf dit algoritme stap voor stap. Illustreer de werking met een duidelijke figuur.
b. Leid uitdrukkingen af voor (i) de optimale aanpassing die de klok van proces p moet doorvoeren en (ii) de maximale skew na uitvoering van het algoritme. Zorg dat deze afleidingen zeer duidelijk zijn, zodat de correctheid van de uitdrukkingen ondubbelzinnig vaststaat. (i) Aanpassing
(ii) Skew
Naam:……………………………………………………….
Blz.5
B. LOGISCHE KLOKKEN Twee processen A en B beschikken elk over een vectorklok een gebeurtenis e wordt genoteerd als
en
. De klokwaarde voor
(voor een tijdstempel op proces A) en als
(voor een tijdsstempel op proces B). Welke van onderstaande uitspraken is waar, en argumenteer.
Waar of niet waar ?
Argumentatie
Er bestaat minstens 1 component van de vectorklokken die gelijk is, m.a.w. waarbij (en analoog voor
staat voor de component i van het tijdsstempel
)
Waar of niet waar ?
Argumentatie
Naam:……………………………………………………….
Blz.6
VRAAG 6: COORDINATIE [25 MIN] a. Leg het begrip “synchronisatievertraging” (“synchronisation delay”) uit, als metriek ter evaluatie van protocollen die verdeelde mutuele exclusie realiseren.
b. Hoe verhoudt synchronisatie-vertraging zich tot de metriek “systeemdoorvoer” (“system throughput”) ? Leg uit waarom men de metriek “synchronisatievertraging” verkiest.
Naam:……………………………………………………….
Blz.7
VRAAG 7: PEER-TO-PEER SYSTEMEN [20 MIN] DHT : CHORD In een Chord knoop wordt volgende toestand opgeslagen: - successor - predecessor - finger table - successor list Geef voor elk van die attributen de betekenis en de functie (m.a.w. voor welke protocolfunctie van Chord is die toestand belangrijk). Successor betekenis
functie
Predecessor betekenis
functie
Finger table betekenis
functie
Successor list betekenis
functie
Naam:……………………………………………………….
Blz.8
VRAAG 8: CLUSTER- EN GRIDSYSTEMEN [20 MIN] a. Bespreek kort de betekenis en functie van het begrip “Communicator” in MPI.
b. Het MapReduce raamwerk (dat o.a. door Google gebruikt wordt om parallel zoekopdrachten af te handelen) handelt een opdracht in volgende fasen af: Hierbij stelt N het aantal actieve processen voor. 1. opsplitsen van de invoer (split) 2. mappen van de invoer 3. sorteren van map-uitvoer 4. reduce-stap Hierbij zijn de stappen 1, 2 en 4 perfect parallel schaalbaar, terwijl 3 een zuiver sequentiële stap is. Om een toepassing die van dit raamwerk gebruik maakt te benchmarken, registreert men de tijden voor elk van die stappen, waarbij slechts 1 proces actief is (N=1). Men vindt volgende waarden Stap
Tijd
Split
10 s
Map
1000 s
Sort
2s
Reduce
200 s
Bereken de maximale versnelling die men kan halen door het inschakelen van meerdere processen waarbij elk proces op een afzonderlijke processorkern loopt (uiteraard identiek qua prestaties als de processor die voor het benchmarken gebruikt werd).
Naam:……………………………………………………….
Blz.9
VRAAG 9: AUTONOME SYSTEMEN [20 MIN] a. Leg kort uit waarom de FOCALE controlelus meer aangewezen is dan de MAPE en OODA controlelussen.
b. Leg het verschil uit tussen reactieve, deliberatieve en reflectieve lussen.
c.
Leg kort uit waarom ontologieen nuttig zijn voor het ontwerp van autonome systemen.
Naam:……………………………………………………….
Blz.10
VRAAG 10: CLOUD COMPUTING [20 MIN] a. Wat wordt er juist bedoeld met 'Multi-tenant applications'?
b. Leg kort uit waarom clouds een groot voordeel bieden voor het hosten van multi-tenant applications.
Naam:……………………………………………………….
Blz.11
c.
Leg uit wat er bedoeld wordt met 'Per-Instance billing' in de context van clouds. Is dit in lijn met het'pay what you use'-principe?
d. Leg kort uit wat het verschil is tussen 'virtual image' en 'virtual applicance' in de context van IaaS (Infrastructure as a Service) clouds.
Naam:……………………………………………………….
Blz.12
O NTWERP VAN G EDISTRIBUEERDE S OFTWARE ACADEMIEJAAR 2011 - 2012 1STE EXAMENPERIODE, 23 JANUARI 2012, 8U30 – 12U00 OPEN BOEK GEDEELTE Naam : ……………………………………………………………………………………….. Richting : …………………………………………………………………………………….. Opmerkingen vooraf : - werk verzorgd en duidelijk, zodat er geen dubbelzinnigheden in je antwoord sluipen - vermeld je naam onderaan elk volgend blad - zorg dat gevraagde argumentaties voldoende duidelijk en uitgebreid zijn om je antwoord te staven. - voor dit examengedeelte is het raadplegen van de syllabus toegelaten (syllabus = syllabus zoals verdeeld door VTK, eventueel aangevuld met eigen notities, geen slides toegestaan!)
VRAAG O1: COORDINATIE [15 MIN] Gegeven het Chang-Roberts verkiezingsalgoritme. Hierbij werd ondersteld dat elk proces over een uniek ID beschikt. Ga na of deze onderstelling een vereiste is, en motiveer duidelijk.
Naam:……………………………………………………….
Blz.13
VRAAG O2: CLUSTER- EN GRIDSYSTEMEN [15 MIN] Bereken speedup en parallelle efficiëntie voor een parallelle versie van een algortime dat volgende matrix berekent:
Hier stellen R en Ai telkens NxN reële matrices voor, terwijl b een Nx1 reële kolommatrix voorstelt. De waarde van N is groot. Om R te bepalen wordt volgende strategie gebruikt: een coördinerend proces stuurt telkens een matrix Ai door naar een vrij proces. Dit proces geeft het resultaat Ai.b terug aan het coordinerend proces. Dit gaat door tot alle matrices Ai verwerkt zijn, waarna het coördinerend proces de matrix R berekent. Je mag veronderstellen dat de kolommatrix b vooraf doorgestuurd werd naar alle processen. Noem hierbij: •
Tcomm : de tijd nodig om 1 reëel getal te versturen tussen 2 processen. Je mag
•
Tproc : de tijd nodig voor 1 rekenkundige bewerking α=Tcomm/Tproc
•
onderstellen dat de communicatietijd lineair schaalt met het aantal uit te wisselen getallen.
Wat is je conclusie i.v.m. de parallelle schaalbaarheid van dit algoritme m.b.t. N ?
Afleiding speedup
Naam:……………………………………………………….
Blz.14
Afleiding parallelle Efficiëntie
Conclusie i.v.m. parallelle schaalbaarheid m.b.t. N
Naam:……………………………………………………….
Blz.15