Detail předmětu

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

ARC Ak. rok 2005/2006 letní semestr 5 kreditů

Aktuální akademický rok

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 nejrozšířenějších symetrických multiprocesorech se společnou sběrnicí (SMP) a jejich programování v prostředí OpenMP. Následuje výklad propojovacích sítí jako základ populárních svazků pracovních stanic a dalších systémů se zasíláním zpráv. Jejich programování ve standardizovaném rozhraní MPI je ilustrováno případovými studiemi paralelních aplikací. V poslední skupině jsou datově-paralelní systémy a programování.

Garant předmětu

Jazyk výuky

česky

Zakončení

zkouška

Rozsah

  • 39 hod. přednášky
  • 5 hod. cvičení
  • 8 hod. projekty

Zajišťuje ústav

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

Přehled principů výstavby paralelních systémů a propojovacích sítí, komunikačních technik a algoritmů. Přehled o možnostech a dovednost paralelizace základních technických úloh, znalost paralelního programování v MPI a v OpenMP.

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

Architektura počítače typu von Neumann, hierarchické uspořádání paměťového systému, vyrovnávací paměti a jejich organizace, programování v JSI a v C/C++

Literatura studijní

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

  • Funkční a datový paralelismus, ukazatele výkonnosti, režie, zákony omezující zrychlení.
  • Multiprocesory se sdílenou pamětí a společnou sběrnicí. Saturace sběrnice, organizace paměti.
  • Koherence vyrovnávacích pamětí, protokoly MSI a MESI. 
  • OpenMP, paralelizace smyček.
  • Synchronizace v OpenMP. zámky a bariéry.
  • Výkonnost paralelních aplikací. 
  • Propojovací a přepínací sítě. směrovací algoritmy.
  • Řízení přenosu zpráv, architektura směrovačů.
  • Zpracování zpráv, kolektivní komunikace a výkonnost komunikací.
  • Programování se zasíláním zpráv (MPI).  
  • Výpočty na svazcích počítačů s použitím párových a kolektivních komunikací.
  • Multiprocesory s DSM.  
  • Datově paralelní systémy a programování, HPF.

Osnova numerických cvičení

  • Model SMP s koherentními vyrovnávacími pamětmi, předvýběr dat, falešné sdílení, paralelizace FFT.
  • Řazení na SMP.
  • Půlsemestrální test.
  • Kolektivní komunikace. Numerické metody v MPI.
  • Paralelizace úloh zpracování obrazů.

Průběžná kontrola studia

Hodnocení studia je založeno na bodovacím systému. Pro úspěšné absolvování předmětu je nutno dosáhnout 50 bodů.

Získání 20 ze 40 možných bodů během semestru.

Kontrolovaná výuka

Čtyři malé projekty v rozsahu 2 hodin každý; půlsemestrální písemka.

Nahoru