Detail předmětu

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

ARC Ak. rok 2007/2008 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 teorii paralelních systémů a paralelizaci programů. Následuje popis nejrozšířenějších mnohojádrových a víceprocesorových symetrických multiprocesorů  (SMP) a jejich programování v prostředí OpenMP. Pokračuje výklad o propojovacích sítích jako základu 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í. Závěrem je pojednáno o pokročilých systémech DSM NUMA.

Garant předmětu

Jazyk výuky

česky

Zakončení

zápočet+zkouška

Rozsah

  • 39 hod. přednášky
  • 13 hod. pc laboratoře

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í, 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.

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í

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í.
  • Paralelizace programů, dekompozice, plánování úloh.
  • Multiprocesory se sdílenou pamětí. Saturace sběrnice, křížový přepínač, arbitry, organizace paměti.
  • Koherence vyrovnávacích pamětí, protokoly MSI a MESI. Modely paměťové konzistence.
  • OpenMP, paralelizace smyček.
  • Synchronizace v OpenMP, zámky a bariéry.
  • Paralelní programování orientované na výkonnost. 
  • 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 architekturou DSM - NUMA.  

Průběžná kontrola studia

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.

Kontrolovaná výuka

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

Nahoru