Enkeltfag 5 ECTS

Parallelprogrammering

Overordnede kursusmål

At give deltagerne et begrebsmæssigt og praktisk grundlag for konstruktion af systemer med flere selvstændige, parallelle aktiviteter.

See course description in English

Læringsmål

  • 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 tasks, 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. Asynkron og task-baseret programmering.

Anbefalede forudsætninger

02100/02101/02102/01017/01019/02105/02132/02135/02141, Beherskelse af sekventiel, objektorienteret programmering, fx. i Java.
Kendskab til datalogisk modellering samt anvendelse af prædikatlogik. Brug af basale datastrukturer. Basalt kendskab til opbygning af computersystemer.

Undervisningsform

Forelæsninger, grupperegning og programmeringsøvelser.

Fakultet

Bemærkninger

Kurset er et specialiseringskursus i gruppen af teknologiske linjefag for bachelorretningen Softwareteknologi.

Se kurset i kursusbasen

Tilmelding

Sprog
Varighed

13 uger

Institut

Compute

Sted

DTU Lyngby Campus

Kursus ID 02158
Kursustype Bachelor
Semesterstart Uge 35
Semester slut Uge 48
Dage tors 13-17
Pris

7.500,00 kr.

Tilmelding