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.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- 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.
Sidst opdateret
04. maj, 2026