ID1217 Programmering av parallella system 7,5 hp

Concurrent Programming

Kursen behandlar principer för och konstruktion av program bestående av flera parallella processer och trådar med tillämpning på realtidssystem, operativsystem, parallelldatorer och distribuerade system.

  • Utbildningsnivå

    Grundnivå
  • Huvudområde

    Informationsteknik
    Teknik
  • Betygsskala

    A, B, C, D, E, FX, F

Kurstillfällen/kursomgångar

Lärandemål

Efter genomgången kurs skall studenterna ha en god förståelse för parallellprogrammeringens problem och hur de kan lösas samt viss färdighet i parallellprogrammering.

Kursens huvudsakliga innehåll

Parallellprogrammering med trådar och gemensamma variabler. Processer och synkronisering.
Kritiska sektioner, lås, barriärer, semaforer och monitorer. Språköversikt: trådar i Java, Pthreads.
Introduktion till parallell och distribuerad programmering med processer.
Meddelandesändning, RPC, RMI och rendezvous.
Översikt över parallella och distribuerade
programmeringsmiljöer t ex MPI, PVM och OpenMP. Prestanda.

Behörighet

Grundläggande behörighet samt Matematik D, Fysik B och Kemi A

Rekommenderade förkunskaper

Programmeringsvana i högnivåspråk t ex C eller/och C++ eller/och Java.
Kunskaper i datorteknik (IS1200 Datorteknik gk el. motsvarande) Kännedom om objektorienterad programmering.

Litteratur

Foundations of Multithreaded, Parallel, and Distributed Programming, Gregory R. Andrews, Addison-Wesley, 2000; ISBN 0-201-35752-6.
Kursböcken kan i framtiden komma att ersättas av annan litteratur.
Eget material.

Examination

  • LABA - Laboration, 3,0, betygsskala: P, F
  • TEN1 - Tentamen, 4,5, betygsskala: A, B, C, D, E, FX, F

Krav för slutbetyg

Godkänd skriftlig tentamen (TEN1; 4,5 hp) och godkända programmeringsuppgifter (LABA;3,0hp).

Ges av

EECS/Datavetenskap

Kontaktperson

Vlassov, Vladimir

Examinator

Vladimir Vlassov <vladv@kth.se>

Påbyggnad

Någon (eller någon kombination) av följande kurser: ID2201, ID2203 Distribuerade System
IS2204 Distribuerad programmering, peer-to-peer och GRIDS
2G1511 Datorarkitektur
2G1114 Parallella datorsystem

Versionsinformation

Kursplan gäller från och med VT2019.
Examinationsinformation gäller från och med VT2019.