Kursplan för Parallell datorarkitektur

Kursplan fastställd 2019-02-08 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnParallel computer architecture
  • KurskodEDA284
  • Omfattning7,5 Högskolepoäng
  • ÄgareMPHPC
  • UtbildningsnivåAvancerad nivå
  • HuvudområdeDatateknik, Elektroteknik, Informationsteknik
  • InstitutionDATA- OCH INFORMATIONSTEKNIK
  • BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 86113
  • Blockschema
  • Sökbar för utbytesstudenterJa

Poängfördelning

0118 Projekt 1,5 hp
Betygsskala: TH
1,5 hp
0218 Tentamen 4,5 hp
Betygsskala: TH
4,5 hp
  • 20 Mar 2021 fm J
  • 09 Jun 2021 em J
  • 20 Aug 2021 fm J
0318 Laboration 1,5 hp
Betygsskala: UG
1,5 hp

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Behörighet

Grundläggande behörighet för avancerad nivå
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Särskild behörighet

Engelska 6
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

Kursen DAT105 Datorarkitektur eller motsvarande krävs. Kursen TDA383 Principer förparallell programmering rekommenderas.

Syfte

Under perioden 1975 till 2005 åstadkom datorindustrin en fenomenal bedrift: på trettio år placerade vi en en personlig dator på varje skrivbord och i varje ficka.  År 2005 hejdades den utvecklingen abrupt, varvid industrin satte nya mål: att placera en personlig parallell superdator på varje skrivbord, i varje hem och i varje ficka.  År 2011 var övergången komplett genom att även surfplattor och mobiltelefoner fick multicore-processorer.  Snart kommer denna process att leda till fyra- och åttakärniga processorer även i ordinära surfplattor, och de sista spelkonsolerna kommer att gå från en till flera kärnor.  För första gången i historien kommer därmed ¿vanliga¿ datorplattformar inte längre att utgöras av von-Neumann-maskiner med en processorkärna.  Effekt och temperatur är numera lika viktiga designmål som prestanda.  Högprestanda-datorer konstrueras nu för bästa prestanda per watt.  Denna kurs behandlar hur dagens multicore-system är konstruerade, med blicken på hur framtida system kan komma att byggas under det närmaste decenniet.  Vi går också igenom de historiska ursprungen till många designstrategier som har återuppstått i nutida system men i andra former och sammanhang (till exempel dataparallellism, VLIW-parallellism och parallellism på trådnivå).

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

Efter godkänd kurs ska studenten kunna:

Kunskap och förståelse
  • beskriva aktuella metoder för parallell databehandling
  • förklara designprinciperna för hårdvarustödet för att stödja programmeringsmodellerna shared memory och message passing
  • beskriva implementeringen av olika modeller av parallellitet på trådnivå, såsom multitrådade kärnor, chip-multiprocessorer, multipla kärnor eller GPGPU

Färdigheter och förmåga
  • implementera synkroniseringsmetoder för parallella datorer som använder shared memory och message passing
  • designa skalbar parallellprogramvara och analysera dess prestanda

Värderingsförmåga och förhållningssätt
  • analysera avvägningar mellan olika metoder för parallell databehandling när det gäller funktion, prestanda och kostnad

Innehåll

Under perioden 1975 till 2005 åstadkom datorindustrin en fenomenal bedrift: på trettio år placerade vi en en personlig dator på varje skrivbord och i varje ficka. År 2005 hejdades den utvecklingen abrupt, varvid industrin satte nya mål: att placera en personlig parallell superdator på varje skrivbord, i varje hem och i varje ficka. År 2011 var övergången komplett genom att även surfplattor och mobiltelefoner fick multicore-processorer.

Effekt och temperatur är numera lika viktiga designmål som prestanda. Högprestanda- datorer konstrueras nu för bästa prestanda per watt. Denna kurs behandlar hur dagens multicore-system är konstruerade, med blicken på hur framtida system kan komma att byggas under det närmaste decenniet.

Organisation

Kursens innehåll är indelat i flera delar:
  • en repetition av grundläggande koncept inom datorarkitektur
  • grundläggande multiprocessor-design för  programmeringsmodellerna message passing och shared memory
  • interconnection networks, en nödvändig komponent i chip-multiprocessorer och skalbara parallella datorsystem
  • hur man korrekt stödjer parallella algoritmer i shared memory-hårdvara
  • de senaste årens övergång till chip-multiprocessorer (även kända som "multicores")

En röd tråd som går igenom alla delar är en diskussion om kostnadsavvägningar med avseende på prestanda, kraft, energi, kontrollerbarhet, programmerbarhet och underhållbarhet. Ett andra förenande tema är minnesflaskhalsen och vikten av effektiv
resurshantering.

Föreläsningarna kompletteras med flera övningstillfällen. Genom tre laborationsuppgifter lär sig studenterna att utveckla programvara med hjälp av modeller som C++-trådar och OpenMP, att utveckla och analysera synkroniseringsalgoritmer, och hur man använder pretandaanalysverktyg. Kursen innehåller också ett skriftligt projekt där studenterna får ta rollen som en datorarkitekt som undersöker och diskuterar lösningar på ett visst problem inom området parallell
datorarkitektur.

Litteratur

Se separat litteraturlista.  

Examination inklusive obligatoriska moment

Skriftlig individuell tentamen, laborationer, samt ett flerveckors skriftligt projekt som genomförs individuellt eller i par.