DM883: Distribuerede systemer
Indgangskrav
Faglige forudsætninger
Den studerende forventes at være bekendt med det grundlæggende i operativsystemer, computernetværk og concurrent programmering.
Formål
Dette kursus præsenterer og undersøger principperne og værktøjerne til design og implementering af distribuerede systemer. Dette kursus er organiseret i tre dele:
- Den første del dækker arkitektoniske aspekter af distribuerede systemer og analyserer de vigtigste paradigmer f.eks. multi-tier, peer-to-peer.
- Den anden dækker kommunikationsmodeller og middleware-løsninger.
- Den tredje del dækker de vigtigste problemer, der ofte opstår i distribueret programmering, f.eks. opnå konsensus, detektion af fejl og deadlock, ressourcefordeling og replikation. Denne del diskuterer også vigtige algoritmiske og tekniske løsninger.
I forhold til uddannelsens kompetenceprofil har kurset eksplicit fokus på at:
- Give kompetence til at reflektere over viden inden for datalogi og til at identificere videnskabelige problemer.
- Give færdigheder til at belyse hypoteser på en kvalificeret teoretisk baggrund og henvise kritisk til egne og andres forskningsresultater og videnskabelige modeller.
- Give viden om og forståelse af, hvordan videnskabelig viden opnås og modelleres gennem et samspil mellem teori og eksperiment.
Målbeskrivelse
Kursets læringsmål er, at den studerende demonstrerer uafhængighed i analyse, design og programmering af distribuerede systemer. Efter kurset forventes den studerende at kunne:
- Identificere scenarier og løsninger i distribuerede systemer.
- Beskrive distribuerede arkitekturer og algoritmer, der er omfattet af kurset.
- Forklare problemer, teknikker og løsninger til distribuerede systemer.
- Argumentere for egenskaber for konkrete distribuerede systemer.
- Beskrive og analysere distribuerede arkitekturer og algoritmer under brug af modelbaserede metoder.
- Designe og implementere ikke-trivielle distribuerede systemer.
Indhold
Kurset indeholder følgende faglige hovedområder:
- Logisk tid og global tilstand i distribuerede systemer.
- Kommunikationsparadigmer, meddelelsesbestilling og gruppekommunikation.
- Distribueret koordination og delt hukommelse.
- Konsensus og aftale i distribuerede systemer.
- Replikering, konsistens og fejltolerance.
- Decentraliserede og peer-to-peer arkitekturer
Litteratur
Eksamensbestemmelser
Eksamenselement a)
Tidsmæssig placering
Udprøvninger
Projekter og mundtlig prøve
EKA
Censur
Bedømmelse
Identifikation
Sprog
Varighed
Hjælpemidler
Oplyses på kurset.
ECTS-point
Uddybende information
I løbet af kurset tildeles et sæt opgaver såvel som et afsluttende projekt. Disse danner grundlaget for en mundtlig eksamen ved kursets afslutning. Den endelige karakter vil være baseret på et samlet indtryk af den studerendes præstationer i de to elementer, der er en del af evalueringen. Censor vil være i stand til at se besvarelsen af de tildelte opgaver.
Eksamensformen ved reeksamen kan være en anden end eksamensformen ved den ordinære eksamen.
Vejledende antal undervisningstimer
Undervisningsform
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
- Introfase: 24 timer.
- Træningsfase: 16 timer, heraf eksaminatorie: 16 timer.
Aktiviteter i studiefasen:
- Selvstudium af visse emner fra lærebogen.
- Selvstændig opsamling på intro og træningsfasen.
- Løsning af små opgaver, individuelt eller i små grupper.