Kursplan fastställd 2021-02-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 12117
- 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 (obligatoriskt valbar)
- MPCSN - DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 2 (valbar)
- 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
- Ahmed Ali-Eldin Hassan
- 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 kunskap om grundläggande koncept inom distribuerade system och förstå utmaningar och problem såsom synkronisering, konsistens, replikering, och feltolerans.
- Kunna beskriva tillämpningar inom distribuerade system och de mekanismer dessa använder för att kunna utföra sina tjänster.
- Ha god kunskap i att kunna diskutera och analysera de problem och krav som olika designmetoder och lösningar står inför.
- God förståelse inom området för att kunna jämföra och sammanfatta styrkor och svagheter med olika lösningar.
- Kunna utveckla, programmera och utvärdera småskaliga distribuerade system med hjälp av de fundamentala mekanismer som introducerats i kursen.
- Visa förmåga i att utveckla programvara som kan fungera i miljöer med t.ex. opålitliga kommunikationslänkar och begränsad bandbredd.
- Ha god förmåga att beskriva och analysera både existerande och nya metoder för design av distribuerade system, speciellt med avseende på systemens förmåga att skala och vara feltoleranta.
- De kommunikativa färdigheter som praktiseras i den här kursen ger ökad förmåga till samverkan i grupp genom träning i muntlig och skriftlig presentation av labbresultat.
Innehåll
Kursen börjar med en introduktion av grundläggande koncept för distribuerade system och de utmaningar dessa står inför. Därefter repeteras viss väsentlig kunskap om kommunikation och operativsystem för att därefter fokusera på:- Namngivning
- Ömsesidig uteslutning (mutual exclusion) och val (election)
- Klockor och tid
- Konsistens och replikering
- Feltolerans i distribuerade system
- Utvalda representativa distribuerade applikationer
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 godkänd skriftlig tentamen samt godkända hemuppgifter och 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.