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

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

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

Bölümler ve birimler bazında ayrıntılı içerik

  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. Современа употреба на алатки: Креирање, избирање и применување на соодветни техники, ресурси и современи алатки за компјутерско инженерство и ИТ

Öğretim yöntemleri

Теоретска настава, аудиториски вежби, лабораториски вежби, групно учество на студенти во изработка на проекти, самостојна изработка на проектни и самостојни задачи, одржување консултации.
Haftalık temas saati 5 saat
Toplam iş yükü 150 saat
İmza koşulları нема

Öğretim etkinlikleri

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

Diğer etkinlikler

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

Değerlendirme yöntemi

писмено

Değerlendirme bileşenleri

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

Notlandırma ölçeği

Puan aralığıNot
до 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)
Евалуација и самоевалуација

Zorunlu literatür

No.YazarlarBaşlıkYayıncıYıl
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