Politechnika Warszawska - Centralny System UwierzytelnianiaNie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Programowanie równoległe i rozproszone

Informacje ogólne

Kod przedmiotu: 103A-INxxx-MSP-PORR Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Programowanie równoległe i rozproszone
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Przedmioty techniczne )---EITI
( Przedmioty zaawansowane )-Automatyka i robotyka-dr.-EITI
( Przedmioty zaawansowane )-Informatyka-dr.-EITI
( Przedmioty zaawansowane )-Systemy informacyjno-decyzyjne-mgr.-EITI
( Przedmioty zaawansowane techniczne )--mgr.-EITI
Punkty ECTS i inne: 5.00
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

PORR

Numer wersji:

1

Skrócony opis:

Celem przedmiotu jest przedstawienie podstawowych wiadomości na temat prowadzenia obliczeń wektorowych, równoległych i rozproszonych na komputerach wielordzeniowych (wykorzystujących ewentualnie rozszerzenia strumieniowe SSE, karty graficzne), superkomputerach, a także w klastrach i gridach. W dalszej części wykładu omówione będą przykłady zastosowania obliczeń równoległych do rozwiązywania złożonych zadań analizy numerycznej - klasycznych oraz związanych z Internetem.

Pełny opis:

Celem przedmiotu jest przedstawienie podstawowych wiadomości na temat prowadzenia obliczeń wektorowych, równoległych i rozproszonych na komputerach wielordzeniowych (wykorzystujących ewentualnie rozszerzenia strumieniowe SSE, karty graficzne), superkomputerach, a także w klastrach i gridach. W dalszej części wykładu omówione będą przykłady zastosowania obliczeń równoległych do rozwiązywania złożonych zadań analizy numerycznej - klasycznych oraz związanych z Internetem.

Treść wykładu

  1. Zagadnienia podstawowe: klasyfikacja i architektura komputerów równoległych; procesory wielordzeniowe o strukturze symetrycznej i asymetrycznej (CELL), jednostki wykonawcze SSE/Altivec oraz GPU; obliczenia: wektorowe, współbieżne, równoległe, rozproszone, strumieniowe; rodzaje oprogramowania realizującego równoległość, istotne paradygmaty i modele programowania równoległego

  2. Miary oceny efektywności obliczeń równoległych (współczynniki przyśpieszenia oraz wydajności, prawa Amdahla i Gustafsona-Barsisa, sprawność i skalowalność)

  3. Zagadnienia synchronizacji i wymiany informacji w obliczeniach równoległych, podstawowe mechanizmy: zamek, semafor, monitor, bariera klasyczna i dwuczęściowa, zmienne warunków, komunikaty (przesyłanie: synchroniczne, asynchroniczne, blokujące, nieblokujące, buforowane, itd.).

  4. Wektoryzacja obliczeń we współczesnych komputerach opartych na architekturze x86, sposób wykorzystania jednostek wykonawczych SSE

  5. Podstawowe informacje o obliczeniach ogólnego przeznaczenia wykorzystujących karty graficzne (GPGPU), pojęcia strumienia i jądra; najważniejsze cechy środowisk oprogramowania: Brook, (MS-R) Accelerator, CUDA

  6. Elementy programowania na maszynach z pamięcią wspólną, narzędzia: klasyczne narzędzia systemu UNIX, programowania wielowątkowego (wątki POSIX, wątki w językach Java oraz C#), język dyrektyw OpenMP,

  7. Elementy programowania na maszynach z pamięcią lokalną oraz w sieciach komputerowych, klastrach i gridach; narzędzia: środowisko MPI, rodzina narzędzi RPC

  8. Sposoby realizacji rozproszonych systemów z pamięcią wspólną: Linda, Co-Array Fortran, UPC

  9. Algorytmy synchroniczne: podstawowe algorytmy algebry liniowej w wersji równoległej, rozwiązywanie układów równań nieliniowych, równoległe metody optymalizacji

  10. Algorytmy całkowicie lub częściowo asynchroniczne: założenia, zbieżność, zastosowanie do rozwiązywania dużych układów równań liniowych i nieliniowych, optymalizacji statycznej, routingu, szeregowania linków w wyszukiwarkach, itp.



Zakres projektu
Celem projektu będzie zdobycie podstawowych praktycznych umiejętności w posługiwaniu się równoległym środowiskiem do obliczeń oraz wykonanie przykładowych obliczeń na maszynach równoległych, wielordzeniowych (także z wykorzystaniem SSE i GPU), jak również w klastrze stacji roboczych. Przewidywane są zadania związane z:

  • Badaniem algorytmów synchronicznych z wykorzystaniem dyrektyw zrównoleglających kompilatora (OpenMP) oraz mechanizmu wątków (POSIX lub Java threads) na maszynie równoległej z pamięcią wspólną (4-procesorowy Sun);

  • Badaniem algorytmów rozproszonych w klastrze z wykorzystaniem oprogramowania: MPI, RPC, Java RMI, UPC;

  • Badaniem efektywności obliczeń hybrydowych - ze zrównolegleniem na wiele rdzeni oraz simdyzacją (SSE, GPU)

  • Oceną efektywności różnych narzędzi do zrównoleglania programów napisanych w: Javie, Matlabie, C# uruchamianych na maszynie wielordzeniowej pracującej pod kontrolą systemu UNIX/Linux albo w sieci PC pod kontrolą MS Windows

Literatura:

    1. Praca zbiorowa pod red. A. Karbowskiego i E. Niewiadomskiej-Szynkiewicz, Programowanie Równoległe i Rozproszone (pozostali autorzy: J. Błaszczyk, M. Kamola, B. Kubica, K. Malinowski, M. Warchoł), Oficyna Wydawnicza PW, 2008.

    2. Grama A., Kumar V., Gupta A., Karypis G., Introduction to Parallel Computing, 2/E, Addison Wesley , 2003.

    3. Dongarra J, et al., The Sourcebook of Parallel Computing, Morgan Kaufmann (Elsevier), 2003.

    4. Foster I. and Kesselman C. (Eds.), The Grid 2: Blueprint for a New Computing Infrastructure (Second edition), Morgan Kaufmann (Elsevier), 2004.

    5. Bertsekas D.P. i Tsitsiklis J.N.,Parallel and Distributed Computation: Numerical Methods, Athena Scientific, 1997.



Metody i kryteria oceniania:

Maksymalna liczba punktów do uzyskania: 100 pkt.

Maksymalna liczba punktów za egzamin: 40 pkt.

Maksymalna liczba punktów za projekt: 60 pkt.



Zaliczenie egzaminu - minimum 20 pkt.

Zaliczenie projektu - minimum 30 pkt.


Zajęcia w cyklu "rok akademicki 2019/2020 - sem. zimowy" (zakończony)

Okres: 2019-10-01 - 2020-02-21
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Ewa Niewiadomska-Szynkiewicz, Alicja Trojanowska
Prowadzący grup: Andrzej Karbowski, Ewa Niewiadomska-Szynkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. zimowy" (zakończony)

Okres: 2018-10-01 - 2019-02-17
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Ewa Niewiadomska-Szynkiewicz
Prowadzący grup: Andrzej Karbowski, Ewa Niewiadomska-Szynkiewicz, Alicja Trojanowska
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2017/2018 - sem. zimowy" (zakończony)

Okres: 2017-10-01 - 2018-02-18
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 72 miejsc więcej informacji
Wykład, 30 godzin, 72 miejsc więcej informacji
Koordynatorzy: Ewa Niewiadomska-Szynkiewicz
Prowadzący grup: Ewa Niewiadomska-Szynkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2016/2017 - sem. zimowy" (zakończony)

Okres: 2016-10-01 - 2017-02-19
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 72 miejsc więcej informacji
Wykład, 30 godzin, 72 miejsc więcej informacji
Koordynatorzy: Ewa Niewiadomska-Szynkiewicz
Prowadzący grup: Ewa Niewiadomska-Szynkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2015/2016 - sem. zimowy" (zakończony)

Okres: 2015-10-01 - 2016-02-22
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Ewa Niewiadomska-Szynkiewicz
Prowadzący grup: Ewa Niewiadomska-Szynkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2014/2015 - sem. zimowy" (zakończony)

Okres: 2014-09-29 - 2015-02-22
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 72 miejsc więcej informacji
Wykład, 30 godzin, 72 miejsc więcej informacji
Koordynatorzy: Ewa Niewiadomska-Szynkiewicz
Prowadzący grup: Ewa Niewiadomska-Szynkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2013/2014 - sem. zimowy" (zakończony)

Okres: 2013-10-01 - 2014-02-23
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 72 miejsc więcej informacji
Wykład, 30 godzin, 72 miejsc więcej informacji
Koordynatorzy: Ewa Niewiadomska-Szynkiewicz
Prowadzący grup: Ewa Niewiadomska-Szynkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2012/2013 - sem. zimowy" (zakończony)

Okres: 2012-10-01 - 2013-02-19
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Projekt, 30 godzin, 92 miejsc więcej informacji
Wykład, 30 godzin, 92 miejsc więcej informacji
Koordynatorzy: Ewa Niewiadomska-Szynkiewicz
Prowadzący grup: Ewa Niewiadomska-Szynkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.