02158 Parallelprogrammering

2018/2019

Kursusinformation
Concurrent Programming
Engelsk
5
Bachelor
Kurset udbydes som enkeltfag
E1B (tors 13-17)
Campus Lyngby
Forelæsninger, grupperegning og programmeringsøvelser.
13-uger
E1B, F1B
Skriftlig eksamen og bedømmelse af rapport(er)
Rapport(er) og skriftlig eksamen bedømmes som en helhed.
2 timer
Skriftlige hjælpemidler er tilladt
7-trins skala , intern bedømmelse
02333
(02101/02102).­0101702105.­(02131/02132).­02141 , Beherskelse af sekventiel Java-programmering. Kendskab til datalogisk modellering samt anvendelse af prædikatlogik. Brug af basale datastrukturer. Basalt kendskab til opbygning af computersystemer.
Hans Henrik Løvengreen , Lyngby Campus, Bygning 322, Tlf. (+45) 4525 3763 , hhlo@dtu.dk

01 Institut for Matematik og Computer Science
I studieplanlæggeren
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