Паралелно и повеќејадрено пресметување

Разбирање на концептите и имплементациите на современите процесори. Анализа на современите процесори. Студентот ќе биде оспособен да дизајнира, одржува и програмира компјутерски системи со современи процесори и процесирачки елементи.

Разбирање на концептите и имплементациите на современите процесори. Анализа на современите процесори. Студентот ќе биде оспособен да дизајнира, одржува и програмира компјутерски системи со современи процесори и процесирачки елементи.

Детална содржина по поглавја и единици

  1. Паралелни компјутерски архитектури
  • Паралелизам на ниво на чип
  • Копроцесори
  • Мултипроцесори со заедничка меморија
  • Мултикомпјутери со проследување на пораки
  • Грид пресметување
  1. Процесори со паралелизам на ниво на инструкции
  • Протечна обработка
  • Разлика помеѓу VLIW и суперскаларни процесори
  • Суперскаларно процесирање
  • Историски развој и карактеристики
  1. Зависности кај инструкциите
  • Контролни конфликти
  • Софтверско распределување
  • Распределување на ниво на блокови
  • Глобално распределување
  • Суперблокови
  • Предикатно распределување

Распределување јамки Софтверска протечност Избегнување на разгранувања Одложено разгранување Предикатно извршување Претскажување и шпекулирање 4. Процесирање на претскажувањата Типови и техники за претскажување Таксономија на претскажувањата Шпекулативно извршување на иструкциите Концепти за процесирање на разгранувањето Претскажување на разгранувања Реализација на динамичко предвидување при разгранување Вредносно и мемориско претскажување Изведба на шпекулирање Флуиден модел на динамичкото поведение на ILP процесор 5. Мотивација за конкурентност во софтверот Платформи за паралелно пресметување Паралелно пресметување кај микропроцесорите Разлика помеѓу повеќејадрени архитектури и Hyper-Threading технологија 6. Разбирање на перформансите Amdahl-ов закон Закон на Gustafson Нишки на корисничко ниво Нишки на ниво на јадрото на оперативниот систем Хардверски нишки 7. Модели на програмирање Виртуелни околини Виртуелни машини и платформи Виртуелизација за време на извршувањето Системска виртуелизација 8. GPU како паралелни компјутери Архитектура на современ GPU Јазици и модели за паралелно програмирање Еволуција на графичките цевководи (pipelines) Програмабилна графика GPGPU GPU computing Идни трендови Резултати од учењето:

  1. Знаење од компјутерско инженерство: Примена на знаењето од математиката, науката, основите на компјутерското инженерство и новите области на компјутерското инженерство за решавање на сложени реални проблеми.
  2. Анализа на проблеми: Идентификување, формулирање, прегледување на истражувачката литература и анализирање на сложени компјутерски инженерски проблеми за да се дојде до потврдени заклучоци користејќи ги основните принципи на математиката, природните науки и компјутерските инженерски науки.
  3. Дизајн/развој на решенија: Дизајн на решенија за сложени компјутерски инженерски проблеми и дизајн компоненти или процеси на системот кои ги задоволуваат специфицираните потреби.
  4. Спроведување на испитувања на сложени проблеми: Користење знаење и методи на истражување, вклучувајќи дизајн на експерименти, анализа и интерпретација на податоците и синтеза на информации за да се обезбедат валидни заклучоци.
  5. Современа употреба на алатки: Креирање, избирање и применување на соодветни техники, ресурси и современи алатки за компјутерско инженерство и ИТ

Методи на настава

Теоретска настава, аудиториски вежби, лабораториски вежби, групно учество на студенти во изработка на проекти, самостојна изработка на проектни и самостојни задачи, одржување консултации.
Неделни часови 5 часови
Вкупен фонд 150 часови
Услови за потпис нема

Наставни активности

ШифраАктивностЧасови
16.1Предавања- теоретска настава. часови45
16.2Вежби (лабораториски, аудиториски), семинари, тимска работа: часови30
16.3Пракса: часови0

Други активности

ШифраАктивностЧасови
17.1Проектни задачи: часови15
17.2Самостојни задачи: часови10
17.3Домашно учење - задачи50

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

писмено

Компоненти на оценување

ШифраКомпонентаПоени
19.1Тестови: бодови10
19.2Семинарска работа/проект, презентација писмена и усна: бодови10
19.3Завршен испит: бодови80

Скала на оценување

Опсег на поениОцена
до 50 бода5 (пет) (F)
51 x до 60 бода6 (шест) (E)
61 x до 70 бода7 (седум) (D)
од 71 до 80 бода8 (осум) (C)
од 81 до 90 бода9 (девет) (B)
од 91 до 100 бода10 (десет) (A)
Евалуација и самоевалуација

Задолжителна литература

Ред.АвториНасловИздавачГодина
1Марјан ГушевПаралелизам на ниво на инструкцииПМФ – Скопје, Институт за Информатика2004
2Shameem Akhter, Jason RobertsMulti-Core Programming Increasing Performance through Software Multi-threadingIntel Press2006
3David B. Kirk, Wen-mei W. HwuProgramming Massively Parallel Processors: A Hands-on ApproachMorgan Kaufmann2010

Дополнителна литература

Ред.АвториНасловИздавачГодина
1Andrew S. Tanenbaum, Todd AustinStructured Computer Organization (6th Edition)Pearson, ISBN-10: 9332571244 ISBN-13: 978-93325712422016
2Jason Sanders and Edward KandrotCUDA by Example: An Introduction to General-Purpose GPU ProgrammingAddison-Wesley Professional2010