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



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

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

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

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi,

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

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

Fakultet for informasjonsteknologi, Løsning på eksamen i TDT4190 Distribuerte systemer Fredag 28. mai 2004,

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005,

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer 14. august 2006,

Fakultet for informasjonsteknologi,

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

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

Fakultet for informasjonsteknologi,

Gruppe 11. Frank Petter Larsen Vegard Dehlen

Løsningsforslag for TDT4186 Operativsystemer

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på TDT4155 Datamaskiner og operativsystemer

Fakultet for informasjonsteknologi,

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

Presentasjon av: Erling Ringen Elvsrud Nils Fredrik Gjerull Håkon Torjus Bommen

Transaksjoner. transaksjon. når starter/slutter 1 trans.?

DBS21 Samtidighetskontrollteknikker

Deling av data Transaksjoner

Utfordringer til mellomvare: Multimedia

Distributed object architecture

Det matematisk-naturvitenskapelige fakultet

Deling av data Transaksjoner

Parallelle og distribuerte databaser del I

CORBA Component Model (CCM)

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

RM-ODP og Multimedia middleware (M3W):

Replikering. Olav Lysne

Foreleser: Kjell Åge Bringsrud

Naming og trading INF5040. Foreleser: Olav Lysne. Ifi/UiO 1

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Scientific applications in distributed systems

Utfordringer til mellomvare: Multimedia

Characteristics of a good design

Eksamensoppgave i TDT4186 Operativsystemer

Lykke til! Eksamen i fag TDT4140 Systemutvikling NTNU Norges teknisk-naturvitenskapelige universitet

ALGORITMER OG DATASTRUKTURER

Faglig kontakt under eksamen: Orestis Gkorgkas

Overordnet beskrivelse

Grid computing for radiologi

Løsningsforslag for TDT4186 Operativsystemer

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

TTM4175 Hva er kommunikasjonsteknologi?

CORBA Objektmodell (Java RMI)

Distribuerte objekter og objekt-basert mellomvare

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

STE6221 Sanntidssystemer Løsningsforslag

Parallelle og distribuerte databaser

Introduksjon til Distribuerte System (DS)

Distribuerte objekter og objekt-basert mellomvare

Concurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17

Distribuerte objekter og objekt-basert mellomvare

Generelt om permanent lagring og filsystemer

Løsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember :00 13:00

2. HVA ER EN KOMPONENT?

DCOM. 21. oktober Mai et al. Hva er egentlig en komponent?

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum.

Hva har vi gjort? SQL og Databasedesign

Parallelle og distribuerte databaser

Oppsummering og pensumkommentarer. INF5040 høst forelesere: Frank Eliassen, Olav Lysne. Innhold og mål

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

DDBS. Distribuerte databasesystemer

UNIVERSITETET I OSLO

Repetisjonsforelesning, SQL og utover

Parallelle og distribuerte databaser Del I

Anatomien til en kompilator - I

Tid og koordinering. Foreleser: Olav Lysne

Eksamen i tdt4120 Algoritmer og datastrukturer

Bakgrunn. Tid og koordinering. Foreleser: Olav Lysne

Introduksjon til fagfeltet

Øving 5: Transaksjonshåndtering, logging og normalisering

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Message Oriented Middleware (MOM) Thomas Filip Andresen Arild Berggren Eivind Bøhn

Computer Networks A. Tanenbaum

Querying the Internet with PIER

Dokumenter som skal inngå i en melding kan opprettes og signeres uavhengig av hverandre.

Løsningsforslag for TDT4186 Operativsystemer

Hva består Internett av?

UiO - Universitetet i Oslo

Jini. Gruppe 1 Martin Skarsaune Bjørn Arne Dybvik Cuong Huu Truong. Definisjon

Web Services. Olav Lysne

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

PRODUKTBESKRIVELSE TJENESTE. NRDB Nummerportabilitet

PRODUKTBESKRIVELSE TJENESTE. NRDB Videresalg Telefoni

Presentasjon av doktorgradsprosjekt

Tråder Repetisjon. 9. og 13. mai Tråder

PRODUKTBESKRIVELSE INFRASTRUKTUR. NRDB Lokal Node (VPN)

TDT4110 IT Grunnkurs: Kommunikasjon og Nettverk. Læringsmål og pensum. Hva er et nettverk? Mål. Pensum

Jini. Overblikk. Gruppe 1: Odd-Wiking Rahlff, Arnor Solberg og Finn Haukebøe

PRODUKTBESKRIVELSE INFRASTRUKTUR. NRDB Internett

Eksamen i fag SIF8018 Systemutvikling. Fredag 25. mai 2001 kl

... Når internminnet blir for lite. Dagens plan: Løsning: Utvidbar hashing. hash(x) katalog. O modellen er ikke lenger gyldig ved

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Transkript:

Side 1 av 10 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på eksamen i TDT4190 Distribuerte systemer Torsdag 9. juni 2005, 0900 1300 Det ønskes korte og konsise svar på hver av oppgavene. Det vesentlige er å kunne dokumentere forståelse, beherske prinsipper og se sammenhenger ikke å kunne gjengi en mengde detaljer. Der det synes å mangle noen opplysninger, må det angis hvilke antagelser som synes å være naturlige. Merk at viktige begreper er angitt på både norsk og engelsk. Oppgave 1 Modeller og standarder (Models and standards) 12.5 % a) Angi kort hva vi bruker mellomvare (middleware) til En konstruerer et programvare lag (med et generelt API) mellom globale applikasjoner og lokale ressurser slik at en gitt applikasjon kan nå en vilkårlig lokal ressurs, og en gitt ressurs kan nås av en vilkårlig applikasjon hvor mellomvare laget står for ruting av forespørslene til riktig node og oversetting av forespørslene til riktig språk b) Beskriv hovedprinsippene i OMGs CORBA (Common Object Request Broker Architecture) Mellomvare arkitektur ORB type CORBA objekter Applikasjonsobjekt Felles fasiliteter Objekttjenester

Side 2 av 10 ORB komponenter Klientobjekter Objektimplementeringer IDL stubb IDL skjelett ORB kjerne ORB grensesnitt Objekttilpasning Dynamisk innvokerings grensesnitt Dynamisk skjelett grensesnitt Grensesnittlager Implementasjonslager Interoperabilitets protokoller/ broer GIOP/IIOP, GIOP/OSI GIOP, ESIOP/DCE CIOP OSI GIOP IIOP, DCE CIOP IIOP, DCE CIOP OSI GIOP Oppgave 2 Kommunikasjon og synkronisering (Communication and synchronization) 12.5 % a) Angi kort hva vi trenger henholdsvis logiske klokker (logical clocks) og vektorklokker (vector clocks) til Logiske klokker og vektorklokker brukes til å implementere et felles tidsbegrep Logisk klokker holder oversikt over hvor mange hendelser på alle nodene samlet som er kjent på en gitt node Vektorklokker holder oversikt over hvor mange hendelser i hver enkelt node som er kjent på en gitt node Vektorklokker ut over logiske klokker skiller mellom hendelser på ulike noder b) Beskriv en algoritme for distribuert primas utvelgelse (distributed process election) Av de tre nedenfor viste varianter (enkel / avansert / typisk) holder det med en helst den typiske eller den avanserte, helst ikke den enkle Sentralisert algoritme (enkel) Start Valg rutine: 1a) Send Valg melding til global koordinator Får Valg melding: 2a) Send N 1 * OK? melding 2b) Motta < N 1 * OK! melding 2c) Send Sjef melding til alle m/ Størst identifikator

Side 3 av 10 Får OK? melding: 3a) Send OK! melding til global koordinator Distribuert algoritme (avansert) Start Valg rutine: 1a) Send Valg melding til alle med høyere identifikator Får Valg melding (fra noen lavere): 2a) Send OK melding til avsender 2b) Start Valg prosess som over Får OK melding (fra noen høyere): 3a) Gi opp for andre Får ingen melding (fra noen høyere): 4a) Send Sjef melding til alle m/egen identifikator Ringalgoritme (typisk) Start Valg rutine: 1a) Send Valg melding m/ Egen identifikator Får Valg melding: 2a) Med høyere identifikator og Egen ikke inkludert / Egen inkludert: Send videre m/ Gitt identifikator 2b) Med lavere identifikator og Egen ikke inkludert: Send videre m/ Egen identifikator 2c) Med lavere identifikator og Egen inkludert: Stopp Valg melding 2d) Med samme identifikator og Egen inkludert: Send Sjef melding m/ Egen identifikator Får Sjef melding: 3a) Med høyere identifikator: Send videre m/ Gitt identifikator 3b) Med samme identifikator: Avslutt rutine Oppgave 3 Distribuerte filsystemer (Distributed file systems) 12.5 % a) Angi kort hva vi bruker henholdsvis caching (caching) og replisering (replication) til Caching og replisering innfører kopier av et dataelement nærmere bruksstedene enn det dataelementet i seg selv tilsier Caching tilbyr en forholdsvis temporær kopi Replisering tilbyr en mer permanent kopi

Side 4 av 10 Disse kopiene permanent i større grad enn temporær tilsier også økt sikkerhet i tillegg til økt nærhet

Side 5 av 10 b) Beskriv hovedprinsippene i SUNs NFS (Network File System) SUN NFS Globalt filsystem: Ikke felles Cache type: Enkelte blokker Konsistens: Sjekking Oppdat. Semantikk: Aksjon Replikat type: Begrenset Orientering: Feiltoleranse Implementasjon: Kjernenivå Oppgave 4 Distribuerte databasesystemer (Distributed database systems) 12.5 % a) Angi kort hva vi trenger 2 fase låsing (2 phase lock) til 2PL brukes til å forhindre gale resultater i.f.m. at flere applikasjoner aksesserer og/eller endrer data samtidig Inkonsistente uthentinger og tapte oppdateringer er typiske eksempler på dette b) Beskriv hvordan 3 fase bekrefting (3 phase commit) virker 3PC innfører en tredelt avslutning: 1.fase m/stemming & 3. fase m/utføring etter alle har veto prinsippet koplet til enten feil eller autonomi, med en ekstra mellomfase (i forhold til 2PC) hvor nodene blir forberedt på det endelige resultatet gitt at ingen feil oppstår 3PC sikrer autonomi og effektivitet med mye overhead for unntakstilfeller med mye feil Oppgave 5 Distribuert pålitelighet (Distributed reliability) 12.5 % a) Angi kort hvilke utfordringer replisering (replication) og / eller kommunikasjonsfeil (communication errors) gir i distribuerte databasesystemer (distributed database systems) Uten replisering Uten kommunikasjonsfeil: Ingen store utfordringer Uten replisering Med kommunikasjonsfeil: 3PC terminering av transaksjoner kan gi blokkering i forsøk på å oppnå atomiskhet

Side 6 av 10 Med replisering Uten kommunikasjonsfeil: 2PL låsing for transaksjoner må få utvidelser for å sikre kollisjon av tilhørende låser Med replisering Med kommunikasjonsfeil: MajKonsensus / VirtPartisjon algoritmer må til for å utpeke partisjon for oppdatering 2PL låsing for transaksjoner må få utvidelser for å sikre kollisjon av tilhørende låser 3PC terminering av transaksjoner kan gi blokkering i forsøk på å oppnå atomiskhet b) Beskriv en algoritme for distribuert oppdatering (distributed updating) hvor både replisering (replication) benyttes og kommunikasjonsfeil (communication errors) forekommer Av de tre nedenfor viste varianter (1 enkel / 2 avanserte) holder det med en, og til og med den enkle selv om den ikke er en komplett løsning Tilgjengelige kopier (enkel kun serialiserbarhet per node) Aksessering underveis: Les og R lås en tilgjengelig kopi! Skriv og W lås alle tilgjengelige kopier! Validering til slutt: Er alle tidligere tilgjengelige kopier fortsatt tilgjengelige? Er alle tidligere utilgjengelig kopier fortsatt utilgjengelige? Majoritets konsensus (avansert også serialiserbarhet mellom noder) Uthenting: Les og R lås en majoritet av tilgjengelig kopier Returner den kopi med høyeste versjonsnummer Oppdatering: Skriv og W lås en majoritet av tilgjengelig kopier Inkluder i kopi et høyere versjonsnummer Virtuelle partisjoner (avansert også serialiserbarhet mellom noder) Kontroller etter hver tilstandsendring: Sikre tilgang til en majoritet av lesbare kopier i løpende tilstand Sikre tilgang til en majoritet av skrivbare kopier i løpende tilstand Aksesser mellom tilstandsendringer: Les og R lås en kopi i løpende tilstand Skriv og W lås alle kopier i løpende tilstand

Side 7 av 10 Oppgave 6 Distribuerte navnetjenester (Distributed name services) 12.5 % a) Angi kort hvordan vi kan utnytte caching (caching) og replisering (replication) i slike tjenester i forhold til hvordan de må benyttes i distribuerte filsystemer (distributed file systems) generelt I navnetjenester tilbyr caching og replisering kopier av pekerinformasjon I filsystemer generelt tilbyr caching og replisering kopier av verdiinformasjon Om pekerinformasjon er gyldig eller ikke oppdages ved å forfølge pekerne Om verdiinformasjon er gyldig eller ikke avdekkes kun ved en sjekk mot originalen Navnetjenester trenger således i mye mindre grad enn filsystemer generelt kontinuerlig å kontrollere gyldigheten av sin informasjon b) Beskriv hovedprinsippene i DNS (Domain Name System) DNS Brukes i Internett med et sært navnerom Brukes spesielt for maskinnavn og postnavn Oppgave 7 Distribuert delt lager (Distributed shared memory) 12.5 % a) Angi kort forskjellene mellom gradsavballansert konsistens (degrees of consistency) og tidsavballansert konsistens (times of consistency) Gradsavballansering: Kopling av konsistens til anvendelser ved å avgjøre i hvilken grad DSM må være konsistent Prosessor konsistens: Alle prosessorer ser lokale operasjoner i samme rekkefølge Kausal konsistens: Alle prosessorer ser lokale og koplete, globale operasjoner i samme rekkefølge Sekvensiell konsistens: Alle prosessorer ser lokale og globale operasjoner i samme rekkefølge

Altså gradvis tyngre krav: PK => KK => SK Side 8 av 10

Side 9 av 10 Tidsavballansering: Kopling av konsistens til synkronisering ved avgjøre til hvilke tider DSM må være konsistent Båndleggingskonsistens: Fellesdata gjøres konsistente før kritiske regioner Frigjøringskonsistens: Fellesdata gjøres konsistente etter kritiske regioner Svak konsistens: Fellesdata gjøres konsistente både før og etter kritiske regioner Altså ikke helt gradvis tyngre krav: BK => SK & FK => SK b) Beskriv hovedprinsippene i MUNIN og MIDWAY MUNIN: Kjøretidssystem simulering av delt lager (dvs. postbasert) Variabelbasert overføring (altså ikke objektbasert) Frigjørings konsistens (som tidsavballansering) MIDWAY: Kjøretidssystem simulering av delt lager (dvs. postbasert) Variabelbasert overføring (altså ikke objektbasert) Båndleggings konsistens (som tidsavballansering) Oppgave 8 Distribuerte multimediasystemer (Distributed multimedia systems) 12.5 % a) Angi kort hvordan distribuerte multimediasystemer skiller seg fra andre distribuerte systemer (distributed systems in general) Store mengder med kontinuerlige data omfattes Korte frister eksisterer, og små variasjoner tillates, ved levering Svært korte tur retur tider kreves for interaktive MM applikasjoner Store, skiftende ressurskrav som ikke kan monopolisere parallelt kjørende applikasjoner

Side 10 av 10 b) Beskriv hvilke utfordringer det gir å designe og implementere tjenestekvalitet (quality of service) for slike distribuerte systemer Tilgangskontroll: Må kontrollere ressurskrav opp mot ressurstilbud på sanntidsvis QoS forhandlinger: Vil tilby forhandlinger i.f.m. oppstart og endring av ressursbehov Ressursforvaltning: Vil garantere tilgjengelighet av ressurser for aksepterte applikasjoner Status: Må basere seg på liten QoS funksjonalitet i dagens internett teknologi