Навигација

13Е113КДП - Конкурентно и дистрибуирано програмирање

Спецификација предмета
НазивКонкурентно и дистрибуирано програмирање
Акроним13Е113КДП
Студијски програмЕлектротехника и рачунарство
Модулмодул Рачунарска техника и информатика
Тип студијаосновне академске студије
Наставник (предавач)
Наставник/сарадник (вежбе)
Наставник/сарадник (ДОН)
Број ЕСПБ6.0Статус предметаобавезан
Условљност другим предметимаПрограмирање 1 и Објектно оријентисано програмирање 2
Циљеви изучавања предметаУпознавање студената са основним концептима конкурентног и дистрибуираног програмирања. Увођење појма различитих нивоа апстракције у конкурентном и дистрибуираном програмирању. Оспособљавање студената за писање конкурентних и дистрибуираних програма за најчешће проблеме у различитим програмским језицима.
Исходи учења (стечена знања)Поседовање основних знања о концептима, алгоритмима, принципима, проблемима и решењима везаним за конкурентно и дистрибуирано програмирања. Препознавање различитих нивоа апстракције у конкурентном и дистрибуираном програмирању. Оспособљеност студента да у језику Јава самостално пишу једноставне конкурентне и дистрибуиране апликације и да самостално решава најчешће проблеме синхронизације.
Садржај предмета
Садржај теоријске наставеКонцепти процеса и синхронизације. Locks и баријере, Tie Breaker, Ticket и Bakery алгоритми. Различити начини имплементације баријера. Семафори. Расподељени бинарни семафори, технике прослеђивања штафете, алокација ресурса. Монитори. Условне променљиве, дисциплине за сигнал, анализа дијаграма стања монитора. Прослеђивање порука. Асинхроно и синхроно прослеђивање порука. Удаљени позиви процедура.
Садржај практичне наставеКоришћење семафора, монитора, региона и прослеђивања порука за решавање типских проблема: Читаоци и писци, Произвођачи и потрошачи, Мост са једном коловозном траком, Филозофи за ручком, Нервозни пушачи, Берберин који спава, Вожња тобоганом и други. Дистрибуирано програмирање (CSP и Linda). Реализација семафора, условних региона, монитора, прослеђивања порука и удаљеног позива метода у Јави.
Литература
  1. Захарије Радивојевић, Игор Икодиновић, Зоран Јовановић, Конкурентно и дистрибуирано програмирање, Академска мисао, 2008.
  2. Gregory Andrews, Foundation of Multithreaded, Parallel and Distributed Programming, Addison Wesley, 2000
  3. Зоран Јовановић, Фолије за предавања, http://rti.etf.bg.ac.rs/rti/ri4drs/literatura/
  4. Захарије Радивојевић, Задаци за вежбу, http://rti.etf.bg.ac.rs/rti/ri4drs/literatura/
Број часова активне наставе недељно током семестра/триместра/године
ПредавањаВежбеДОНСтудијски и истраживачки радОстали часови
221
Методе извођења наставеПредавања, аудиторне вежбе, лабораторијске вежбе, пројекти
Оцена знања (максимални број поена 100)
Предиспитне обавезеПоенаЗавршни испитПоена
Активности у току предавања0Писмени испит40
Практична настава0Усмени испит0
Пројекти
Колоквијуми40
Семинари20