Konkurentni i distribuirani sistemi

Course categoryRačunarske nauke

Терминологија и класификација. Узајамно искључивање. Конкурентни објекти. Конкурентност и коректност. Модели конзистентности. Услови за прогрес. Spin-Lock. Test-and-Set (TAS). TTAS. Експоненцијални Backoff. CLH и MSC Queue Lock. Композитни кључ. Кластери и хијерархијски кључеви. Монитори. Семафори. Баријере. Баријере са променом парности. Баријере са комбинационим и статичким стаблом. Баријере са детекцијом завршетка. Трансакциона меморија. Трансакције и атомичност. Софтверска и хардверска трансакциона меморија. Мултипроцесорско распоређивање. Расподела оптерећења. Модел дистрибуираног извршавања. Модели комуникационих мрежа. Глобално стање дистрибуираног система. Пресеци код дистрибуираног израчунавања. Логичко време. Систем логичких часовника. Скаларно време. Векторско време. Матрично време. Синхронизација физичких часовника. Глобално стање и алгоритми за његово снимање. Алгоритми за FIFO и не-FIFO канале. Снимање стања у системима са каузалном испоруком. Налажење конзистентних глобалних снимака. Основни дистрибуирани алгоритми. Синхронизатори. Избор лидера. Редослед порука и групна комуникација. Дистрибуирано узајамно искључивање. Дистрибуирана дељена меморија. Договор и консензус. Детекција отказа.

Kreatori kursa: Mladen Stanojevic

Agilni razvoj softvera

Course categoryRačunarske nauke

Na ovoj stranici studenti predmeta ce naci sve relevantne materijale.

Kreatori kursa: Marko Mladenovic

Kombinatorika i teorija grafova (mladenovic)

Course categoryRačunarske nauke

КОМБИНАТОРИКА И ТЕОРИЈА ГРАФОВА


Општи преглег предмета
Већина инжењерских проблема се може дефинисати над дискретним просторима. Дисциплина која испитује и нуди детаљне оговоре
на питања распореда и свакаквог пребројаванја елемената над дискретним скуповима јесте комбинаторика.
Са друге стране, основу за моделирање ових проблема можемо потражити у теорији графова. Оног тренутка када је модел коретно
постављен можемо уз постојеће алате (алгоритме) решити врло комплексне задатке. Утврдити којој категорији разматрани проблем
припада представља део вештине за који овај курс нуди основу уз неке напредније примере.
Пошто у пракси често постављамо за циљ да минимизујемо (максимизујемо) издатке (добит) над разматраним проблемом, природна
екстензија домена комбинаторике и теорије графова јесте комбинаторна оптимизација.


Теоретска настава
На часовима предавања након што уведемо основне појмове и извести неколико последица истих, раматраћемо
конкретне проблеме које ћемо моделирати помоћу графова, остатак курса ће бити посвећен алгоритмима над претходно
уведеним објектима.
Неки од проблема које ћемо заматрати су: минимално разапињујуће стабло, проблеми пута над графом, проблеми протока, итд.
Неке од метода решавања: математичко програмирање, методе отсецања, хеуристике, итд.

Практична настава
На часовима вежби фокус ће бити на присутности графова у свакодневном животу (практични проблеми) и како их можемо
моделирати и решити. Теоретски оквири ће бити дискутовани на предавањима.

Пожељна предзнања
Овај курс садржи појмове и методе које са којима су студенти требали да се упознају у ранијим курсевима: алгоритми и структуре
података и математичка анализа. Поред ових предмета корисно би било да су пратили курсеве генетски алгоритми и машинско
учење.

Kreatori kursa: Marko Mladenovic

Interfejs mozak-računar

Course categoryRačunarske nauke

Na ovom predmetu se uči o kompleksnom sistemu u realnom vremenu kao vrstu Interakcije čovek-mašina, gde korisnik može uticati na kompjuter samo korišćenjem svojih misli (a i mašina utiče i na korisnika). Dakle to je jedan zatvoreni krug, jedna dinamička interakcija. Primena ovakvog sistema je višestruka: u medicini, u umetnosti, gejmingu, transportu itd.

Kreatori kursa: Jelena Mladenovic

Kriptografija

Course categoryRačunarske nauke
Kreatori kursa: Dragan Urosevic