Agenda (preliminär)

VECKA 35
INTRODUKTION TILL PARALLELL- OCH TRÅDPROGRAMMERING I JAVA
  • Introduktion till parallellprogrammering
  • Introduktion till parallellprogammering i Java med Trådar (Threads)
  • Lågnivåprogrammering av trådobjekt
Föreläsningsmaterial
Föreläsning1

Exempelprogram
Exemepl1 - Textbaserad trådtest

Övningar
Övning1 - Ett första program med trådar (deadline 10.9)

VECKA 36
INTRODUKTION TILL JAVA APPLETS OCH TILLÄMPNING AV TRÅDAR

Föreläsningsmaterial
Föreläsning2

Exempelprogram
Exemepl2 - En simpel Applet-animation

------------------------------------------------------------------------------------------------------
LÅGNIVÅ TRÅDPROGRAMMERING
  • Hantering av avbrott
Föreläsningsmaterial
Föreläsning3

Exempelprogram
Exempel3 - Att skicka och ta emot avbrott
Exempel4 - Space invaders 0.1

VECKA 37
LÅGNIVÅ TRÅDPROGRAMMERING

Övningar
Övning2 - Hantering av avbrott och trådtillstånd (deadline 28.9)

------------------------------------------------------------------------------------------------------
HÖGNIVÅ TRÅDPROGRAMMERING

  • Trådgrupper ("thread pools")
  • Exekverare (Executor och ExecutorService)
Föreläsningsmaterial
Föreläsning4

Exempelprogram
Exempel5 - Att använda trådgrupper

Övningar
Övning3 - Trådgrupper och exekverare (deadline 1.10)

VECKA 38
TRÅDSÄKERHET
  • Trådkollision ("thread interference")
  • Intrinsic locks
  • Synkronisering
  • Datastrukturer
    • Listor ("lists")
Föreläsningsmaterial
Föreläsning5

VECKA 39
INGEN FÖRELÄSNING!

VECKA 40
PROJEKT 1 BÖRJAR

VECKA 41
JOBBA MED PROJEKT 1

VECKA 42
JOBBA MED PROJEKT 1

VECKA 43
PROJEKT 1 AVSLUTAS

------------------------------------------------------------------------------------------------------
MANUELL PARALLELLISERING AV JAVA PROGRAM
  • Att designa parallella program
    • manuell vs automatisk parallellisering
    • Java och "multi-core" processorer
  • Hur skall koden parallelliseras?

Föreläsningsmaterial
Föreläsning6

Övningar

Övning5 - Parallellisering av "dekrypteringsalgoritm" (deadline 12.11)

VECKA 44
MANUELL PARALLELLISERING AV JAVA PROGRAM

Övningar
Övning6 - Parallellisering av "brute force" algoritm (deadline 19.11)

VECKA 45
TRÅDSÄKERHET OCH PARALLELLISERING AV JAVA PROGRAM
  • Memory consistency error
  • Guarded blocks
  • Lock Objects
  • Immutable Objects
  • Atomiska variabler
  • Datastrukturer med inbyggd trådsäkerhet
Föreläsningsmaterial
Föreläsning7

Exempelprogram
Exempel6 - Användning av atomiska variabler

Övningar
Övning7 - Parallelliserad "bubble sort" (deadline 26.11)

VECKA 46
AUTOMATISK PARALLELLISERING AV JAVA PROGRAM
  • Verktyg för automatisk parallellisering i Java

VECKA 47
PROJEKT 2 STARTAR

VECKA 48
JOBBA MED PROJEKT 2

VECKA 49
JOBBA MED PROJEKT 2

VECKA 50
PROJEKT 2 AVSLUTAS


Jonny Karlsson 2010