Мултипроцесорски системи/К1 2021

Извор: SI Wiki
< Мултипроцесорски системи
Датум измене: 1. новембар 2022. у 20:10; аутор: TopOfKeks (разговор | доприноси) (postavka, wip)
(разл) ← Старија измена | Тренутна верзија (разл) | Новија измена → (разл)
Пређи на навигацију Пређи на претрагу

Први колоквијум 2021. године одржан је 2. новембра и трајао је 105 минута. Поставка рока је доступна са странице предмета.

1. задатак

Поставка

Описати пет типичних класа рачунара. Навести за које апликације се обично користе, као и најбитније пројектне циљеве.

Решење

  • Лични мобилни уређаји (ПМД - Персонал мобиле девицес) су преносиви рачунари намењени за личну употребу. Најбитнији пројектни циљеви су ниска цена, ниска потрошња енергије и перформансе у репродукцији медија.
  • Десктоп рачунари су рачунари опште употребе са широким опсегом апликација. Најбитнији циљеви су однос цене и перформанси, потрошња енергије и перформансе за графику.
  • Сервер рачунари су рачунари за сервисе који имају велик број корисника и захтевају висок ниво поузданости. Најбитнији циљеви су пропусни опсег, доступност/издржљивост, потрошња енергије.
  • Кластери или WСЦ (Wарехоусе Сцале Цомпутинг) су скупови више хиљада рачунара повезаних на ЛАН. Користе се за СааС (Софтwаре ас а Сервице). Најбитнији циљеви су доступност, однос цена и перформанси, потрошња енергије.
  • ИоТ/уграђени рачунари се користе у уређајима широке употребе, најчешће дизајнирани за специфичне сврхе. Најбитнији циљеви су ниска цена, ниска потрошња енергије и перформансе специфичне за њихову примену.

2. задатак

Овај задатак није решен. Помозите СИ Wики тако што ћете га решити.

Поставка

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

Решење

3. задатак

Овај задатак није решен. Помозите СИ Wики тако што ћете га решити.

Поставка

Нацртати УМА и НУМА архитектуре. Објаснити сличности и разлике између њих.

Решење

4. задатак

Овај задатак није решен. Помозите СИ Wики тако што ћете га решити.

Поставка

Објаснити програмски модел Дата параллел. Нацртати и објаснити типичну архитектуру која подржава овај модел.

Решење

5. задатак

Овај задатак није решен. Помозите СИ Wики тако што ћете га решити.

Поставка

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

bool alfaSet = false;
int alfaIter = 0;
int step = 1;
double localAlfa = alfa;
double *testX = (double *) malloc(dim * sizeof(double));

while (!alfaSet) {
    alfaIter += step;
    localAlfa = pow(gamma, alfaIter - 1);

    for (i = 0; i < dim; i++) {
        testX[i] = x[i] + localAlfa * d[i];
    }
    
    if (func(testX, dim) - delta * localAlfa * b <= oldFunc) {
        if (!alfaSet) {
            alfaSet = true;
            alfaIter = 0;
            alfa = localAlfa;
        }
    }
}
free(testX);

Решење

6. задатак

Овај задатак није решен. Помозите СИ Wики тако што ћете га решити.

Поставка

На који начин се променљиве подразумевано прослеђују у оквиру ОпенМП таск директиве? Због чега је то неопходно и да ли је увек неопходно? Образложити одговор.

Решење

7. задатак

Овај задатак није решен. Помозите СИ Wики тако што ћете га решити.

Поставка

Нека се посматра једна нумеричка симулација. Апликација најпре учитава параметре симулације, затим решава сложене системе линеарних диференцијалних једначина и на крају уписује резултате свога рада. Након мерења перформанси секвенцијалне имплементације посматране апликације при уобичајеној употреби, добијени су следећи резултати: апликација 5% времена проводи обављајући улазно-излазне операције, а 95% времена проводи у обради података. Типично време обраде у оквиру симулације коришћењем једног језгра је 1000с.

  1. Уколико се апликација паралелизује за извршавање на СМП систему са 4 језгара на 2ГХз са 32ГБ меморије, навести формулу за Амдалов закон и одредити максимално могуће убрзање које се може постићи за задату апликацију са датом конфигурацијом.
  2. Шта представља особина скалабилности у контексту паралелног рачунарства и специфично паралелног хардвера? Да ли би додавање нових процесорских језгара у случају под а) допринело убрзавању описане паралелне апликације и у којим случајевима?

Решење