Kursplan för Distribuerade system

Kursplan fastställd 2024-01-26 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnDistributed systems
  • KurskodTDA596
  • 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 12122
  • Blockschema
  • Sökbar för utbytesstudenterJa

Poängfördelning

0107 Tentamen 6 hp
Betygsskala: TH
6 hp
  • 14 Jan 2025 fm J
  • 15 Apr 2025 em J
  • 20 Aug 2025 em J
0207 Laboration 1,5 hp
Betygsskala: UG
1,5 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

Studenten ska ha kunskaper från en grundläggande kurs i datorkommunikation eller datornätverk som behandlat TCP/IP-protokollstacken och ha programmeringserfarenhet. Dessutom krävs en kurs i operativsystem eller motsvarande.

Syfte

Varför blir datorsystem allt mer distribuerade? Hur kan vi bygga pålitliga och feltoleranta distribuerade system? Hur har Internet kunnat skala till flera miljarder användare? Hur är moderna distribuerade system som t.ex. molntjänster, smarta elnät och kommunicerande bilar uppbyggda? Detta är några frågor som kursen behandlar. Målet med kursen är att få en förståelse för design av distribuerade system och de underliggande principer och mekanismer som dagens distribuerade system använder sig av. Föreläsningarna ger nödvändig fundamental kunskap och laborationerna ger praktisk erfarenhet av utveckling av distribuerade system och erfarenhet med att arbeta med verklighetsanknutna problem.

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

1. Kunskap och förståelse:
  • Visa och tillämpa kunskap om grundläggande begrepp inom distribuerade system och förstå utmaningar och problem såsom synkronisering, konsistens, replikering, och feltolerans.
  • Beskriva tillämpningar av distribuerade system och de mekanismer dessa använder för att tillhandahålla sina tjänster.
  • Diskutera och analysera utmaningar och krav som olika angreppsätt medför.
  • Jämföra och sammanfatta styrkor och svagheter associerade med de enskilda mekansimerna.
2. Färdigheter och förmågor:
  • Utveckla och utvärdera småskaliga distribuerade system med hjälp av de grundläggande mekanismer som introducerats i kursen.
  • Visa förmåga att självständigt skaffa nödvändig kunskap och effektivt samarbeta med kollegor för att designa och utveckla småskaliga distribuerade system.
  • Demonstrera mjukvaruutveckling i utmanande miljöer inklusive opålitliga länkar och system samt begränsad bandbredd.
  • Presentera laborationsresultat i muntlig och skriftlig form.
3. Omdöme och förhållningssätt:
  • Beskriva och analysera befintliga och nya metoder för design av distribuerade system, särskilt med avseende på systemens skalbarhet och felhantering.
  • Diskutera och bedöma de sociala och etiska aspekterna av distribuerade system och deras tillämpningar.

Innehåll

Kursen börjar med en introduktion av grundläggande begrepp inom distribuerade system och de utmaningar de medför. Därefter repeteras viss väsentlig kunskap om kommunikation och operativsystem. Vi fortsätter sedan med kursens huvudinnehåll och fokuserar på:
  • Namngivning
  • Ömsesidig uteslutning (mutual exclusion) och val (election)
  • Klockor och tid
  • Konsistens och replikering
  • Feltolerans i distribuerade system
  • Utvalda representativa tillämpningar i distribuerade system

Föreläsningarna ger studenterna nödvändig teoretisk kunskap och laborationerna praktisk erfarenhet av att utveckla distribuerade system med verklighetsanknutna utmaningar, Den här kursen erbjuder lärandeupplevelser som involverar praktisk experimentverksamhet och analys då de förstärker elevernas förståelse för begrepp och deras tillämpning på verkliga problem. Målet är att efter kursen ska studenten förstå grundläggande frågor i designen av metoder för distribuerade system.

Organisation

Schemalagda föreläsningar och parallellt med föreläsningarna utförs hemuppgifter och handledda labbuppgifter.

Litteratur

Andrew S. Tanenbaum, Marten van Steen, "Distributed Systems - Principles and Paradigms", Pearson

Examination inklusive obligatoriska moment

För att bli godkänd på kursen krävs att den obligatoriska laborationsdelen är godkänd och ett erforderligt totalt antal poäng ska uppnås (genom att addera poäng från laborationsarbetet och en skriftlig tentamen). Baserat på slutliga antalet erhållna poäng 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.