Distribuerte systemer (DAT520)

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


Dette er emnebeskrivelsen for studieåret 2024-2025. Merk at det kan komme endringer.

Fakta

Emnekode

DAT520

Versjon

1

Vekting (stp)

10

Semester undervisningsstart

Vår

Antall semestre

1

Vurderingssemester

Vår

Undervisningsspråk

Engelsk

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 systemer og arkitekturer for distribuerte systemer: map-reduce, distributerte hash tabeller, peer-to-peer system, gossip-baserte system, og distribuerte fil- og lagringssystemer.

Emnet omfatter også et større programmeringsprosjekt som er basert på konsepter og algoritmer fra undervisningen, der studentene må vise hvordan disse kan implementeres i praksis.

Programmeringsprosjektet som inngår i dette emnet skal utvikles i programmingsspråket Go.

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.

Forkunnskapskrav

Ingen

Anbefalte forkunnskaper

DAT320 Operativsystemer og systemprogrammering
Operativsystemer, datanettverk, avansert programmering

Eksamen / vurdering

Vurderingsform Vekting Varighet Karakter Hjelpemiddel
Skriftlig eksamen 1/1 4 Timer Bokstavkarakterer Ingen hjelpemidler tillatt

Digital eksamen.

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

Obligatoriske øvinger

Obligatoriske programmeringsoppgaver. Godkjent/ikke godkjent. Godkjenning skjer via eget innleveringssystem for automatisk evaluering, samt etterfølgende godkjenning på lab. Alle oppgavene må godkjennes for å gå opp til eksamen.

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)

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

Datateknologi - master i teknologi/siv.ing. Industriell økonomi - master i teknologi/siv.ing.
Utveksling ved Det teknisk- naturvitenskapelige fakultet

Emneevaluering

Det skal være en tidligdialog mellom emneansvarlig, studenttillitsvalgt og studentene. Formålet er tilbakemelding fra studentene for endringer og justering i emnet inneværende semester.I tillegg skal det gjennomføres en digital emneevaluering minimum hvert tredje år. Den har som formål å innhente studentenes erfaringer med emnet.

Litteratur

Søk etter pensumlitteratur i Leganto