Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24 FÖRSÄTTSBLAD Inlämnas ifyllt tillsammans med tentan. Skriv namn på samtliga blad. Ange nedan vilka uppgifter du besvarat. Uppgift Besvarad Max. poäng Din poäng Del A 4 B 1 4 B 2 6 B 3 6 B 4 6 B 5 6 B 6 8 SUMMA: 40 Kryssa i kurs Distribuerade System Programvaruarkitektur Kryss NAMN :....................................................... Pers.no. :..................................................... Övrig info. (t.ex. om du tentar om efter att ha gått kursen ett tidigare år eller vid ett annat program än ovanstående) :........................................
Ansvarig lärare: Mats Daniels. Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24 Skrivningstid: 09 14. Tillåtna hjälpmedel: Papper, penna, radergummi, kalkylator. Maximalt antal poäng: 40. Gränsen för godkänt kommer inte att hamna över 25. NB! The exam questions are available in both Swedish and English. You may answer in either Swedish or English. OBS! Tentafrågorna finns på både svenska och engelska. Du kan svara på antingen svenska eller engelska. 1 (4 p) a) Ge tre anledningar till varför man kan vilja föredra ett distribuerat system framför ett centraliserat system. b) Ange tre nackdelar med ett distribuerat system jämfört med ett centraliserat system. 2 (4 p) a) Beskriv en distribuerad algoritm som ger ömsesidigt uteslutande, och som fungerar även om enstaka noder går ner. b) Ange några tillämpningar där en sådan algoritm är användbar eller t.o.m. nödvändig. 3 (6 p) Request-response-protokoll används ofta för kommunikationen i ett distribuerat system. a) Vad menas med request-response-protokoll? b) I request-response-protokoll kan såväl klient som server antingen blockera medan ett anrop pågår eller inte blockera. Vilka för- och nackdelar finns med de olika alternativen (behandla klient och server separat)? c) Ett specialfall av request-response-protokoll är Remote Procedure Call (RPC). Beskriv vad som menas med Remote Procedure Call, och vilka de semantiska problemen är jämfört med lokala proceduranrop. 4 (6 p) Klocksynkronisering är viktigt i många distribuerade system. Ett fundamentalt problem är att man i ett löst kopplat system inte har en gemensam tidsreferens. a) Beskriv hur klocksynkronisering kan gå till i ett distribuerat system med extern klockreferens (masterklocka). b) Beskriv hur klocksynkronisering kan gå till i ett system utan extern klockreferens (masterklocka). Man bör undvika abrupta omställningar av systemtiden. c) Ange två typer av tillämpningar som inte tål abrupta tidsomställningar då tiden ställs om bakåt, och varför de inte tål det. d) Ange två typer av tillämpningar som inte tål abrupta tidsomställningar då tiden ställs om framåt, och varför de inte tål det. 5 (6 p) I exv. programsystemet ISIS finns två typer av atomär broadcast, ABCAST resp. CBCAST. Båda typerna försöker ordna broadcasts.
a) Varför vill man ha ordnade broadcasts? Beskriv minst två olika typer av tillämpningar där ordnade broadcasts är önskvärt eller t.o.m. nödvändigt. b) Vilka typer av garantier för ordningen får man med ABCAST respektive CB- CAST? c) Beskriv hur respektive typ av broadcast kan implementeras. 6 (6 p) Quorum-baserade protokoll används i distribuerade system för att kunna uppdatera distribuerade databaser även när inte alla noder kan nås. a) Beskriv hur Quorum-baserade protokoll fungerar. b) För bra prestanda bör det relativa förhållandet mellan läsningar och skrivningar påverka implementationen. Varför, och på vilket sätt bör implementationen påverkas? c) Quorum-system kan modifieras för att tillåta uppdatering även om inte ett tillräckligt antal noder kan nås för skrivning (Tanenbaum: voting with ghosts ). Beskriv hur detta kan gå till. 7 (8 p) Antag att du har ett distribuerat system, ursprungligen optimerat för kommunikation inom ett lokalt nät. Detta system skall nu utvidgas över flera lokala nät genom att sammankoppla dessa med ett långdistansnät (Wide Area Network, exempelvis Internet). Detta långdistansnät har liten bandbredd och lång fördröjning. Dessutom är felfrekvensen (sannolikheten för borttappade paket etc.) högre på långdistansnätet. Vilka speciella problem (d.v.s. vad kan gå fel och vad behöver ändras jämfört med det lokala fallet) medför denna nya situation för: a) kommunikation av typ RPC? b) ordning på händelser? c) uppdatering av distribuerat tillstånd ( databaser )? d) cachning och konsistens i ett distribuerat filsystem?
Tentamen, Distribuerade System DVP/MNP 2001-10-23 FÖRSÄTTSBLAD Inlämnas ifyllt tillsammans med tentan. Skriv namn på samtliga blad. Ange nedan vilka uppgifter du besvarat. Uppgift Besvarad Max. poäng Din poäng Del A 10 B 1 3 B 2 3 B 3 4 B 4 4 B 5 8 B 6 8 Del C 10 SUMMA: 50 NAMN :....................................................... Pers.no. :..................................................... Övrig info. (t.ex. om du tentar om efter att ha gått kursen ett tidigare år eller vid ett annat program än ovanstående) :........................................
Tentamen, Distribuerade System DVP/MNP 2001-10-23 Ansvarig lärare: Mats Björkman. Skrivningstid: 14 19. Tillåtna hjälpmedel: Papper, penna, radergummi, kalkylator (behövs inte). Denna tenta har tre delar. Del A består av 10 st 1-poängsuppgifter. Del B består av större uppgifter. Del C består av 5 st 2-poängsuppgifter på presentationerna. För godkänt på tentan krävs minst 25 poäng. Snälla, skriv tydligt! Jag kan inte ge poäng om jag inte kan tyda svaret... Del A Korta frågor - svara kortfattat A 1 (1 p) Förklara enkelt vad Amdahls Lag säger. Vilka implikationer har den på distribuerade system? A 2 (1 p) Varför är avsaknaden av gemensam klockreferens ett grundläggande problem i distribuerade system? A 3 (1 p) Vad menas med Ordning på händelser i distribuerade system, och varför är det viktigt att ha det? A 4 (1 p) Serialiserbarhet är ett vanligt krav på databastransaktioner. Varför? Vad innebär serialiserbarhet? A 5 (1 p) Ett alternativ till låsning i distribuerade databaser är optimistic concurrency control. Vad menas med det? A 6 (1 p) Vad menas med att en atomär broadcast är ordnad, och hur kan det åstadkomas? A 7 (1 p) I delat-minne-sammanhang, vilka för- och nackdelar har sekventiell konsistens jämfört med svag konsistens för tillämpningsprogrammeraren? A 8 (1 p) I ett system som tillåter lastbalansering/migrering måste det finnas en policy för vart objekt skall flyttas. Detta är mer angeläget i ett system med sändarinitierad flyttning än i system med mottagarinitierad flyttning. Varför? A 9 (1 p) Förklara varför man så gärna vill använda cachning för att öka prestanda i ett distribuerat filsystem. A 10 (1 p) Beskriv kortfattat de delar ett DCE-system består av.
Del B Längre frågor - svara uttömmande B 1 (3 p) a) Ange tre fördelar med distribuerade system jämfört med centraliserade system. b) Ange tre nackdelar med distribuerade system jämfört med centraliserade system. B 2 (3 p) I distribuerade system, liksom i andra system, talar vi om katastrofer, d.v.s. fel som vi väljer att inte hantera i systemet. Varför väljer vi bort att hantera vissa fel i systemet? Ange (minst) tre distinkta orsaker till detta. Ge exempel på fel inom respektive kategori. B 3 (4 p) Klocksynkronisering är viktigt i många distribuerade system. Ett fundamentalt problem är att man i ett löst kopplat system inte har en gemensam tidsreferens. a) Beskriv hur klocksynkronisering kan gå till i ett distribuerat system med extern klockreferens (masterklocka). b) Beskriv hur klocksynkronisering kan gå till i ett system utan extern klockreferens (masterklocka). Man bör undvika abrupta omställningar av systemtiden. c) Ange två typer av tillämpningar som inte tål abrupta tidsomställningar då tiden ställs om bakåt, och varför de inte tål det. d) Ange två typer av tillämpningar som inte tål abrupta tidsomställningar då tiden ställs om framåt, och varför de inte tål det. B 4 (4 p) a) Vad menas med processmigrering i ett distribuerat operativsystem? b) Hur kan processmigrering implementeras? Beskriv översiktligt och peka ut ev. svårigheter som måste lösas. c) Ett speciellt problemområde är hur andra processer skall hitta en migrerad process. Förklara varför detta kan vara en källa till problem, och ange hur problemen kan lösas. B 5 (8 p) Request-response-protokoll används ofta i distribuerade system. a) Varför? Ge argument varför request-response-protokoll är tilltalande. En tilltalande egenskap i sammanhanget är att ha tillståndslösa servers. b) Varför? Ge argument varför tillståndslösa servers är tilltalande. (Hur man än vänder sig...) Med tillståndslösa servers kan vi inte implementera s.k. Exactly-once-semantik för vårt request-response-protokoll. c) Varför? Ge argument varför exactly-once-semantik inte kan implementeras i ett system med tillståndslösa servers. Om man har tillstånd i servrarna kan man implementera (åtminstone approximera) Exactly-once. d) Hur kan exactly-once implementeras om man tillåter tillstånd i servrarna? Beroende på vad systemet skall användas till kan det vara vettigt att ge avkall på tillståndslösheten hos servrarna för att kunna implementera exactly-once-semantik. e) Ge exempel på tillämpningar där exactly-once-semantik är viktigare än tillståndslöshet hos servrarna. f) Ge exempel på motsatsen, d.v.s. på tillämpningar där tillståndslöshet hos servrarna är viktigare än exactly-once-semantik.
B 6 (8 p) När man implementerar distribuerade transaktioner kan man välja mellan att använda en enkel 2-phase-commit som kräver att alla kopior av databasen är tillgängliga, eller att använda någon form av Quorum-protokoll, då en eller flera kopior inte behöver vara tillgängliga. a) Ge två enkla algoritmer som kan användas för att implementera 2-phase-commit respektive ett Quorum-protokoll. b) Givet att man försöker få ett så effektivt system som möjligt, ange de viktigaste faktorerna som påverkar huruvida det är kostnadseffektivt eller inte att använda ett Quorum-protokoll, samt hur prestanda påverkas. c) För att ytterligare öka tillgängligheten i quorum-system kan de modifieras för att tillåta uppdatering även om inte ett tillräckligt antal noder kan nås för skrivning (Tanenbaum: voting with ghosts ). Beskriv hur detta kan gå till. d) Vilka är nackdelarna med voting with ghosts jämfört med ett vanligt quorumprotokoll? Del C Presentationsfrågor - svara kortfattat C 1 (2 p) Kerberos: Vad har Kerberos för funktion i ett distribuerat system? C 2 (2 p) JetFile: Vad har man istället för en central filserver i JetFile? C 3 (2 p) Application Servers: Vad finns det för fördelar med att ha en 3-skiktsarkitektur jämfört med en 2-skiktsarkitektur? C 4 (2 p) Peer-to-Peer: Välj Peer-to-Peer eller Client/Server. Argumentera för och emot. Nämn minst två fördelar och två nackdelar. C 5 (2 p) Enterprise Java Beans: Vad heter de tre beståndsdelarna i Enterprise Java Beans, och vad är deras roll i systemet?
Tentamen, Distribuerade System DVP/MNP 2002-01-17 FÖRSÄTTSBLAD Inlämnas ifyllt tillsammans med tentan. Skriv namn på samtliga blad. Ange nedan vilka uppgifter du besvarat. Uppgift Besvarad Max. poäng Din poäng A 1 4 A 2 4 A 3 6 A 4 6 A 5 6 A 6 6 A 7 8 Del B 10 SUMMA: 50 NAMN :....................................................... Pers.no. :..................................................... Övrig info. (t.ex. om du tentar om efter att ha gått kursen ett tidigare år eller vid ett annat program än ovanstående) :........................................
Tentamen, Distribuerade System DVP/MNP 2002-01-17 Ansvarig lärare: Mats Björkman. Skrivningstid: 8 13. OBS! Jag kommer endast att kunna komma och svara på frågor vid 8.30, läs därför direkt igenom alla uppgifter och kolla att du förstår dem! Tillåtna hjälpmedel: Papper, penna, radergummi, kalkylator (behövs inte). Denna tenta har tre delar. Del A består av blandade uppgifter. Del B består av 5 st 2-poängsuppgifter på presentationerna. För godkänt på tentan krävs minst 25 poäng. Snälla, skriv tydligt! Jag kan inte ge poäng om jag inte kan tyda svaret... Del A Blandade frågor - svara uttömmande A 1 (4 p) a) Ge tre anledningar till varför man kan vilja föredra ett distribuerat system framför ett centraliserat system. b) Ange tre nackdelar med ett distribuerat system jämfört med ett centraliserat system. A 2 (4 p) a) Beskriv en distribuerad algoritm som ger ömsesidigt uteslutande, och som fungerar även om enstaka noder går ner. b) Ange några tillämpningar där en sådan algoritm är användbar eller t.o.m. nödvändig. A 3 (6 p) Request-response-protokoll används ofta för kommunikationen i ett distribuerat system. a) Vad menas med request-response-protokoll? b) I request-response-protokoll kan såväl klient som server antingen blockera medan ett anrop pågår eller inte blockera. Vilka för- och nackdelar finns med de olika alternativen (behandla klient och server separat)? c) Ett specialfall av request-response-protokoll är Remote Procedure Call (RPC). Beskriv vad som menas med Remote Procedure Call, och vilka de semantiska problemen är jämfört med lokala proceduranrop. A 4 (6 p) Klocksynkronisering är viktigt i många distribuerade system. Ett fundamentalt problem är att man i ett löst kopplat system inte har en gemensam tidsreferens. a) Beskriv hur klocksynkronisering kan gå till i ett distribuerat system med extern klockreferens (masterklocka). b) Beskriv hur klocksynkronisering kan gå till i ett system utan extern klockreferens (masterklocka). Man bör undvika abrupta omställningar av systemtiden. c) Ange två typer av tillämpningar som inte tål abrupta tidsomställningar då tiden ställs om bakåt, och varför de inte tål det. d) Ange två typer av tillämpningar som inte tål abrupta tidsomställningar då tiden ställs om framåt, och varför de inte tål det.
A 5 (6 p) I exv. programsystemet ISIS finns två typer av atomär broadcast, ABCAST resp. CBCAST. Båda typerna försöker ordna broadcasts. a) Varför vill man ha ordnade broadcasts? Beskriv minst två olika typer av tillämpningar där ordnade broadcasts är önskvärt eller t.o.m. nödvändigt. b) Vilka typer av garantier för ordningen får man med ABCAST respektive CB- CAST? c) Beskriv hur respektive typ av broadcast kan implementeras. A 6 (6 p) Quorum-baserade protokoll används i distribuerade system för att kunna uppdatera distribuerade databaser även när inte alla noder kan nås. a) Beskriv hur Quorum-baserade protokoll fungerar. b) För bra prestanda bör det relativa förhållandet mellan läsningar och skrivningar påverka implementationen. Varför, och på vilket sätt bör implementationen påverkas? c) Quorum-system kan modifieras för att tillåta uppdatering även om inte ett tillräckligt antal noder kan nås för skrivning (Tanenbaum: voting with ghosts ). Beskriv hur detta kan gå till. A 7 (8 p) Antag att du har ett distribuerat system, ursprungligen optimerat för kommunikation inom ett lokalt nät. Detta system skall nu utvidgas över flera lokala nät genom att sammankoppla dessa med ett långdistansnät (Wide Area Network, exempelvis Internet). Detta långdistansnät har liten bandbredd och lång fördröjning. Dessutom är felfrekvensen (sannolikheten för borttappade paket etc.) högre på långdistansnätet. Vilka speciella problem (d.v.s. vad kan gå fel och vad behöver ändras jämfört med det lokala fallet) medför denna nya situation för: a) kommunikation av typ RPC? b) ordning på händelser? c) uppdatering av distribuerat tillstånd ( databaser )? d) cachning och konsistens i ett distribuerat filsystem? Del B Presentationsfrågor - svara kortfattat B 1 (2 p) Kerberos: Vad har Kerberos för funktion i ett distribuerat system? B 2 (2 p) JetFile: Vad har man istället för en central filserver i JetFile? B 3 (2 p) Application Servers: Vad finns det för fördelar med att ha en 3-skiktsarkitektur jämfört med en 2-skiktsarkitektur? B 4 (2 p) Peer-to-Peer: Välj Peer-to-Peer eller Client/Server. Argumentera för och emot. Nämn minst två fördelar och två nackdelar. B 5 (2 p) Enterprise Java Beans: Vad heter de tre beståndsdelarna i Enterprise Java Beans, och vad är deras roll i systemet?