Мултипроцесорски системи — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
м (+Izlistavanje rokova)
м (Više o predmetu)
 
(Једна међуизмена истог корисника није приказана)
Ред 12: Ред 12:


== Настава ==
== Настава ==
<!-- Овде се наводе све битне информације у вези са предавањима и вежбама на предмету, као и потребни материјали. -->
Градиво је подељено по блоковима на следећи начин:
<!-- Информације које вреди поменути: које се области прелазе у којем блоку, која се развојна окружења користе, шта обично долази за који колоквијум, где могу да се нађу белешке и презентације, да ли се настава на предмету уопште држи (ако се не држи то треба назначити како би било јасно да викију не недостају информације по том питању), да ли су предавања или вежбе бескорисне -->
* '''Први блок:''' увод у мултипроцесорске системе, паралелне архитектуре и програмски модели (предавања), ''OpenMP'' (вежбе)
{{непотпун одељак}}
* '''Други блок:''' системи са заједничком меморијом (предавања), ''snoopy'' протоколи кеш кохеренције (предавања), ''MPI'' (вежбе)
* '''Трећи блок:''' ''directory'' протоколи кеш кохеренције (предавања), интерконекционе мреже (предавања), хијерархијски протоколи (предавања), ''CUDA'' (вежбе)
У зависности од тога колико професор стигне на предавању, нека предавања или делови предавања могу бити одложени за следећи колоквијум или не бити испредавана уопште. На пример, може се десити да хијерархијски протоколи не буду испредавани уопште, у којем случају та област неће доћи у јануарском року (док у осталим роковима може да дође). Све презентације са предавања и вежби доступне су са странице предмета. На колоквијумима обично долази четири задатка са теоријом са предавања и три задатка са вежби, од којих је барем један задатак са мало више писања кода.
 
Поред регуларних предавања и вежби, у термину вежби могу да се одрже и лабораторијске вежбе, на којима се раде из задаци из области који долазе на домаћем задатку за тај блок (''OpenMP'' у првом блоку, ''MPI'' у другом и ''CUDA'' у трећем блоку). Вежбе се држе кроз окружење ''Visual Studio Code'', са ''Remote SSH'' екстензијом ради повезивања на сервер са одговарајућим алатима за мултипроцесорски рад.
 
Од материјала на викију по питању наставе је тренутно доступан '''водич за [[Мултипроцесорски системи/Ослушкујући протоколи|ослушкујуће протоколе кеш кохеренције]]'''.


== Домаћи ==
== Домаћи ==
<!-- Информације које вреди поменути: окружења за израду, водичи за домаћи (уколико су довољно слични из године у годину), када се предају, да ли је обавезан, корисни материјали -->
Постоје четири домаћа задатка, три од 10 бодова и један од 5. Стари домаћи су доступни [http://mups.etf.rs/dz/ са странице предмета.] Раде се самостално или у пару, предају се преко њиховог окружења на <code>rtidev5.etf.rs</code> коришћењем [[wikipedia:Apache Subversion|SVN]] алата за верзионисање софтвера, а затим бране у лабораторији или преко ''Microsoft Teams'' где предметни асистент испитује студенте од 5 до 10 минута о томе шта су радили. За сваки домаћи је такође потребно приложити извештај по шаблону са странице предмета. Детаљније о самом процесу предаје преко репозиторијума се налази у упутствима предметних сарадника на страници предмета.
Постоје четири домаћа задатка, три од 10 бодова и један од 5. Стари домаћи су доступни [http://mups.etf.rs/dz/ са странице предмета.] Раде се самостално или у пару, предају се преко њиховог окружења на <code>rtidev5.etf.rs</code> коришћењем [[wikipedia:Apache Subversion|SVN]] алата за верзионисање софтвера, а затим бране у лабораторији где предметни асистент испитује студенте од 5 до 10 минута о томе шта су радили. За сваки домаћи је такође потребно приложити извештај по шаблону са странице предмета. Детаљније о самој предаји се налази у упутствима предметних сарадника на страници предмета.
 
За сваки домаћи задатак за који се куца код (први, други и четврти) предметни професори и сарадници дају већ готов код секвенцијалног решења проблема и затим траже паралелизацију одговарајућом библиотеком/технологијом, понекад користећи конкретне технике задате у задатку. Обично буду три програма за паралелизацију на сваком домаћем, и ти програми се понављају за сва три домаћа. Трећи домаћи задатак се ради у [http://mups.etf.bg.ac.rs/simulatori/vivioJS/ симулатору кеш кохеренције,] и на њему се тражи да се одређене секвенце читања и писања покрену, погледају и објасне њихови резултати. Овај домаћи задатак се у виду текстуалног фајла само предаје на репозиторијум и не брани.


На домаћим се раде следеће области:
На домаћим се раде следеће области:
Ред 25: Ред 32:
# Кеш кохеренција (5 поена)
# Кеш кохеренција (5 поена)
# ''[[wikipedia:CUDA|CUDA]]''
# ''[[wikipedia:CUDA|CUDA]]''
Први и други домаћи генерално изађу убрзо након првог односно другог колоквијума, и рок за њихову израду буде око 3 недеље. Трећи и четврти задатак изађу заједно око Нове године, и рок за њихову израду буде до пар дана пре испита. Домаћи задаци нису обавезни.
Претходне поставке домаћих задатака могу се пронаћи [http://mups.etf.bg.ac.rs/dz/ са странице предмета,] док се решења из 2022/2023. могу пронаћи [[github:KockaAdmiralac/MUPS|овде]].


== Испитни рокови ==
== Испитни рокови ==
Ред 53: Ред 63:
== Потребна помоћ ==
== Потребна помоћ ==
* {{задаци|rešenja}}
* {{задаци|rešenja}}
*: Рокови којима недостаје понеко решење су: {{рокови|делимично решени}}

Тренутна верзија на датум 10. фебруар 2023. у 00:40

Мултипроцесорски системи је изборни предмет у седмом семестру за СИ, а осмом за РТИ.

Корисне везе

  • ETF SI (белешке са предавања првог блока)

Настава

Градиво је подељено по блоковима на следећи начин:

  • Први блок: увод у мултипроцесорске системе, паралелне архитектуре и програмски модели (предавања), OpenMP (вежбе)
  • Други блок: системи са заједничком меморијом (предавања), snoopy протоколи кеш кохеренције (предавања), MPI (вежбе)
  • Трећи блок: directory протоколи кеш кохеренције (предавања), интерконекционе мреже (предавања), хијерархијски протоколи (предавања), CUDA (вежбе)

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

Поред регуларних предавања и вежби, у термину вежби могу да се одрже и лабораторијске вежбе, на којима се раде из задаци из области који долазе на домаћем задатку за тај блок (OpenMP у првом блоку, MPI у другом и CUDA у трећем блоку). Вежбе се држе кроз окружење Visual Studio Code, са Remote SSH екстензијом ради повезивања на сервер са одговарајућим алатима за мултипроцесорски рад.

Од материјала на викију по питању наставе је тренутно доступан водич за ослушкујуће протоколе кеш кохеренције.

Домаћи

Постоје четири домаћа задатка, три од 10 бодова и један од 5. Стари домаћи су доступни са странице предмета. Раде се самостално или у пару, предају се преко њиховог окружења на rtidev5.etf.rs коришћењем SVN алата за верзионисање софтвера, а затим бране у лабораторији или преко Microsoft Teams где предметни асистент испитује студенте од 5 до 10 минута о томе шта су радили. За сваки домаћи је такође потребно приложити извештај по шаблону са странице предмета. Детаљније о самом процесу предаје преко репозиторијума се налази у упутствима предметних сарадника на страници предмета.

За сваки домаћи задатак за који се куца код (први, други и четврти) предметни професори и сарадници дају већ готов код секвенцијалног решења проблема и затим траже паралелизацију одговарајућом библиотеком/технологијом, понекад користећи конкретне технике задате у задатку. Обично буду три програма за паралелизацију на сваком домаћем, и ти програми се понављају за сва три домаћа. Трећи домаћи задатак се ради у симулатору кеш кохеренције, и на њему се тражи да се одређене секвенце читања и писања покрену, погледају и објасне њихови резултати. Овај домаћи задатак се у виду текстуалног фајла само предаје на репозиторијум и не брани.

На домаћим се раде следеће области:

  1. OpenMP (10 поена)
  2. MPI (10 поена)
  3. Кеш кохеренција (5 поена)
  4. CUDA

Први и други домаћи генерално изађу убрзо након првог односно другог колоквијума, и рок за њихову израду буде око 3 недеље. Трећи и четврти задатак изађу заједно око Нове године, и рок за њихову израду буде до пар дана пре испита. Домаћи задаци нису обавезни.

Претходне поставке домаћих задатака могу се пронаћи са странице предмета, док се решења из 2022/2023. могу пронаћи овде.

Испитни рокови

Рокови се званично објављују на страници предмета, без решења. Рокови који су решени на викију су:

Уколико желите да додате рок, посетите страницу за прављење рока.

Начин оцењивања

  • — укупни бодови са домаћег задатка (0-35)
  • , , — бодови са првог (прва колоквијумска недеља), другог (друга колоквијумска недеља) или трећег (јануарски испитни рок) колоквијума (0-100, или први или други колоквијум је могуће поправити у јануарском испитном року)
  • — бодови са интегралног испита у испитним роковима после јануарског (0-100)
  • Бодови:
    • Јануар:
    • Остали рокови:
Бодови
Оцена 5 6 7 8 9 10

Потребна помоћ

  • На овом предмету фале решења рокова. Помозите викију решавањем рокова и постављањем њихових решења на вики.
    Рокови којима недостаје понеко решење су: