Parallelle computersystemer
Overordnede kursusmål
Alle moderne computersystemer er parallelle systemer, uanset om det er indlejrede, server- eller distribuerede cloudsystemer. I dette kursus vil du studere hvordan disse systemer er designede, og hvordan man effektivt programmerer dem.
Kurset antager viden omkring, blandt andet, programmering med tråde, processer og med systemsprog, især C. Baseret på dette, vil du udforske hvordan man kan bruge og implementere moderne parallelle programmeringsframeworks.
Du vil også studere systemarkitekturen af en bred vifte af parallelle systemer. Kurset vil give den nødvendige indsigt for at kunne evaluere og designe parallelle systemer, også på lavt abstraktionsniveau.
Moderne cloud- og maskinlæringssystemer er parallelle computere. Dette kursus vil dække et sådanne system og give den nødvendige indsigt for at benytte, men også designe cloud- og maskinlæringssystemer.
See course description in English
Læringsmål
- forklare og udlede analytiske modeller for ydeevne.
- evaluere ydeevnen af parallelle computer systemer og applikationer.
- forklare fundamentale designkriterier for parallelle computersystemer.
- forklare hvilke dele af systemer som er kritiske for ydeevne.
- forklare fundamentale parallelle programmeringsparadigmer.
- optimere en parallel applikation til specifik platform og programmeringsparadigme.
- designe simple parallelle computersystemer.
- implementere parallelle programmeringsframeworks.
Kursusindhold
Computersystemer: Fundamentale parallelle computerarkitekturer;
multi-core systemer; skalerbare arkitekturer; heterogene
computerarkitekturer; cache- og hukommelseshierakieffekter;
cache coherence; hukommelsesmodeller; cloudsystemer;
maskinlæringshardware; ydeevne analyse.
Parallelle systemer: struktureret parallel programmering;
parallelle mønstre; implementation af synkroniseringsprimitiver;
implementering af parallelle programmeringsframeworks
Modellering: Ydeevnemodeller; ydeevneværktøjer.
Mulige starttidspunkter
- 36 – 49 (ons 8-12)
Anbefalede forudsætninger
02132/02158/02159, Det bliver antaget at den studerende har taget computerorganisations- og operativsystems kurser. Derudover, antages det at studerende er i stand til at skrive programmer i C. Endelig antages det at studerende er i stand til at bruge tråde og forstå hvordan tråde tilknyttes til processer.
Undervisningsform
Gruppeaktiviteter, øvelser og programmeringsøvelser




