Sök i kursutbudet

Använda sökfunktionen för att hitta i Chalmers utbildningsutbud, både vad gäller kurser och program. När det finns en kurshemsida visas en hus-symbol som leder till denna sida.
Sök program och utbildningsplaner


Institutionernas kurser för doktorander

Kursplan för

Läsår
TDA384 - Principer för parallell programmering  
 
Kursplanen fastställd 2017-02-20 av programansvarig (eller motsvarande)
Ägare: TKDAT
7,5 Högskolepoäng
Betygskala: TH - Fem, Fyra, Tre, Underkänd
Utbildningsnivå: Grundnivå
Huvudområde: Datateknik, Informationsteknik
Institution: 37 - DATA- OCH INFORMATIONSTEKNIK


Kurstillfälle 1


Undervisningsspråk: Engelska
Sökbar för utbytesstudenter
Blockschema: A+

Kursmoment   Poängfördelning   Tentamensdatum
Lp1 Lp2 Lp3 Lp4 Sommarkurs Ej Lp
0117 Laboration 3,0hp Betygskala: UG   3,0hp    
0217 Tentamen 4,5hp Betygskala: TH   4,5hp   17 Mar 2018 em SB-MU,  19 Dec 2017 em M   22 Aug 2018 em J

I program

TKDAT DATATEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
TKDAT DATATEKNIK, CIVILINGENJÖR, Årskurs 2 (obligatoriskt valbar)
TKITE INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
TIDAL DATATEKNIK, HÖGSKOLEINGENJÖR, Årskurs 3 (valbar)
MPCSN DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 1 (valbar)
MPSOF SOFTWARE ENGINEERING AND TECHNOLOGY - UTVECKLING OCH IMPLEMENTERING AV MJUKVARA, MASTERPROGRAM, Årskurs 1 (obligatoriskt valbar)
MPSOF SOFTWARE ENGINEERING AND TECHNOLOGY - UTVECKLING OCH IMPLEMENTERING AV MJUKVARA, MASTERPROGRAM, Årskurs 2 (valbar)

Examinator:

Docent  Carlo Furia A


Kurstillfälle 2


Undervisningsspråk: Engelska
Sökbar för utbytesstudenter
Blockschema: C

Kursmoment   Poängfördelning   Tentamensdatum
Lp1 Lp2 Lp3 Lp4 Sommarkurs Ej Lp
0117 Laboration 3,0hp Betygskala: UG   3,0hp    
0217 Tentamen 4,5hp Betygskala: TH   4,5hp   28 Okt 2017 fm SB,  19 Dec 2017 em M,  22 Aug 2018 em J

I program

TKDAT DATATEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
TKITE INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
TKTEM TEKNISK MATEMATIK, CIVILINGENJÖR, Årskurs 3 (obligatoriskt valbar)
TIDAL DATATEKNIK, HÖGSKOLEINGENJÖR, Årskurs 3 (obligatoriskt valbar)
MPCSN DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 2 (valbar)
MPSOF SOFTWARE ENGINEERING AND TECHNOLOGY - UTVECKLING OCH IMPLEMENTERING AV MJUKVARA, MASTERPROGRAM, Årskurs 2 (valbar)
MPSOF SOFTWARE ENGINEERING AND TECHNOLOGY - UTVECKLING OCH IMPLEMENTERING AV MJUKVARA, MASTERPROGRAM, Årskurs 1 (valbar)

Examinator:

Docent  K V S Prasad


Ersätter

TDA381   Parallell programmering TDA382   Parallell programmering TDA383   Parallell programmering


  Gå till kurshemsida

 

Behörighet:

För kurser på grundnivå inom Chalmers utbildningsprogram gäller samma behörighetskrav som till de(t) program där kursen ingår i programplanen.

Kursspecifika förkunskaper

Grundläggande programmeringskunskaper, inklusive kunskaper i objektorienterade språk (t.ex. Java) och grundläggande kunskaper inom logik. Kunskaper inom funktionella språk (t.ex. Haskell) är ett plus.

Syfte

Parallellprogrammering har blivit allmänt förekommande i olika typer av system, exempelvis för att påskynda beräkningar där fysisk parallellism kan utnyttjas, för att tillhandahålla interaktiva fleranvändarmiljöer, och för att hantera interaktion med asynkrona externa händelser. Kursen syftar till att ge en introduktion till de principer som ligger till grund för parallella system, samt praktiska programmeringslösningar för modellering där man utnyttjar samtidighet i program. Områden där dessa principer och praxis är relevanta inkluderar operativsystem, distribuerade system, realtidssystem och flerkärniga arkitekturer.

Lärandemål (efter fullgjord kurs ska studenten kunna)

Kunskap och förståelse:
  • demonstrera kunskaper om de frågor och problem som uppstår när man konstruerar korrekta parallela program;
  • identifiera synkroniseringsproblem typiska för parallella program, såsom kapplöpningsvillkor och ömsesidig uteslutning.

Färdigheter och förmåga:
  • tillämpa vanliga mönster, såsom låsning, semaforer och meddelandestyrd synkronisering för att lösa parallella programmeringsproblem;
  • kunna använda tekniker, speciellt avsedda för parallellprogrammering, i moderna parallell-programmeringsspråk;
  • implementera lösningar med vanliga mönster i moderna programmeringsspråk.

Värderingsförmåga och förhållningssätt:
  • värdera styrkorna och möjliga svagheter inom det parallella programmeringsparadigmet;
  • bedöma om ett program, ett bibliotek, eller en datastruktur är säker för användning i ett parallellprogrammeringsproblem;
  • välja korrekta språkkonstruktioner för att implementera synkronisering och lösa kommunikationsproblem mellan olika beräkningsenheter.

Innehåll

  • Fysisk kontra logisk parallellism
  • Problem som kan uppkomma vid samtidighet: kapplöpningsvillkor, uteslutning, dödläge, rättvisa, livelock
  • Ömsesidig uteslutning
  • Synkronisering med delat minne: med semaforer eller finkornig låsning
  • Meddelandestyrd synkronisering: med meddelandeköer

Organisation

Kursen organiseras i form av föreläsningar och laborationer.

Litteratur

Aktuell information om litteratur ges innan kursstart på kursens hemsida. Vid senaste genomförandet av kursen användes "Principles of Concurrent and Distributed Programming (Second edition)", Mordechai Ben-Ari, Addison-Wesley, 2006. ISBN 0-321-31283-X.

Examination

Kursen examineras genom en individuell skriftlig salstentamen (4.5 hec) och laborationer (3.0 hec) som normalt genomförs i par. Det slutliga kursbetyget avgörs av resultatet på både laboratoriedelen och
tentamen.


Publicerad: to 02 sep 2010. Ändrad: må 28 nov 2016