Emne

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 2020-2021. Merk at det kan komme endringer.

Se emnebeskrivelse og eksamens-/vurderingsinfo for dette studieåret (2024-2025)

Semesters

Fakta

Emnekode

DAT520

Vekting (stp)

10

Semester undervisningsstart

Vår

Undervisningsspråk

Engelsk

Antall semestre

1

Vurderingssemester

Vår

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

Operativsystemer, datanettverk, avansert programmering

Eksamen / vurdering

Vurderingsform Vekting Varighet Karakter Hjelpemiddel Exam system Withdrawal deadline Exam date
Skriftlig eksamen 6/10 4 Timer Bokstavkarakterer Ingen hjelpemidler tillatt Inspera assessment
Programmeringsprosjekt 4/10 Bokstavkarakterer


Prosjektoppgave bestående av flere programmeringsoppgaver teller 40 % av totalkarakter. Prosjektoppgaven utføres i gruppe. Karakteren for prosjektoppgaven settes basert på innlevert programkode og individuell muntlig fremføring av innlevert programkode. Det gis kun en samlet karakter for disse oppgavene. Gruppemedlemmene kan få ulik karakter basert på den muntlige fremføringen.

Skriftlig eksamen teller 60 % av totalkarakter.

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

Obligatoriske øvinger

To obligatoriske individuelle programmeringsoppgaver. Godkjent/ikke godkjent. Alle programmeringsoppgavene må godkjennes innen angitte tidsfrister for å gå opp til skriftlig 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)

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 (DAT520_1) , Distribuerte systemer (MID110_1) 10

Åpent for

Enkeltemner ved Det teknisk-naturvitenskaplige fakultet
Datateknologi - master i teknologi Industriell økonomi - master i teknologi/siv.ing. Industriell økonomi - master i teknologi/siv.ing., femårig Kybernetikk og robotteknologi - Master i teknologi/siv.ing. - 5 år Robotteknologi og signalbehandling - Master i teknologi/siv.ing. Petroleumsteknologi - master i teknologi/siv.ing. Samfunnssikkerhet, studieretning teknisk samfunnssikkerhet - Master i teknologi/siv.ing. Risk Management - Master's Degree Programme (master i teknologi/siviling.)
Utveksling ved Det teknisk- naturvitenskapelige fakultet

Emneevaluering

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

Litteratur

Book

Introduction to Reliable and Secure Distributed Programming Cachin, Christian ; Guerraoui, Rachid ; Rodrigues, Luís, Berlin, Heidelberg, Springer Berlin Heidelberg, 2011, isbn:9783642152597, https://bibsys-ur.userservices.exlibrisgroup.com/view/uresolver/47BIBSYS_UBIS/openurl-UIS?ctx_enc=info:ofi/enc:UTF-8&ctx_id=10_1&ctx_tim=2020-12-10T15:44:53IST&ctx_ver=Z39.88-2004&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx&url_ver=Z39.88-2004&rfr_id=info:sid/primo.exlibrisgroup.com-scopu&req_id=&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=book&rft.atitle=Introduction%20to%20Reliable%20and%20Secure%20Distributed%20Programming&rft.jtitle=&rft.btitle=%3ch%3eIntroduction%3c/h%3e%20%3ch%3eto%20Reliable%3c/h%3e%20%3ch%3eand%20Secure%3c/h%3e%20%3ch%3eDistributed%3c/h%3e%20%3ch%3eProgramming%3c/h%3e&rft.aulast=Cachin,%20Guerraoui,%20Rodrigues&rft.auinit=&rft.auinit1=&rft.auinitm=&rft.ausuffix=&rft.au=Cachin,%20Christian&rft.aucorp=&rft.date=2011&rft.volume=&rft.issue=&rft.part=&rft.quarter=&rft.ssn=&rft.spage=&rft.epage=&rft.pages=&rft.artnum=&rft.issn=&rft.eissn=&rft.isbn=9783642152597&rft.sici=&rft.coden=&rft_id=info:doi/10.1007/978-3-642-15260-3&rft.object_id=&rft.eisbn=3642152600&rft.edition=2&rft.pub=Springer%20Berlin%20Heidelberg&rft.place=Berlin,%20Heidelberg&rft.series=&rft.stitle=&rft.bici=&rft_id=info:bibcode/&rft_id=info:hdl/&rft_id=info:lccn/&rft_id=info:oclcnum/&rft_id=info:pmid/&rft_id=info:eric/((addata/eric}}&rft_dat=%3cscopu%3e255271995%3c/scopu%3e%3curl%3e%3c/url%3e,language=eng,view=UBIS&svc_dat=viewit&user_ip=10.16.56.128&req.skin=primo&rft_pqid=&rft_galeid=&rft_cupid=&rft_eruid=&rft_nurid=&rft_ingid=View online

Other

Lecture notes Racin Nygaard et. al, Lecture notes will be available on Canvas.

Other

Lab assignments Racin Nygaard et. al, Lab assignments will be available on GitHub.

Article

Reading material Additional required reading material will be available on the courses GitHub page.

Book

The Go programming language Donovan, Alan A. A., Kernighan, Brian W., New York, NY, Addison-Wesley, XVII, 380 sider, [2016], isbn:9780134190440; 0134190440,

Emnebeskrivelsen er hentet fra Felles studentsystem Versjon 1