Fakulta informačních technologií VUT v Brně

Detail předmětu

Architektura a programování paralelních systémů

ARC Ak. rok 2013/2014 letní semestr 5 kreditů

Předmět pokrývá architekturu i programování paralelních systémů s fukčním a datovým paralelismem. Nejdříve je pojednáno o teorii paralelních systémů a paralelizaci programů. Následuje výklad programování systémů se sdílenou pamětí v prostředí OpenMP a popis nejrozšířenějších mnoho-jádrových multiprocesorů SMP i pokročilých systémů DSM NUMA.  Pokračuje výklad programování pro systémy se zasíláním zpráv ve standardizovaném rozhraní  MPI. Propojovací sítě jsou probrány samostatně a po té jejich uplatnění ve svazcích, mnoho-jádrových čipech i v nejvýkonnějších systémech. Závěrem je pojednáno o akcelerátorech SIMD a o GPGPU.

Garant předmětu

Jazyk výuky

česky

Zakončení

zápočet+zkouška (písemná)

Rozsah

39 hod. přednášky, 13 hod. projekty

Bodové hodnocení

60 zkouška, 10 půlsemestrální test, 30 projekty

Zajišťuje ústav

Přednášející

Cvičící

Získané dovednosti, znalosti a kompetence z předmětu

Přehled principů výstavby paralelních systémů a propojovacích sítí, schopnost odhadnout výkonnost paralelních aplikací. Přehled o možnostech paralelizace základních technických úloh, znalost paralelního programování v MPI a v OpenMP. Použití akcelerátorů SIMD a GPGPU.

Dovednosti, znalosti a kompetence obecné

Znalost možností a omezení paralelního zpracování, schopnost odhadnout výkonnost paralelních aplikací. Jazyková výbava pro komunikaci a synchronizaci procesů/vláken. Kompetence v technických a programových prostředcích pro náročné vědecké výpočty a simulace.

Cíle předmětu

Orientovat se v nabídce paralelních systémů, umět posoudit komunikační a výpočetní možnosti konkrétní architektury a predikovat výkonnost paralelních aplikaci. Seznámit se s nejdůležitějšími prostředky paralelního programování (MPI, OpenMP), naučit se je prakticky používat a řešit problémy paralelně.

Požadované prerekvizitní znalosti a dovednosti

Von Neumannova architektura počítače, paměťová hierarchie, paměti cache a jejich organizace, programování v JSI a v C/C++.

Literatura studijní

  • aktuální PPT prezentace přednášek 

Literatura referenční

  • Hennessy, J.L., Patterson, D.A.: Computer Architecture - A Quantitative Approach. 5. vydání, Morgan Kaufman Publishers, Inc., 2012, 912 s., ISBN: 9780123747501 
  • Pacecho, P.: Introduction to Parallel Programming. Morgan Kaufman Publishers, 2011, 392 s., ISBN: 9780123742605 

Osnova přednášek

  1. Úvod do paralelního zpracování
  2. Vzory pro paralelní programování
  3. Programování se sdílenou pamětí - úvod do OpenMP
  4. Synchronizace a povědomí o výkonnosti v OpenMP
  5. Sdílená paměť a koherence pamětí cache
  6. Komponenty symetrických multiprocesorů
  7. Architektury CC-NUMA DSM
  8. Rozhraní zasílání zpráv MPI
  9. Kolektivní komunikace
  10. Propojovací sítě: topologie a směrovací algoritmy
  11. Propojovací sítě: přepínání, řízení toku, zpracování zpráv a výkonnost
  12. Architektury se zasíláním zpráv
  13. Datově paralelní architektury a programování

Osnova numerických cvičení

Numerická cvičení u předmětu nejsou plánována.

Osnova ostatní - projekty, práce

  • Predikce výkonnosti zadané paralelní aplikace na svazku počítačů. 
  • Vývoj aplikace na SMP v OpenMP.
  • Paralelní program v MPI na svazku blades.

Průběžná kontrola studia

Tři malé projekty v rozsahu 5, 4 a 4 hodin ; půlsemestrální písemka.

Podmínky zápočtu

Pro udělení zápočtu a připuštění ke zkoušce je třeba během semestru získat 20 bodů ze 40 možných.

Zařazení předmětu ve studijních plánech

Nahoru