Programowanie równoległe i rozproszone

Transkrypt

Programowanie równoległe i rozproszone
SYLABUS PRZDMIOTU
JEDNOSTKA Katedra Informatyki i Metod Komputerowych
KIERUNEK INFORMATYKA
administracja systemami informatycznymi
SPECJALNOŚĆ/
multimedia i technologie internetowe
SPECJALIZACJA
przedsiębiorczość w sektorze IT
informatyka z nauczaniem matematyki
informatyka nienauczycielska
informatyka z elementami przedsiębiorczości
informatyka z językiem angielskim
NAZWA Programowanie równoległe i rozproszone
NAZWA W J. ANG. Parallel and distributed programming
KOD S
STUDIA
PUNKTACJA ECTS 3
STACJONARNE
NIESTACJONARNE
III
ROK STUDIÓW
5
SEMESTR
KOORDYNATOR dr Leszek Głowacki
ZESPÓŁ DYDAKTYCZNY
dr Leszek Głowacki
Zadaniem przedmiotu jest przedstawienie problematyki związanej z pisaniem programów równoległych,
ZAŁOŻENIA I CELE
oraz wprowadzenie do tworzenia aplikacji działających równolegle w celu efektywniejszego wykorzystania
PRZEDMIOTU
możliwości obliczeniowych współczesnych komputerów
WARUNKI WSTĘPNE
WIEDZA Podstawowa znajomość systemu UNIX
UMIEJĘTNOŚCI Podstawowa znajomość systemu UNIX
KURSY Administracja i integracja system.operac., Programowanie obiektowe
EFEKTY KSZTAŁCENIA
Podstawowe problemy synchronizacyjne programowania współbieżnego : wzajemne wykluczanie,
czytelnicy i pisarze, producenci-konsumenc, problem pieciu filozofów. Wysokopoziomowe mechanizmy
WIEDZA synchronizacji: semafor, bariera, monitor. Procesy i wątki. Komunikacja międzyprocesowa (IPC).
Elementy programowania z pamięcią wspólną i lokalną. Efektywność zrównoleglenia, sprawność,
skalowalność. Narzędzia do tworzenia programów równoległych: OpenMP i MPI.
Rozwiązywanie podstawowych problemów synchronizacyjnych w Concurrent Pascal Bena Ari. Tworzenie
procesów potomnych (UNIX), komunikacja międzyprocesowa przy pomocy łączy nienazwanych,
nazwanych, kolejek. Korzystanie z biblioteki Pthreads w systemie UNIX: tworzenie wątków,
UMIEJĘTNOŚCI
synchronizacja, proste przykłady programów obliczeniowych. Przykłady użycia dyrektyw
zrównoleglających OpenMP w programach obliczeniowych. Wprowadzenie do korzystania z interfejsu LAM
MPI w języku C. Realizacja prostych programów rozproszonych na klastrze.
METODY NAUCZANIA
WYKŁAD:
ĆWICZENIA:
informacyjny
prelekcja
dyskusja
problemowy
praca zespołowa – projekt
instruktaż
konwersatoryjny
praca indywidualna – ćwiczenia praktyczne
ćwiczenia produkcyjne
inny (jaki)
pokaz z objaśnieniem
inne (jakie)
platforma Moodle
Elementy kształcenia zdalnego:
inne (jakie)
ORGANIZACJA
FORMA ZAJĘĆ
STUDIA
STACJONARNE
LICZBA
GODZIN
WYKŁAD (W)
ĆWICZENIA W GRUPACH
A
K
L
20
S
P
30
STUDIA
NIESTACJONARNE
FORMY SPRAWDZANIA EFEKTÓW KSZTAŁCENIA
W
zaliczenie
A
K
L
kolokwia, zadania projektowe
S
P
FORMA ZALICZENIA
egzamin
zaliczenie z oceną
zaliczenie
OCENA średnia ważona za kolokwium i zadanie projektowe
UWAGI
PODSTAWOWA
Ben-Ari, "Podstawy programowania współbieżnego i
rozproszonego", WNT 1996
Z. Weiss, T. Gruźlewski, "Programowanie
współbieżne i rozproszone w przykładach i
LITERATURA
zadaniach", WNT 1993
"Programowanie równoległe i rozproszone", Praca
zbiorowa pod redakcją A. Karbowskiego, E.
Niewiadomskiej-Szynkiewicz, Oficyna Wydawnicza
Politechniki Warzszawskiej 2009
ZMIANY:
UZUPEŁNIAJĄCA
A. S. Tanenbaum, M. van Steeen, "Systemy
rozproszone", WNT, 2006
"Programowanie zastosowań sieciowych w
systemie UNIX", W. Richard Stevens, WNT 1998
Michael K. Johnson, Erik W. Troan,
"Oprogramowanie użytkowe w systemie Linux",
WNT, 2000