en_GB
Hold Ctrl-tasten nede. Trykk på + for å forstørre eller - for å forminske.

DAT520_1

Distribuerte systemer

Dette er studietilbudet for studieår 2019-2020. Endringer kan komme.


Emnet gir innsikt i både teoretiske og praktiske aspekter ved distribuerte datasystemer. Emnet har spesielt fokus på teknikker for å bygge feiltolerante systemer.

Læringsutbytte

Kunnskap
  • Være kjent med viktige prinsipper for design og implementasjon av distribuerte datasystemer. - Være kjent med de viktigste systemarkitekturene for distribuerte datasystemer. - Være kjent med viktige teknikker for å løse ulike problemstillinger i distribuerte datasystemer.

Ferdighet
  • Være i stand til å utvikle distribuerte applikasjoner med feiltoleranse egenskaper. - Være i stand til å gjennomføre uavhengig forskning innen distribuerte systemer. - Kunne resonnere rundt problemstillinger som involverer distribuerte komponenter.

Generell kompetanse
  • Vite hvordan man utvikler distribuerte datasystemer.

Innhold

Emnet gir innsikt i viktige teoretiske prinsipper ved distribuerte datasystemer, blant annet: system-modeller for interaksjon og feil, interprosess kommunikasjon, synkronisering, tid og globale tilstander, protokoller for koordinering og konsensus (Paxos), distribuerte transaksjoner, feiltoleranse, konsistens, og replikering. Emnet tar også for seg konkrete system og arkitekturer for distribuerte systemer: map-reduce, distributerte hash tabeller, peer-to-peer system, gossip-baserte system, og distribuerte filsystemer.
Emnet omfatter også et større programmeringsprosjekt som går ut på å implementere den velkjente Paxos konsensusalgortimen, samt å implementere en feiltolerant tjeneste ved å bruke Paxos.
Programmeringsprosjektet som inngår i dette emnet skal utvikles i programmingsspråket Go.

Forkunnskapskrav

Ingen.

Anbefalte forkunnskaper

Operativsystemer, datanettverk, avansert programmering

Eksamen/vurdering

Skriftlig prøve og øving
Vekting Varighet Karakter Hjelpemiddel
Skriftlig6/104 timerA - FIngen hjelpemidler tillatt
Programmeringsprosjekt4/10 A - F
Prosjektoppgave bestående av fire programmeringsoppgaver. Prosjektoppgaven utføres i gruppe. Karakteren for prosjektoppgaven settes baseres på innlevert programkode og individuell muntlig gjennomgang (labeksamen) av innlevert programkode. Det gis kun en samlet karakter for disse fire oppgavene, men gruppemedlemene kan få ulik karakter basert på den muntlige gjennomgangen.

Vilkår for å gå opp til eksamen/vurdering

Obligatoriske øvinger
To obligatoriske individuelle laboppgaver (programmeringsoppgaver). Godkjent/ikke godkjent. Alle programmeringsoppgavene må godkjennes innen angitte tidsfrister for å gå opp til skriftlig- og lab-eksamen. Godkjenning skjer ved innlevering via Autograder systemet for automatisk evaluering, samt etterfølgende godkjenning på lab.
Gjennomføring av obligatorisk lab skal gjøres til de tider og i de grupper som er oppsatt. Fravær på grunn av sykdom eller av andre årsaker skal snarest mulig kommuniseres til laboratorie- eller fagansvarlig. Det kan ikke påregnes å få gjennomføre lab utenom oppsatt tid hvis dette ikke er kommunisert og ny avtale gjort.
Konsekvens av at du ikke har fått godkjent laboratoriearbeid er at du ikke får gå opp til eksamen i faget.

Fagperson(er)

Timelærer
Leander Nikolaus Jehl
Emneansvarlig
Hein Meling
Instituttleder
Tom Ryen

Arbeidsformer

4 timer forelesninger og 4 timer laboratorieøvinger eller annet obligatorisk arbeid. Obligatoriske arbeidskrav (som innlevering, laboratorieoppgaver, prosjektoppgaver og lignende) skal godkjennes underveis innen angitte tidsfrister.

Overlapping

Emne Reduksjon (SP)
Distribuerte systemer (MID110_1) 10

Åpent for

Masternivå på Det teknisk-naturvitenskapelige fakultetet.

Emneevaluering

Skjer vanligvis gjennom skjema og/eller samtaler i henhold til gjeldende retningslinjer.

Litteratur

Lærebok: Introduction to Reliable and Secure Distributed Programming, Christian Cachin, Rachid Guerraoui og Luis Rodrigues (2nd ed). I tillegg kommer utvalgte artikler som oppgis på Canvas ved semesterstart.


Dette er studietilbudet for studieår 2019-2020. Endringer kan komme.

Sist oppdatert: 22.11.2019

Historikk