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
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0107 Tentamen 6 hp Betygsskala: TH | 6 hp |
| |||||
0207 Laboration 1,5 hp Betygsskala: UG | 1,5 hp |
I program
- MPCSN - DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 1 (obligatorisk)
- MPDSC - DATA SCIENCE OCH AI, MASTERPROGRAM, Årskurs 1 (valbar)
- MPDSC - DATA SCIENCE OCH AI, MASTERPROGRAM, Årskurs 2 (valbar)
- MPHPC - HÖGPRESTERANDE DATORSYSTEM, MASTERPROGRAM, Årskurs 1 (valbar)
- MPHPC - HÖGPRESTERANDE DATORSYSTEM, MASTERPROGRAM, Årskurs 2 (valbar)
- MPSOF - SOFTWARE ENGINEERING AND TECHNOLOGY - UTVECKLING OCH IMPLEMENTERING AV MJUKVARA, MASTERPROGRAM, Årskurs 2 (valbar)
- TIDAL - DATATEKNIK, HÖGSKOLEINGENJÖR - Allmän, Årskurs 3 (obligatoriskt valbar)
- TKITE - INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
Examinator
- Romaric Duvignau
- Docent, Dator- och nätverkssystem, Data- och informationsteknik
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 6Sö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.
- 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.
- 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", PearsonExamination 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.