Nazwa przedmiotu:
Obliczenia rozproszone w klastrach i gridach
Koordynator przedmiotu:
prof. nzw. dr hab. Ewa Niewiadomska-Szynkiewicz, dr inż. Adam Kozakiewicz
Status przedmiotu:
Fakultatywny ograniczonego wyboru
Poziom kształcenia:
Studia II stopnia
Program:
Informatyka
Grupa przedmiotów:
Przedmioty kierunkowe
Kod przedmiotu:
ORKUZ
Semestr nominalny:
2 / rok ak. 2020/2021
Liczba punktów ECTS:
5
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
110 (udział w wykładach 30 godz., wykonanie projektu 30 godz., przygotowanie do realizacji projektu 24 godz., udział w konsultacjach związanych z tematyką wykładów i realizowanym projektem 4 godz., przygotowanie do egzaminu 20 godz., udział w egzaminie 2 godz.)
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
3
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
2
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt30h
  • Lekcje komputerowe0h
Wymagania wstępne:
Znajomość języków programowania (C, C++, Java) Podstawowa znajomość programowania równoległego. Podstawowa znajomość systemów operacyjnych.
Limit liczby studentów:
30
Cel przedmiotu:
Celem przedmiotu jest zapoznanie studentów z technologiami gridowymi i klastrowymi oraz sposobami realizacji obliczeń rozproszonych w tych środowiskach. Prezentowane są również przykłady zastosowań klastrów, gridów i chmur obliczeniowych.
Treści kształcenia:
Zagadnienia podstawowe cz.1: Paradygmaty programowania równoległego. Miary oceny sprawności obliczeń równoległych i rozproszonych (współczynniki wydajności oraz przyśpieszenia, prawo Amdahla, skalowalność). Zagadnienia podstawowe cz.2: Synchronizacja i wymiana informacji w systemach rozproszonych. Elementy kryptografii – infrastruktura klucza publicznego. Programowanie obliczeń równoległych i rozproszonych (wątki, PVM, MPI, RMI). Systemy klastrowe: wprowadzenie, zasady działania, współczesne klastry, podstawowe oprogramowanie. Klastrowe systemy plików. System MOSIX. Systemy wsadowe w klastrach: PBS, LSF. Klastry ad-hoc na przykładzie JavaSpaces, JINI. Wprowadzenie do gridów obliczeniowych – grid a klaster, definicje i cele gridów. Systemy pogranicza (klastrowo-gridowe): Sun N1 Grid Engine, Apple XGrid. Gridy wielkiej skali cz. 1: Globus Toolkit/EDG – budowa, użytkowanie, aktualne zastosowania. Gridy wielkiej skali cz. 2: Unicore, Condor – budowa, użytkowanie, aktualne zastosowania, współpraca z Globusem. Inne systemy gridowe i pokrewne: NEOS i MetaNEOS, BOINC, *@home. Programowanie aplikacji rozproszone w środowiskach gridowych – MPICH-G2, GridRPC (Ninf, NetSolve). Gridy w zastosowaniach: EGEE i LHC, CrossGrid, eHospital. Gridy w zastosowaniach: sterowanie falą powodziową (system wspomagania decyzji w środowisku gridowym).
Metody oceny:
Zdanie egzaminu (60pkt). Wykonanie zadania projektowego (40pkt.) Warunki zaliczenia (wynik egzaminu >30pkt, ocena projektu >20pkt.)
Egzamin:
tak
Literatura:
Praca zbiorowa pod red. A. Karbowskiego i E. Niewiadomskiej-Szynkiewicz, Podstawy Obliczeń Równoległych i Rozproszonych (pozostali autorzy: M. Kamola, K. Malinowski, M. Warchoł), Oficyna Wydawnicza PW, 2001. Tanenbaum, A. S., Van Steen, M., Distributed Systems: Principles and Paradigms, Prentice Hall, New Jersey, 2002. Dongarra, J., Fox, G., Gropp, W. (eds.), The Sourcebook of Parallel Computing, Morgan Kaufmann (Elsevier), 2002. Berman, F., Fox, G., Hey, T. (eds.), Grid Computing: Making the Global Infrastructure a Reality, Wiley, 2003. Foster, I., Kesselman, C., The Grid 2: Blueprint for a New Computing Infrastructure, Morgan Kaufmann (Elsevier), 2004. Dokumentacja techniczna prezentowanych systemów (Internet)
Witryna www przedmiotu:
https://red.okno.pw.edu.pl/witryna/home.php
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka OR_W1
posiada wiedzę na temat programowania równoległego i rozproszonego oraz technik klastrowych
Weryfikacja: ocena projektów i egzaminu
Powiązane charakterystyki kierunkowe: K2_W03, K2_W04, K2_W05, K2_W07, K2_W09, K1_W02
Powiązane charakterystyki obszarowe: III.P7S_WG.o, P7U_W, I.P7S_WG.o, III.P7S_WG, I.P7S_WG, I.P7S_WK

Profil ogólnoakademicki - umiejętności

Charakterystyka OR_U1
potrafi wykonać i zrealizować projekt systemu rozproszonego, integrując wiedzę z zakresu programowania i systemów operacyjnych
Weryfikacja: projekt i egzamin
Powiązane charakterystyki kierunkowe: K2_U03, K2_U13, K2_U04, K2_U05, K2_U08, K2_U09, K2_U11, K2_U01
Powiązane charakterystyki obszarowe: P7U_U, I.P7S_UO, I.P7S_UK, III.P7S_UW.o, I.P7S_UU, I.P7S_UW, III.P7S_UW.1.o, I.P7S_UW.o, III.P7S_UW.3.o, III.P7S_UW.4.o

Profil ogólnoakademicki - kompetencje społeczne

Charakterystyka OR_K1
potrafi zaplanować pracę, samodzielnie dobierać środki i sposoby wykonania projektu
Weryfikacja: ocena projektu, egzamin
Powiązane charakterystyki kierunkowe: K2_K01, K2_K03, K1_K01
Powiązane charakterystyki obszarowe: I.P7S_KO, P7U_K, I.P7S_KK, I.P7S_KR