Kursplan för Distribuerade system, fortsättningskurs

Kursplan fastställd 2023-02-07 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnDistributed systems, advanced course
  • KurskodTDA297
  • Omfattning7,5 Högskolepoäng
  • ÄgareMPCSN
  • UtbildningsnivåAvancerad nivå
  • HuvudområdeDatateknik, Informationsteknik
  • InstitutionDATA- OCH INFORMATIONSTEKNIK
  • BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 12115
  • Blockschema
  • Sökbar för utbytesstudenterJa

Poängfördelning

0107 Tentamen 7,5 hp
Betygsskala: TH
7,5 hp
  • 13 Mar 2024 fm J
  • 05 Jun 2024 fm J
  • 23 Aug 2024 em J
0207 Laboration 0 hp
Betygsskala: UG
0 hp

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Behörighet

Grundläggande behörighet för avancerad nivå
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Särskild behörighet

Engelska 6
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

Kursen TDA596 eller motsvarande.

Syfte

Kursen syftar till att ge studenten kunskap om skillnader och styrkor/svagheter hos distribuerade system jämfört med sekventiella eller starkt kopplade system. Målet är att ge studenten förmågan att undersöka de problem som måste hanteras och lösas för att skapa ett väl fungerande distribuerat system.

Lärandemål (efter fullgjord kurs ska studenten kunna)

Målet med kursen är att studenterna ska förstå de teoretiska principerna och praktiska aspekterna av distribuerade system. I slutet av kursen skall studenterna kunna:

  • Resonera om olika begrepp så som konsistens; hållbarhet; tillgänglighet; feltolerans och replikerbarhet.
  • Förstå och resonera kring de begränsningar som asynkroni, fel och samtidighet medför för distribuerade system.
  • Skaffa sig en god förståelse för de framsteg inom teknologi, systemarkitekturer och kommunikationsarkitekturer som drivit fram tillväxten av distribuerade datorsystem.
  • Uppnå en god förståelse för principerna och metoderna för att utforma effektiva protokoll och algoritmer för distribuerade system, samt deras interaktion med systemdesign på hög abstraktionsnivå.
  • Förstå och uppskatta de utmaningar och möjligheter som uppkommer vid utformning av distribuerade system och sensornätverk för designers.
  • Utforma, programmera och utvärdera distribuerade system representativa för tillämpningar.


Innehåll

I synnerhet kommer vi att ta upp och studera följande frågor inom distribuerade system: Reliable/atomic broadcast. Replikerbarhet: Fördelar och kostnader med att replikera data: den potentiella förbättringen av svarstider och reliabilitet och de extra kommunikationskostnader som är förknippade med att hålla data konsistent. Feltolerant avtal i distribuerade system (ett mycket speciellt och viktigt problem, eftersom det är en nyckelfråga i de flesta synkroniserings- och koordinationsproblem i distribuerade system). Undersökning av de grundläggande omöjlighetsresultaten och diskussion av konsekvenser av dessa; vidare med lösningar och protokoll för system med särskilda styrkor och designstrukturer. Resursallokering. Distribuerade algoritmer: Hur man utformar och analyserar distribuerade algoritmer. Blockchain.

Organisation

Schemalagda föreläsningar och parallellt med föreläsningarna utförs handledda programmeringsuppgifter. Laborationerna ger studenten möjlighet att undersöka fundamentala egenskaper och beteenden hos de protokoll som tas upp i kursen.

Litteratur

Se separat litteraturlista.

Examination inklusive obligatoriska moment

För att bli godkänd på kursen krävs godkänd skriftlig tentamen samt godkända laborationer. Baserat på tentamensresultatet ges betygen U, 3,4 eller 5.

Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.