Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

Like dokumenter
Løsningsforslag til Eksamensoppgave i TDT4190 Distribuerte systemer

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

Løsningsforslag for Eksamen i TDT4190 Distribuerte systemer. Onsdag 23. mai

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

Eksamensoppgave i TDT4186 Operativsystemer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 Distribuerte systemer 19. august 2006,

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i MA1201 Lineær algebra og geometri

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TMA4140 Diskret matematikk

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

Fakultet for informasjonsteknologi,

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i MA1202/MA6202 Lineær algebra med anvendelser

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Eksamensoppgave i TMA4140 Diskret matematikk

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Faglig kontakt under eksamen: Orestis Gkorgkas

Eksamensoppgave i TMA4320 Introduksjon til vitenskapelige beregninger

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Fakultet for informasjonsteknologi,

Skisse til løsning av eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TMA4115 Matematikk 3

Eksamensoppgave i MA2501 Numeriske metoder

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4190 Distribuerte systemer Onsdag 4. august 2004,

Fakultet for informasjonsteknologi, Løsning på SIF8042 Distribuerte systemer Tirsdag 27. mai 2003,

Eksamensoppgave i TMA4140 Diskret matematikk

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

ALGORITMER OG DATASTRUKTURER

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun)

Eksamensoppgave i PED3544 Matematikkproblemer

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 / SIF8042 Distribuerte systemer August 2005,

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TMA4320 Introduksjon til vitenskapelige beregninger

Eksamensoppgave i TMA4150 Algebra

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TKT4124 Mekanikk 3

Eksamensoppgave i TTK4175 Instrumenteringssystemer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Eksamensoppgave i MA1101/MA6101 Grunnkurs i analyse I. LØSNINGSFORSLAG

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i MA0002 Brukerkurs i matematikk B - LØSNING

Eksamensoppgave i PSY3100 Forskningsmetode - Kvantitativ

Løsningsforslag for TDT4186 Operativsystemer

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Løsningsforslag. Emnekode: Emne: Matematikk for IT ITF Eksamenstid: Dato: kl til kl desember Hjelpemidler: Faglærer:

Eksamensoppgave i PED3582 Mediedanning og mediepedagogikk

Eksamensoppgave i SØK2103 Økonomiske perspektiver på politiske beslutninger

Eksamensoppgave i TMA4240 Statistikk

Eksamensoppgave i MA1101 Grunnkurs i analyse

Eksamensoppgave i SOS1000 Innføring i sosiologi

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

ALGORITMER OG DATASTRUKTURER

Eksamensoppgave i LGU53004 Naturfag , Emne 1 Biologi

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl

Eksamensoppgave i MA0002 Brukerkurs i matematikk B - LØSNING

Eksamensoppgave i TMA4245 Statistikk

Fakultet for informasjonsteknologi, Løsning på eksamen i TDT4190 Distribuerte systemer Torsdag 9. juni 2005,

Eksamensoppgave i TMA4110/TMA4115 Calculus 3

Algoritmer og Datastrukturer

Eksamensoppgave i TMA4250 Romlig Statistikk

Eksamensoppgave i MA1103 Flerdimensjonal analyse

Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

ALGORITMER OG DATASTRUKTURER

Eksamensoppgave i ST0103 Brukerkurs i statistikk

HØGSKOLEN I SØR-TRØNDELAG

Tittel Objektorientert systemutvikling 2

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i PSY2018/PSYPRO Kvalitative forskningsmetoder

Eksamensoppgave i MA1102/6102 Grunnkurs i analyse II

Eksamensoppgave i TMA4240 Statistikk

Oppgave 1 Datamodellering 22 %

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i SOS1016 Sosiologi og samfunn

Eksamensoppgave i SOS1000 Innføring i sosiologi

Eksamensoppgave i IFUD1025 Programmering i Java

Eksamensoppgave i TMA4255 Anvendt statistikk

Eksamensoppgave i TDT4100 Objektorientert programmering med Java

EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Arvid Staupe

Eksamensoppgave i PSY2016/PSYPRO4316 Personlighetspsykologi II

Eksamensoppgave i ST1201/ST6201 Statistiske metoder

Eksamen i fag TDT4140 Systemutvikling. 6. juni, 2006 kl

Eksamensoppgave i TMA4245 Statistikk

Eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl

Eksamensoppgave i ST1201/ST6201 Statistiske metoder

Eksamensoppgave i SØK Økonometri I

ALGORITMER OG DATASTRUKTURER

Transkript:

Institutt for datateknikk og informasjonsvitenskap Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer Faglig kontakt under eksamen: Jon Olav Hauglid Tlf.: 93 80 58 51 Eksamensdato: Onsdag 20. mai 2015 Eksamenstid (fra-til): 9.00 13.00 Hjelpemiddelkode/Tillatte hjelpemidler: D. Ingen trykte eller håndskrevne hjelpemidler tillatt. Bestemt, enkel kalkulator tillatt. Annen informasjon: Oppgavesettet inneholder 8 oppgaver. Det er angitt i prosent hvor mye hver (del-)oppgave teller ved sensur. Gjør rimelige antagelser der du mener oppgaveteksten er ufullstendig og skriv kort hva du antar. Lykke til! Målform/språk: Bokmål Antall sider (uten forside): 2 Antall sider vedlegg: 0 Kontrollert av: Dato Sign Merk! Studenter finner sensur i Studentweb. Har du spørsmål om din sensur må du kontakte instituttet ditt. Eksamenskontoret vil ikke kunne svare på slike spørsmål.

Oppgave 1 Karakterisering av distribuerte systemer og Google Case Study (10 %) a) Hvorfor er transparens en ønsket egenskap ved distribuerte systemer? Transparens gjør at detaljer om hvordan det distribuerte systemet fungerer er skjult for brukeren og applikasjonsprogrammereren. Dette gjør f.eks. at man ikke trenger å tenke på hvor ressurser er lokalisert, om replikering blir brukt, om nettverksfeil har oppstått osv. Samtidig gjør det systemet mer fleksibelt da man f.eks. kan endre replikeringsoppsettet uten at applikasjonene må skrives om. b) Google File System (GFS) har ikke replikerings-transparens. Hvorfor ble det laget slik? I GFS er klienten ansvarlig for å sende all oppdatert data til alle replikater. Dermed er ikke replikeringen transparent. Dette gjøres for å unngå at noden med primærereplikatet blir en flaskehals. Dette er greit inne i Google der de har kontroll på alle applikasjoner som bruker GFS og dermed kan endre disse enkelt. Oppgave 2 Likemannsnettverk («Peer-to-peer networks») (15 %) a) Anta at en node i et likemannsnettverk har et objekt du vil ha tak i. Forklar hvorfor du ikke er garantert å finne objektet i et ustrukturert likemannsnettverk. Forklar deretter hvorfor du er garantert å finne objektet i et strukturert likemannsnettverk. Anta at nettverket er stabilt i perioden søket utføres. I et ustrukturert likemannsnettverk har man ingen ide om hvor objekter ligger. Dermed må man lete overalt via broadcasting. For at letingen en gang skal ta slutt, bruker man Time-To- Live for å indikere hvor mange hopp en melding skal ta før den ikke blir sendt videre. Hvis objektet ligger på en node som ikke kan nås innen TTL, blir det ikke funnet. I et strukturert likemannsnettverk er plasseringen av et objekt gitt av dets GUID. Dermed kan man hele tiden rute søkemeldingen i rett retning. Hvis noden som skulle ha objektet ikke har det, vet man at det ikke finnes. b) En prefiks-rutingtabell i Pastry har 16 kolonner 0-F. Hva bestemmer hvor mange rader tabellen har? En rad per hex-siffer i GUID.

Oppgave 3 Sikkerhet (15 %) Alice og Bob ønsker å bruke en symmetrisk algoritme til å kryptere en stor menge data de skal utveksle. a) Beskriv minst én sikker måte de kan utveksle den felles, hemmelige nøkkelen på (via nettverk). De kan bruke asynkron kryptering der Alice har fått tak i Bob sin offentlige nøkkel via en sikker nøkkeldistribusjonstjeneste. Alice krypterer da den hemmelige nøkkelen hun har laget med Bob sin offentlige nøkkel. Denne meldingen kan bare dekrypteres med Bob sin private nøkkel (som bare Bob har). En annen mulighet er å bruke Needham Schroeder. b) Hvorfor kan det være fornuftig å bruke en symmetrisk og ikke en asymmetrisk algoritme når Alice og Bob skal utveksle store mengder data? Fordi symmetriske algoritmer gjerne er 100-1000 ganger raskere. Oppgave 4 Distribuerte filsystemer, distribuerte objekter og fjernkall (10 %) Det distribuerte filsystemet NFS bruker Sun RPC til kommunikasjon mellom klient og tjener. Hvilken kallsemantikk brukes da, og hvordan påvirkes fjerngrensesnittet («remote interface») til NFS av det? Sun RPC bruker kallsemantikken minst-én-gang, dvs. når en klient kaller en funksjon/prosedyre én gang så vil tjeneren utføre den minst én gang. Det er mulig at tjeneren utfører operasjonen flere ganger. For tjenester som bruker Sun RPC, som f.eks. NFS, betyr det at fjerngrensesnittet må ha idempotente operasjoner, slik at resultatet er det samme om operasjonen blir utført én eller flere ganger. Oppgave 5 Tid og global tilstand (10 %) Et distribuert system har to prosesser p1 og p2. Anta at et cut er slik at den nyeste hendelsen fra p1 som er med, har vektorklokkeverdien (3,4) og den nyeste hendelsen fra p2 har vektorklokkeverdien (1,2). Er dette cut et konsistent eller inkonsistent? Eller er det umulig å si? Begrunn svaret. (3,4) betyr at p1 har blitt påvirket av 4 hendelser hos p2 men (1,2) betyr at bare 2 hendelser har skjedd hos p2. Det betyr at p1 må ha mottatt en melding fra p2 som p2 ennå ikke har sendt. Dermed er cut et inkonsistent.

Oppgave 6 Koordinering og enighet (10 %) Anta at avstemnings-algoritmen («Maekawa s voting algorithm») skal brukes for distribuert gjensidig utelukkelse («mutual exclusion») i et system med 5 noder. Lag avstemningssett som gjør at resultatet blir riktig og som samtidig er effektive og rettferdige. Alle noder har hvert sitt avstemningssett. Riktig alle må overlappe. Effektiv så små som mulig og noden er selv med i sitt eget sett. Rettferdig alle noder med i like mange sett. En mulig løsning blir da: Sett for n1: (n1, n2, n3) Sett for n2: (n2, n3, n4) Sett for n3: (n3, n4, n5) Sett for n4: (n4, n5, n1) Sett for n5: (n5, n1, n2) Oppgave 7 Distribuerte transaksjoner (15 %) a) Er det nok at en 2PC-koordinator spør litt over halvparten av deltakerne om det skal gjøres commit eller abort? Begrunn svaret. For at resultatet skal blir konsistent må alle enten utføre transaksjonen eller ingen må utføre den. Dermed er en abort nok til at alle må ta abort og man er nødt til å spørre alle deltakere. b) Et distribuert system bruker kant-jakt («edge chasing») til å detektere vranglås. Node X har objekt A som er låst av transaksjon U. Node X mottar en forespørsel fra transaksjon W om å låse objekt A. Hva gjør node X da? Node X må kontakte noden som er transaksjonskoordinatoren til transaksjon U slik at den kan finne ut om U venter på en lås. Hvis U venter på en lås, vil meldingen bli sendt videre til den noden som har objektet som U venter på. Denne noden vil sende meldingen til noden som er transaksjonskoordinator for transaksjonen som har lås på dette objektet. Osv.

Oppgave 8 NoSQL (15 %) Anta at det skal lages en database om hvilke studenter som tar hvilke fag. En mulig løsning er en relasjonsdatabase med en mange-til-mange relasjon mellom en Student-tabell og en Fag-tabell (venstre figur). En annen mulig løsning er en NoSQL-database der Fag er aggregert inn i Student (høyre figur). Student Studentnr Student Studentnr Fagnr Fag Fagnr Fag a) Hvilken løsning er mest effektiv for å finne hvilke fag en student tar? Begrunn svaret. Med NoSQL-løsningen blir det slik at når man har funnet posten med info om studenten, er alle fag listet opp der. For relasjonsdatabasen blir mange-til-mange typisk implementert med en egen tabell. Dermed må man utføre 1-2 kostbare join for å finne hvilke fag en student har tatt. NoSQL-løsningen blir derfor mer effektiv. b) Hvilken løsning er mest effektiv hvis man skal bytte navn på et fag? Begrunn svaret. Med relasjonsdatabaseløsningen trenger man bare å oppdatere en rad i Fag. Med NoSQLløsningen må man lete gjennom alle studenter og oppdatere alle studenter som tar faget. Relasjonsdatabase blir dermed mer effektiv i dette tilfellet.