Overordnede kursusmål
At give deltagerne et begrebsmæssigt og praktisk grundlag for
konstruktion af systemer med flere selvstændige, parallelle
aktiviteter.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- modellere og analysere parallelle aktiviterer ved brug af
matematiske modeller
- gøre rede for virkemåden af klassiske synkroniserings- og
kommunikationsmekanismer samt disses indbyrdes realationer
- anvende kendskab til en række sædvanlige kommunikations- og
koordineringsløsninger ved løsning af nye problemer
- verificere korrekthed af parallelle algoritmer ved brug af
formelt baserede verifikationsværktøjer
- identificere relevant brug af parallelle aktiviteter ved
udvikling af sædvanlige applikationer
- implementere parallelle aktiviteter effektivt ved brug af tråde
og processer
- anvende parallelitet til udnyttelse af moderne
maskinarkitekturer
- benytte fagets begreber til koncis problemanalyse og
løsningsdokumentation
Kursusindhold
Parallelprogrammering: Processer, synkronisering, kommunikation.
Procesmodeller, atomare aktioner.
Sikkerheds- og aktivitetsegenskaber. Baglås. Verifikationsteknikker
og -værktøjer.
Kritiske regioner, semaforer, monitorer, synkron og asynkron
meddelelsesoverførsel, kaldmekanismer, distribuerede objekter,
tuppelrum. Parallelle datastrukturer.
Systemdesign: Kommunikationsmønstre og algoritmer. Client/server
paradigme. Transaktioner og concurrency control.
Bemærkninger
Kurset er et specialiseringskursus i gruppen af teknologiske
linjefag for bachelorretningen Softwareteknologi.
Sidst opdateret
04. maj, 2018