Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
піро.doc
Скачиваний:
29
Добавлен:
05.03.2016
Размер:
646.66 Кб
Скачать

10.Навести переваги використання багатоядерних процесорних систем у порівнянні з багатопроцесорними системами.

В порівнянні з традиційними однопроцесорними чіпами багатоядерні процесори забезпечують значно велику обчислювальну потужність завдяки паралельній обробці, роблять систему компактніше, а також працюють на менших тактових частотах, що знижує тепловиділення і енергоспоживання системи.

Ефективне використання багатоядерної технології значно підвищить продуктивність і масштабованість мережевого устаткування, систем управління, відеоігрових платформ і різних інших вбудовуваних додатків.

Як приклад розглянемо завдання управління загальнодоступними ресурсами в багатоядерному чіпі. Як правило, ядра мають роздільну кеш-пам'ять першого рівня, але спільно використовують кеш-пам'ять другого рівня, підсистеми управління пам'яттю і перериваннями, а також периферійні пристрої. Це означає, що системотехніка повинна забезпечити кожному ядру винятковий доступ до певних ресурсів і гарантувати, що додатки, які працюють на одному ядрі, не мають доступу до ресурсів, які виділені іншому ядру.

Наявність декількох ядер також ускладнює архітектуру системи.

Існує три основні типи багатопроцесорної обробки:

асиметрична багатопроцесорність — на кожному процесорному ядрі працює окрема ОС або окремі копії однієї і тієї ж ОС;

симетрична багатопроцесорність — всі процесорні ядра одночасно управляються єдиною копією ОС, а додатки можуть переміщатися між ядрами;

виняткова багатопроцесорність — всі процесорні ядра одночасно управляються єдиною копією ОС, але кожен додаток прив'язаний до конкретного ядра.

Темпи зменшення латентності пам'яті набагато нижчі за темпи прискорення процесорів + прогрес в технології виготовлення кристалів => CMT (Chip MultiThreading)

Випереджаюче зростання споживання енергії при зростанні тактової частоти + прогрес в технології виготовлення кристалів => CMP (Chip MultiProcessing, багатоядерність)

І те і інше вимагає глибшого розпаралелювання для ефективного використання

11. Навести переваги використання спеціалізованих графічних процесорів (gpu) у порівнянні з центральними процесорами (cpu) комп'ютерних систем для високопродуктивних обчислень.

GPU призначені для виконання інтенсивних розрахунків. Завдання з інтенсивним зверненням до пам'яті або складною логікою виконуватимуться неефективно, оскільки GPU володіє слабкими засобами кешування звернення до пам'яті (до того ж їх потрібно настроювати вручну) і "не переносить" розгалужень в програмі, особливо якщо потоки одного блоку розходяться по різних вітках.

Модель CUDA припускає, що програміст на початку розбиває завдання на незалежні частини (блоки), які можуть виконуватися паралельно. Потім кожен блок розбивається на безліч потоків (thread), що паралельно виконуються, які можуть залежати один від одного. CUDA забезпечує засоби розширення мови C для паралельного запуску безлічі потоків, що виконують одну і ту ж функцію (ядро, kernel).. Потоки об'єднуються в блоки, блоки об'єднуються в сітки. Потоки усередині блоку запускаються на одному мультипроцесорі (MP), мають загальну пам'ять, що розділяється, і можуть синхронізувати хід виконання завдання. Кожен потік має унікальний ідентифікатор усередині блоку, що виражається за допомогою одновимірного, двовимірного або тривимірного індексу.