Hoppa till huvudinnehållet
Till KTH:s startsida

ID1217 Programmering av parallella system 7,5 hp

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.

Information per kursomgång

Välj termin och kursomgång för att se aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.

Termin

Kursplan som PDF

Notera: all information från kursplanen visas i tillgängligt format på denna sida.

Kursplan ID1217 (VT 2024–)
Rubriker med innehåll från kursplan ID1217 (VT 2024–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehå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.

Lärandemål

Efter godkänd kurs ska studenten kunna

  1. jämföra och kontrastera programmeringsmodeller och paradigm för delat minne och distribuerat minne för att välja de mest lämpliga modellerna och paradigmen för ett givet problem
  2. motivera, illustrera och förklara behovet av synkronisering i ett samtidigt exekverande program
  3. förklara, jämföra, välja och använda de olika synkroniseringsmekanismerna i samtidigt exekverande program
  4. förklara, jämföra, välja och använda olika kommunikationsmekanismer för processinteraktion i distribuerade program
  5. implementera samtidigt exekverande och distribuerade program i C, Java eller andra programspråk med hjälp av olika programmeringsmiljöer såsom pthreads, openMP, Java-trådar och monitorer, Socket API, MPI och Java RMI
  6. utvärdera, mäta och uppskatta snabbhet, prestanda och skalbarhet samt analysera säkerhets- och livskraftsegenskaper för parallella och distribuerade program

i syfte att

  • få kunskaper i grunderna för samtidig programmering, mer specifikt om programmeringsmodeller, koncept, paradigm, tekniker, synkronisering och kommunikationsmekanismer
  • utveckla praktiska färdigheter och erfarenhet i programmeringsmiljöer för att utveckla parallella och distribuerade program.

Kurslitteratur och förberedelser

Särskild behörighet

Kunskaper om datorteknik/datorarkitektur inklusive flerkärniga arkitekturer, 6 hp, motsvarande slutförd kurs IS1200/IS1500/EP1200/HE1028.

Kunskaper och färdigheter i C-programmering, 3 hp, motsvarande slutförd kurs IS1200/IS1500 eller DD1388/SF2565/HI1024.

Kunskaper och färdigheter i objektorienterad programmering, 6 hp, motsvarande slutförd kurs ID1018/DD1337/HI1027/DD1310-DD1319/DD1321/DD1331/DD100N.

Kurslitteratur

Du hittar information om kurslitteratur antingen i kursomgångens kurs-PM eller i kursomgångens kursrum i Canvas.

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

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

Examination

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

Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Tentamen är datorbaserad och ska göras på plats på KTH.

Övriga krav för slutbetyg

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

Examinator

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Informationsteknik, Teknik

Utbildningsnivå

Grundnivå

Övrig information

I denna kurs tillämpas EECS hederskodex, se: http://www.kth.se/eecs/utbildning/hederskodex.