Module also offered within study programmes:
General information:
Annual:
2017/2018
Code:
MIS-2-105-IO-n
Name:
Systemy równoległe i rozproszone
Faculty of:
Metals Engineering and Industrial Computer Science
Study level:
Second-cycle studies
Specialty:
Computational Engineering
Field of study:
Applied Computer Science
Semester:
1
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Part-time studies
Course homepage:
 
Responsible teacher:
prof. nadzw. dr hab. inż. Banaś Krzysztof (banas@metal.agh.edu.pl)
Academic teachers:
prof. nadzw. dr hab. inż. Banaś Krzysztof (banas@metal.agh.edu.pl)
Module summary

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Student rozumie potrzebę ciągłego dokształcania się oraz ma świadomość odpowiedzialności za pracę własną oraz w zespole IS2A_K03, IS2A_K01, IS2A_K02 Involvement in teamwork
Skills
M_U001 Student potrafi modyfikować, uruchamiać i śledzić wykonanie programów wykorzystujących podstawowe, aktualne narzędzia do tworzenia systemów równoległych i rozproszonych IS2A_U14, IS2A_U11, IS2A_U06 Execution of laboratory classes
M_U002 Student umie tworzyć proste systemy równoległe i rozproszone w wybranych technikach oraz środowiskach tworzenia oprogramowania IS2A_U11, IS2A_U06 Execution of a project
Knowledge
M_W001 Student zna podstawowe oraz wybrane zaawansowane idee i pojęcia związane z systemami równoległymi i rozproszonymi, w tym rozproszonymi systemami operacyjnymi IS2A_W06, IS2A_W05, IS2A_U10 Examination
M_W002 Student zna podstawowe oraz wybrane zaawansowane narzędzia tworzenia systemów równoległych i rozproszonych IS2A_W05 Examination
M_W003 Student zna zasady i metody przeprowadzania podstawowej analizy poprawności i wydajności systemów równoległych i rozproszonych IS2A_W06 Examination
M_W004 Student rozumie podstawowe problemy projektowe w systemach równoległych i rozproszonych oraz zna wybrane sposoby ich rozwiązywania IS2A_W06, IS2A_W17 Examination
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Student rozumie potrzebę ciągłego dokształcania się oraz ma świadomość odpowiedzialności za pracę własną oraz w zespole - - - + - - - - - - -
Skills
M_U001 Student potrafi modyfikować, uruchamiać i śledzić wykonanie programów wykorzystujących podstawowe, aktualne narzędzia do tworzenia systemów równoległych i rozproszonych - - + - - - - - - - -
M_U002 Student umie tworzyć proste systemy równoległe i rozproszone w wybranych technikach oraz środowiskach tworzenia oprogramowania - - - + - - - - - - -
Knowledge
M_W001 Student zna podstawowe oraz wybrane zaawansowane idee i pojęcia związane z systemami równoległymi i rozproszonymi, w tym rozproszonymi systemami operacyjnymi + - - - - - - - - - -
M_W002 Student zna podstawowe oraz wybrane zaawansowane narzędzia tworzenia systemów równoległych i rozproszonych + - - - - - - - - - -
M_W003 Student zna zasady i metody przeprowadzania podstawowej analizy poprawności i wydajności systemów równoległych i rozproszonych + - - - - - - - - - -
M_W004 Student rozumie podstawowe problemy projektowe w systemach równoległych i rozproszonych oraz zna wybrane sposoby ich rozwiązywania + - - - - - - - - - -
Module content
Lectures:

1. Systemy równoległe i rozproszone – wprowadzenie
2. Systemy równoległe z pamięcią rozproszoną – zaawansowane zagadnienia środowisk przesyłania komunikatów
3. Systemy równoległe z pamięcią wspólną – zaawansowane zagadnienia środowisk programowania wielowątkowego
4. Algorytmy równoległe i miary efektywności zrównoleglenia
5. Systemy rozproszone – podstawowe problemy projektowe
6. Czas i synchronizacja w systemach rozproszonych
7. Problemy niezawodnego rozgłaszania i uzgadniania w systemach rozproszonych
8. Przykłady systemów rozproszonych

Laboratory classes:

1. Tworzenie programów MPI z przesyłaniem danych złożonych typów i dynamicznym zarządzaniem procesami
2. Analiza wydajności obliczeń równoległych
3. Tworzenie programów równoległych dla CPU i GPU w środowiskach OpenMP i OpenCL

Project classes:

Realizacja projektu polegającego na stworzeniu prostego systemu równoległego lub rozproszonego

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 132 h
Module ECTS credits 5 ECTS
Participation in lectures 18 h
Participation in laboratory classes 18 h
Completion of a project 20 h
Preparation of a report, presentation, written work, etc. 20 h
Realization of independently performed tasks 40 h
Examination or Final test 2 h
Contact hours 14 h
Additional information
Method of calculating the final grade:

Średnia ważona ocen z egzaminu i laboratorium – po uzyskaniu co najmniej 3.0 z każdej z nich. Aktywny udział w wykładach jest brany pod uwagę przy obliczaniu oceny końcowej.

Prerequisites and additional requirements:

Zgodnie z Regulaminem Studiów AGH podstawowym terminem uzyskania zaliczenia jest ostatni dzień zajęć w danym semestrze. Termin zaliczenia poprawkowego (tryb i warunki ustala prowadzący moduł na zajęciach początkowych) nie może być późniejszy niż ostatni termin egzaminu w sesji poprawkowej (dla przedmiotów kończących się egzaminem) lub ostatni dzień trwania semestru (dla przedmiotów niekończących się egzaminem).

Recommended literature and teaching resources:

Andrzej Karbowski, Ewa Niewiadomska-Szynkiewicz [red.], „Obliczenia Równoległe i Rozproszone”, Politechnika Warszawska 2001

M. Herlihy, N. Shavit „The Art of Multiprocessor Programming” Elsevier, 2008 (wydanie polskie „Sztuka programowania wieloprocesorowego”, PWN 2010)

Michael J. Quinn, “Parallel Programming in C with MPI and OpenMP”, McGraw–Hill 2004

William Gropp, Ewing Lusk, Anthony Skjellum, “Using MPI: Portable Parallel Programming with the Message–Passing Interface”, MIT Press 1999

Ian Foster, “Designing and Building Parallel Programs”, Addison–Wesley 1995
[ http://www–unix.mcs.anl.gov/dbpp/ ]

Marc Snir, Steve Otto, Steven Huss–Lederman, David Walker, Jack Dongarra, MPI:” The Complete Reference”, MIT Press 1998

Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar, “Introduction to Parallel Computing”, Addison–Wesley / Pearson Education 2003

G. Coulouris et al., “Distributed Systems. Concepts and Design” (4th ed.), Addison Wesley, 2005 (wydanie polskie “Systemy rozproszone. Podstawy i projektowanie”, WNT 1998)

A. S. Tanenbaum, “Distributed Systems. Principles and Paradigms” (2nd ed.), Prentice Hall 2002

Scientific publications of module course instructors related to the topic of the module:

Numerical integration on GPUs for higher order finite elements / Krzysztof BANAŚ, Przemysław PŁASZEWSKI, Paweł Macioł // Computers and Mathematics with Applications ; ISSN 0898-1221. — 2014 vol. 67 iss. 6, s. 1319–1344.

Vectorized OpenCL implementation of numerical integration for higher order finite elements / Filip Krużel, Krzysztof BANAŚ // Computers and Mathematics with Applications ; ISSN 0898-1221. — 2013 vol. 66 iss. 10 spec. iss., s. 2030–2044.

Modular FEM framework “ModFEM” for generic scientific parallel simulations / Kazimierz MICHALIK, Krzysztof BANAŚ, Przemysław PŁASZEWSKI, Paweł CYBUŁKA // Computer Science ; ISSN 1508-2806. — 2013 vol. 14 no. 3, s. 513–528.

Additional information:

None