Paralelní a distribuované systémy

Garant: doc. RNDr. Jiří Barnat, Ph.D.

Obor je zaměřen na získání teoretických znalostí a praktických dovedností potřebných pro analýzu, návrh a implementaci paralelních aplikací. Studenti oboru se naučí vytvářet aplikace, které pro řešení jedné úlohy efektivně využijí výpočetní sílu vícejádrových procesorů osazených v jedné pracovní stanici, ale i agregovanou výpočetní sílu mnoha (vícejádrových a víceprocesorových) počítačů spojených datovou sítí. Obor seznamuje studenty též s technologií paralelních hardwarových akcelerátorů, jakými jsou například soudobé grafické karty.

Součástí oboru je rovněž studium odpovídajících teoretických poznatků. Studenti oboru se seznámí s principy návrhu a implementace paralelních aplikací, s teorií paralelních algoritmů a s problematikou modelování souběžných systémů a jejich analýzy a verifikace. V rámci projetkové přípravy se studenti seznámí s možností využití paralelních technik při realizaci rozsáhlých výpočtů, zejména vědeckých a technických.

Absolventi oboru najdou uplatnění v praxi nebo mohou pokračovat ve studiu v navazujících magisterských oborech.

Požadavky

  • Splnit požadavky společného základu.
  • Absolvovat všechny povinné předměty oboru nejvyšší formou ukončení.

Povinné a povinně volitelné předměty

  • IB108 Algoritmy a datové struktury II (3+2 kr.)
  • IB109 Návrh a implementace paralelních systémů (2+2 kr.)
  • PB071 Úvod do jazyka C (4+2 kr.)
  • IV010 Komunikace a paralelismus (2+2 kr.)
  • IV100 Paralelní a distribuované výpočty (2+2 kr.)
  • IV113 Úvod do validace a verifikace (2+2 kr.)
  • PV197 GPU Programming (2+2 kr.)

Doporučení

Z volby PB161/PB162 se doporučuje PB161, případně PB161 i PB162. Pro teoretičtěji zaměřené navazující studium se z volby IB102 / IB005 + IB107 doporučuje IB005 (2. semestr) a IB107 (5. semestr).

Doporučený průchod studiem

1. semestr

  • MB101 Lineární modely (4+2 kr.)
  • IB000 Matematické základy informatiky (3+2 kr.)
  • IB001 Úvod do programování skrze C (4+2 kr.) (IB111 Úvod do programování skrze Python (4+2 kr.))
  • PB151 Výpočetní systémy (3+2 kr.)
  • VB035 English I (2 kr.)
  • Tělesná výchova (1 kr.)
  • Všeobecně vzdělávací předmět I (1 kr.)

2. semestr

  • MB102 Diferenciální a integrální počet (4+2 kr.)
  • IB002 Algoritmy a datové struktury I (4+2 kr.)
  • IB101 Úvod do logiky (4+2 kr.)
  • PB071 Úvod do jazyka C (4+2 kr.)
  • VB036 English II (2 kr.)
  • VB001 Specialist English (1 kr.)
  • Všeobecně vzdělávací předmět II (2+1 kr.)

3. semestr

  • MB103 Spojité modely a statistika (4+2 kr.)
  • IB102 Automaty, gramatiky a složitost (5+2 kr.)
  • PB161 Programování v jazyce C++ (4+2 kr.) (PB162 Programování v jazyce Java (4+2 kr.))
  • PB154 Základy databázových systémů (3+2 kr.)
  • IB015 Neimperativní programování (4+2 kr.)

4. semestr

  • MB104 Diskrétní matematika (4+2 kr.)
  • PB152 Operační systémy (2+2 kr.) (PB153 Operační systémy a jejich rozhraní (2+2 kr.))
  • IB108 Algoritmy a datové struktury II (3+2 kr.)
  • VB000 Základy odborného stylu (2+1 kr.)
  • IB109 Návrh a implementace paralelních systémů (2+2 kr.)
  • IV010 Komunikace a paralelismus (2+2 kr.)

5. semestr

  • PB007 Softwarové inženýrství I (4+2 kr.)
  • IV112 Projekt z programování paralelních aplikací (5 kr.)
  • IV113 Úvod do validace a verifikace (2+2 kr.)
  • PV197 GPU Programming (2+2 kr.)
  • IV100 Paralelní a distribuované výpočty (2+2 kr.)
  • Tělesná výchova (1 kr.)

6. semestr

  • PB156 Počítačové sítě (2+2 kr.)
  • SBAPR Bakalářská práce (10 kr.)