Algorytmy równoległe

RSS

Cel przedmiotu

Celem tego przedmiotu jest uzyskanie przez studentów zrozumienia istoty tworzenia algorytmów równoległych i wyposażenie ich w umiejętność zastosowania zaawansowanych metod zrównoleglania dla konstruowania zaawansowanych algorytmów równoległych. Studenci poznają też metody oceny jakości algorytmów i pro- gramów równoległych.

Program wykładu

Zasady konstruowania algorytmów równoległych, modele. Skalowalność, dekompozycja domenowa i funkcjonalna, narzut wprowadzany przez komunikacje, odwzorowanie na sprzęt. Modele jakości działania, analiza jakości działania programów równoległych, pojęcie funkcji izoefektywności, stosowane narzędzia programistyczne. Model programu równoległego a języki programowania. Przegląd środowisk programowania równoległego. Strategie równoważenia obciążenia. Algorytmy typu "parameter study". Równoległe automaty komórkowe. Równoległe sortowanie. Metoda Monte Carlo. Algorytmy grafowe, analiza złożonych sieci. Równoległe algorytmy FFT. Poszukiwanie i optymalizacja. Wybrane algorytmy numerycznej algebry liniowej. Równoległe algorytmy rozwiązywania równań różniczkowych. Wprowadzenie do równoległych algorytmów symulacji dyskretnych zdarzeń. Obliczenia typu "out-of-core". Wybrane algorytmy dla obliczeń petaskalowych, „fault tolerance” w obliczeniach dużej skali. Wyzwania i ograniczenia programowania równoległego.

Charakterystyka pozostałych zajęć

Przedmiot obejmuje też zajęcia laboratoryjne. Treści tych zajęć ugruntowują i rozszerzają wiedzę przekazywaną podczas wykładów. Studenci poznają metody tworzenia algorytmów równoległych oraz ich analizy i oceny jakości działania. Celem tych zajęć laboratoryjnych jest także uzyskanie doświadczenia w tworzeniu złożonych programów równoległych, poznanie dostępnych pakietów programów równoległych, praktyczne zapoznanie się z metodami redukcji złożoności obliczeniowej algorytmów równoległych. Zajęcia te obejmują także studiowanie kilku wybranych artykułów, a na zakończenie zajęć studenci prezentują wyniki swoich mini projektów badawczych. Studenci uczestniczą w wybranych sesjach CGW.

Bibliografia

1. Ian Foster: Designing and Building Parallel Programs. Addison-Wesley, 1994
2. High Performance Cluster Computing: Programming and Applications, Vol. 2 R. Buyya (ed.), Prentice Hall PTR, 1999
3. M.A. Heroux, P. Raghavan, H.D. Simon. Parallel Processing for Scientific Computing, SIAM, 2006
4. D.A. Bader (ed). Petascale Computing: Algorithms and Applications, Chapman and Hall /CRC, 2008
5. Wybrane artykuły naukowe m.in. z Parallel Computing oraz materiały seminariów w Dagstuhl

Wszelkie prawa zastrzeżone © 2010 Katedra Informatyki   |   Akademia Górniczno-Hutnicza   |   Realizacja Creative Bastards