Uniwersytet w Białymstoku - Centralny System Uwierzytelniania
Strona główna

Programowanie równoległe i rozproszone

Informacje ogólne

Kod przedmiotu: 0600-IS1-3PRR
Kod Erasmus / ISCED: 11.303 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (brak danych)
Nazwa przedmiotu: Programowanie równoległe i rozproszone
Jednostka: Instytut Informatyki.
Grupy:
Punkty ECTS i inne: (brak) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: polski
Rodzaj przedmiotu:

obowiązkowe

Skrócony opis:

Założenia i cele przedmiotu: Ogólna charakterystyka środowiska i programowania równoległego oraz rozproszonego. Współbieżność procesów w systemach operacyjnych i poprawność programu współbieżnego. Wybrane problemy programowania współbieżnego: wzajemnego wykluczania, producenta i konsumenta, ucztujących filozofów. Podstawowe modele obliczeń równoległych, model z pamięcią wspólną, model sieciowy. Elementarne algorytmy równoległe, ocena algorytmów, prawo Amdahla, prawo Gustafsona i Barsisa. Algorytmy dla modelu z pamięcią wspólną i dla modelu sieciowego. Architektura komputerów równoległych, klasyfikacja Flynna, komputery wieloprocesorowe, klastry, sieci połączeń. Programowanie równoległe z użyciem pamięci wspólnej, model obliczeń OpenMP. Programowanie równoległe z przesyłaniem wiadomości, model obliczeń MPI. Wprowadzenie do programowania równoległego wykorzystującego karty graficzne GPU.

Pełny opis:

Profil studiów: ogólnoakademicki

Forma studiów: stacjonarne

Rodzaj przedmiotu: obowiązkowy

Dyscyplina: Informatyka

Rok studiów / semestr: 3 / 5

Wymagania wstępne (tzw. sekwencyjny system zajęć i egzaminów): Przedmioty wprowadzające: Systemy operacyjne, Podstawy programowania strukturalnego

Wykład: 30 Laboratorium: 30

Metody dydaktyczne:

Punkty ECTS: 4

Bilans nakładu pracy studenta:

Udział w zajęciach:

- wykład 30h

- laboratorium 30h

Przygotowanie do zajęć:

- wykład 10h

- laboratorium 20h

Zapoznanie z literaturą: 10h

Przygotowanie do kolokwium: 15h

Przygotowanie do egzaminu: 15h

Czas trwania egzaminu: 2h

Udział w konsultacjach: 3h

Wskaźniki ilościowe:

wymagającymi bezpośredniego udziału nauczyciela: 65, 2ECTS

o charakterze praktycznym: 48, 2 ECTS

Literatura:

Literatura podstawowa:

Z. Czech. Wprowadzenie do obliczeń równoległych, PWN, Warszawa 2010.

Literatura uzupełniająca:

P. Stpiczyński, M. Brzuszek, Podstawy programowania obliczeń równoległych, UMCS, Lublin 2011.

Sanders Jason, Kandrot Edward: Cuda w przykładach Wprowadzenie do ogólnego programowania procesów GPU, Wydawnictwo Helion, 2012.

Strony internetowe: www.openmp.org, www.mpi-forum.org

Efekty uczenia się:

Efekty kształcenia w ramach realizacji przedmiotu:

Zna i potrafi podać ogólną charakterystykę środowiska i problematykę programowania równoległego i rozproszonego. K_W13

Zna podstawowe modele obliczeń równoległych, model z pamięcią wspólną, model sieciowy oraz kryteria oceny algorytmy równoległych. K_W13

Zna podstawowe typy architektury komputerów równoległych i ich klasyfikację, komputery wieloprocesorowe, klastry, sieci połączeń. K_W13

Zna podstawowe pojęcia, problemy i metody programowania równoległego z użyciem pamięci wspólnej. K_W13

Zna podstawowe pojęcia, problemy i metody programowania równoległego z użyciem pamięci rozproszonej. K_W13

Potrafi zastosować i korzystać z podstawowych mechanizmów do tworzenia i zarządzania procesami oraz realizacji komunikacji między procesami. K_U19

Potrafi wybrać i ocenić odpowiednie dla danego problemu algorytmy dla modelu obliczeń równoległych i rozproszonych. K_U19, K_U20

Potrafi zastosować w praktyce dyrektywy zrównoleglające interfejsu OpenMP, podstawowe konstrukcje, klauzule, konstrukcje synchronizacyjne. K_U19

Potrafi zastosować w praktyce funkcje biblioteki MPI, komunikatory i grupy procesów, przesyłanie komunikatów, komunikacja kolektywna. K_U19, K_U20

Potrafi zastosować elementy programowania równoległego z wykorzystaniem karty graficznej GPGPU. K_U19

Posiada i potrafi zastosować elementarną wiedzę w dziedzinie metod zrównoleglania obliczeń oraz ich realizacji na maszynach wielordzeniowych, kartach graficznych GPGPU i w sieciach komputerów. Potrafi samodzielnie pisać proste aplikacje dla obliczeń równoległych i rozproszonych działających w w/w środowiskach sprzętowych. K_K02

Metody i kryteria oceniania:

Ogólna forma zaliczenia:zaliczenie na ocenę

Przedmiot nie jest oferowany w żadnym z aktualnych cykli dydaktycznych.
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet w Białymstoku.
ul. Świerkowa 20B, 15-328 Białystok tel: +48 85 745 70 00 (Centrala) https://uwb.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-2 (2023-09-20)