Ik vond het schandalig da we geen AM hadden om ons voor te bereiden op dit nog schandaliger examen. Daarom ga ik nu proberen het examen te reconstrueren voor het nageslacht.
Als iedereen wilt helpen met de gaten in mijn geheugen aan te vullen zou ik u allemaal dankbaar zijn. Dan zal ik da uiteindelijk alst af is op het AM vh vtk posten.
Deel 1: Gesloten boek (30min)Leg de volgende 10 begrippen uit in 5 regels (per begrip):
- "Grid computing"
- "Failure Model"
- "Dependency Injection"
- "Logische klok"
- "Poisson proces"
- "UDDI"
- "URL rewriting"
- "activation service"
- "klokresolutie"
- "unmarshalling"
Deel 2: Open boek, zelfde als informatici (1u45min)Vraag 1 (60 minuten)Ge wilt een stadsgids ontwerpen waar de mensen automatisch de informatie krijgen van gebouwen/evenementen die zich vlak bij hun positie bevinden. De positie kan via GPS of zo bepaald worden.
Per geregistreerde gebruiker hou je een lijst van trefwoorden bij van zaken die hij leuk vindt.
Verder heb je een aantal gebouwen van de stad, daar heb je foto, naam, locatie en een aantal trefwoorden van.
Tenslotte heb je ook een reeks evenementen die plaatsvinden, daar heb je periode, locatie, naam en opnieuw een aantal trefwoorden van.
a) Stel de databank personen op. Duidt duidelijk de sleutel(s) aan. Verder stel je alle databanken op die hier rechtstreeks aan gelinkt zijn.
b) Stel je bazen zijn vuile idioten en ze besluiten dat ze hier EJB's voor willen gebruiken. De kiekens. Swat, daar heb je nu eenmaal niks op te zeggen. Beschrijf alle beans die je zou maken.
c) Wat zijn de mogelijke implementatievormen (oid) rekening houdend met je beslissingen uit b)
d) Wat in geval van overbelasting? (dus hoe kan het ding gedistribueerd worden)
Vraag 2 Het is de bedoeling dat een bepaald proces op 2 servers zal draaien. Er zal dan loadbalancing gebeuren tussen deze servers (eventueel kan een derde server overwogen worden om de loadbalancing te redirecten). Verder moeten bij het opstarten van het systeem niet alle processen opgestart worden. Ze moeten opgestart worden op het moment dat ze nodig zijn
Hier is mijn opgave niet volledig.a) Er wordt getwijfeld tussen RMI en CORBA (helaas het staat vast dat je Java moet gebruiken). Bespreek voor beide 1) of ze aan de voorwaarden kunnen voldoen 2) Welke veranderingen er nodig zouden zijn in de code (in woorden beschrijven).
b) Welke zou je kiezen, RMI of CORBA (+ korte verklaring).
Deel 3: Open boek, alleen voor ons (1u45min)Vraag 1 Gegeven de situatie die je in de bijgeleverde foto ziet.
http://studwww.ugent.be/~jdhollan/ODS_AM_2007.pnga) Stel voor elk event (A tot W) zowel de logische klok als de vector klok op.
b) Bepaal voor 3 koppels van events ( P&C, Q&N, L&S ) de volgorde: ofwel P->C, ofwel C->P, ofwel C||P ofwel "?" (namelijk niet te bepalen).
Vraag 2 Er moet toegang tot een kritieke sectie bewaakt worden. Het systeem met een centrale server ziet er zeer aanlokkelijk uit wegens de eenvoud. Om het probleem van de schaalbaarheid een beetje tegemoet te komen wordt het systeem op 2 servers gemplementeerd. Iedere proces kan dus de toegang aan gelijk welk vd twee servers vragen. Natuurlijk mag er nog altijd maar 1 proces tegelijk in de kritieke sectie.
a) Teken drie zinvolle scenario's uit
(Wa is de naam van het diagram nu weer?). Geef ze ook een zinvolle, duidelijke naam.
b) Welke boodschappen zijn er nodig. Probeer zoveel mogelijk dezelfde boodschappen als in de oorspronkelijke situatie (uit de cursus) te gebruiken. Vul eventueel aan met andere boodschappen. Geef duidelijk de zender/ontvanger van de boodschappen aan.
c) Leg voor elk vd boodschappen uit
b uit wat er moet gebeuren als ze aankomen.
d) De tijd om 1 boodschap in 1 richting over het netwerk te sturen is delta. Hoelang duurt het voor een proces zijn aanvraag toegekend wordt als de kritieke sectie vrij is.
Vraag 3 Je hebt een server waar
m threads ve programma op draaien.
m is at-runtime in te stellen (met een maximum van
mMAX). Je mag dit geheel voorstellen als een M|M|m proces.
Er wordt gegeven dat
1/mu = 1/mu
0*( 1 + (m-1)
alpha/beta )
is.
a) Beschrijf gedetailleerd wat je zou doen om mu
0, alpha, beta en lambda te bepalen. Je hebt de broncode van het proces niet ter uwer beschikking.
b) Stel dat mu
0, alpha, beta en lambda gekend zijn. Bepaal nu de optimale waarde van
m (ifv die gegeven parameters).
c) Beschrijf, ifv mu
0, alpha, beta, lambda en m
MAX wanneer je zou besluiten dat 1 computer niet voldoende is en dat je een tweede server nodig hebt.
Voila, zoals je ziet zijn er wel een paar gaten. Alle opmerkingen, verbeteringen,... zijn welkom. Ik zal dan mijn post editen om jullie verbeteringen er in te steken zodat we uiteindelijk een perfecte kopie vh examen hebben.
EDIT1: Link naar tekening toegevoegd n opmerkingen van Ben (tnx)
EDIT2: Laatste woordje van vraag 1 (tnx Quick)