
- •Назвіть основні етапи розвитку паралельної обробки.
- •Що було передумовою розвитку паралелізму в програмному забезпеченні?
- •Назвіть важливі причини використання паралелізму в програмному забезпеченні.
- •Які етапи можна виділити в процесі розв’язання будь-якої задачі на паралельному комп’ютері?
- •У яких галузях виникають надскладні обчислювальні завдання?
- •Назвіть способи підвищення продуктивності комп’ютерів.
- •З якими проблемами можна зіштовхнутися під час використання багатопроцесорних систем?
- •Визначте характеристики доступних вам багатопроцесорних машин.
- •Скільки процесорів на вашій машині, і які їх робочі частоти?
- •Наскільки великий розмір кеш-пам’яті багатопроцесорних машин, як вона організована? Який час доступу?
- •Як організовано сполучну мережу?
- •Який час віддаленого доступу до пам’яті або передачі повідомлення?
- •13. Дослідіть будь-який комп’ютер. Які в нього центральній процесор, пам'ять, операційна система, форма представлення чисел?
- •Як формується закон Амдаля? Який аспект паралельних обчислень дозволяє врахувати цей закон?
- •У чому можуть полягати відмінності паралельних обчислювальних систем?
- •3.Що покладено в основу класифікації Фліна?
- •У чому полягає принцип розподілу багатопроцесорних систем на мультипроцесорні й мультикомп’ютери. ?
- •Які класи систем вам відомі для мультипроцесорів?
- •У чому полягають позитивні і негативні сторони симетричних мультипроцесори.
- •Класи систем що вам відомо для мультикомп’ютерів?
- •У чому полягаю позитивні і негативні сторони кластерних систем?
- •Які топології мереж передачі даних найчастіше використовується?
- •10, У чому полягають особливості мереж передачі даних для кластерів?
- •16. Розгляньте додаткові способи класифікації комп'ютерних систем.
- •18. Назвіть сервіси базової Grid-системи.
- •У чому полягають основні способи досягнення паралелізму?
- •2. Назвіть основні форми декомпозиції.
- •3. Что означают термины: декомпозиция задачи, декомпозиция данных, декомпозиция потоков?
- •4 Поясніть значення різних декомпозицій.
- •5 До чого призведе керування одночасними діями та їх можливою взаємодією?
- •6 Назвіть паралельні шаблони програмування й зробіть стислий огляд типів проблем, до яких може бути застосований кожний зразок.
- •7 Що являє собою розсіювання помилки? з яких кроків складається дифузний алгоритм?
- •8. Опишіть найдоцільніший підхід для паралельної реалізації дифузного алгоритму. На чому ґрунтується ефективний розподіл роботи серед потоків
- •9.Назвіть різновиди паралельної обробки
- •10. До чого зводиться задача розпаралелювання програми?
- •Як визначається модель «операції - операнди»?
- •Як визначається розклад для розподілу обчисленнь між процесорами?
- •Як визначається час виконання паралельного алгоритму
- •4. Який розклад є оптимальним?
- •6. Які оцінки слід використовувати як характеристику часу послідовного розвязання задачі?
- •7. Як визначити мінімально можливий час паралельного розв’язання задачі за графом «Операнди-операції»
- •8. Які залежності можуть бути отримані для часу паралельного розв’язання задачі у разі збільшення або зменшення кількості процесорів?
- •9. За якої кількості процесорів можуть бути отримані часи використання паралельного алгоритму зіставні за порядком з оцінками мінімально можливого часу розв’язання задачі?
- •10. Як визначається поняття прискорення та ефективності?
- •11. У чому полягае суперечнисть показникив прискорення и ефективности?
- •12. Який алгоритм е маштабованим? Наведить приклади методив з ризным ривнем маштабованости.
- •14. Якими е основни етапи проектування и розробки методив паралельних обчислень?
- •15. Яки основни вимоги моють бути забезпечени пид час розробки паралельних алгоритмив?
- •Якими є основні дії на етапі визначення інформаційних залежностей?
- •У чому полягають основні дії на етапі масштабування наявного набору підзадач?
- •У чому полягають основні дії на етапі розподілу підзадач за процесорами обчислювальної системи?
- •У чому полягає проблема розпаралелювання послідовного алгоритму підсумовування числових значень?
- •У чому полягає каскадна схема підсумовування? з якою метою розглядається модифікований варіант цієї схеми?
- •У чому полягає відмінність показників прискорення й ефективності для розглядуваних варіантів каскадної схеми підсумовування?
- •У чому полягає паралельний алгоритм обчислення всіх окремих сум послідовності числових значень?
- •Розробіть модель і виконайте оцінку показників прискорення й ефективності паралельних обчислень:
- •Наведіть характеристики топології мережі передачі даних
- •Назвіть загальну характеристику механізмів передачі даних
- •3 Характеристика передачи данных от одного процессора всем другим.
- •4Характеристики топологий коммуникационной среды
- •5Циклический сдвиг.
- •7Топология двоичного дерева.
- •8Классы эффективно реализуемых задач для топологий сети
- •9 Эффективность коммуникационных систем при циклическом сдвиге и кольцевой передаче.
- •1Концепция Linda
- •2 Барьерная синхронизация в Linda
- •3 Сильный и слабые стороны Linda
- •4 Пример перемножения матриц на Linda
- •5 Функциональные возможности pvm
- •6. Какие технологии программирования поддерживает pvm?
- •7. Базовые механизмы pvm?
- •8. Как осуществляется обмен сообщениями в системе pvm?
- •9. Требования к pvm программам
- •13. Модель dvm
- •15. Мобильность dvm-программ
- •14. Основные конструкции dvm
- •16. Модели программирования и параллелизма dvm
- •17. Возможности повышения эффективности dvm-программ
- •18. В чем заключается стандарт corba?
- •19. Из каких базовых компонентов состоит corba-спецификация?
- •20. Каким образом можно создать простую распределенную программу?
- •Как реализовано mpi?
- •Какие протоколы используются для обмена сообщениями между процессами?
- •Какое назначение библиотеки mpe?
- •Какие основные функции mpe?
- •5. Какая методика оценки эффективности вычислений?
- •6. Как создается файл регистрации?
- •7. Какие процедуры выполняются во время создания лог-файлов?
- •8. Какие способы анализа лог-файлов вы знаете?
- •9. Какая разница между форматами лог-файлов alog, clog slog?
- •10. Какой минимальный набор средств является достаточным для организации параллельных вычислений в системах с разделенной памятью?
- •11. В чем важность стандартизации средств передачи сообщений?
- •12. Что следует понимать под параллельной программой?
- •13. Какой минимальный набор функций mpi позволяет начать разработку параллельных программ?
- •17 У чому відмінність парних і колективних операцій передачі даних?
- •18 У яких ситуаціях слід застосовувати бар’єрну синхронізацію ?
- •19 Які режими передачі даних підтримуються у mpi?
- •20 Як організується неблокуючий обмін даними у mpi ?
- •21 Які колективні операції передачі даних передбачено у mpi ?
- •22 У яких ситуаціях може бути корисною упакування й розпакування даних ?
- •23 Що розуміють у mpi під комунікатором ?
- •24 Для чого може потребуватися створення нових комунікаторів ?
- •25 Що розуміють у mpi під віртуальною топологією ?
- •26 Які види топологій передбачено в mpi ?
- •27 Для чого може виявитися корисним використанням віртуальних топологій ?
- •2Какие библиотеки использует OpenMp? Их назначение.
- •3.Структура предложения с использованием распараллеливая.
- •4. Что такое раздел?
- •3. Какие циклы можно распараллелить и почему?
- •7. Для чего используется раздел reduction?
- •8. Как и для чего применяется синхронизация потоков?
- •10. Назовите основные ошибки при создании параллельной программы.
- •9.Дайте характеристику анализатора Intel vTune Performance analyzer.
- •11. Выведите на экран текстовую строку с помощью разных потоков.
У чому полягає проблема розпаралелювання послідовного алгоритму підсумовування числових значень?
Традиційний алгоритм для розв’язання задачі підсумовування полягає в послідовному підсумовуванні елементів числового набору
Обчислювальна схема цього алгоритму може бути подана таким чином:
Цей алгоритм допускає тільки строго послідовне виконання і не може бути розпаралеленим. Паралелізм алгоритму стає можливим тільки при іншому способі побудови процесу обчислень. У даному випадку можна використати асоціативність операції додавання. Новий варіант підсумовування полягає у наступному:
На першій ітерації схеми всі вихідні дані розбиваються на пари, і для кожної пари обчислюється сума значень
Далі всі отримані суми пар також розбиваються на пари, і знову виконується підсумовування значень пар
У чому полягає каскадна схема підсумовування? з якою метою розглядається модифікований варіант цієї схеми?
Каскадная схема суммирования состоит в следующем:
на первой итерации каскадной схемы все исходные данные разбиваются на пары, и для каждой пары вычисляется сумма их значений;
далее все полученные суммы также разбиваются на пары, и снова выполняется суммирование значений пар и т.д.
Количество итераций каскадной
схемы оказывается равным величине
,
а общее количество операций суммирования
совпадает с количеством операций
последовательного варианта алгоритма
суммирования. При параллельном исполнении
отдельных итераций каскадной схемы
общее количество параллельных операций
суммирования является равным
Поскольку считается, что
время выполнения любых вычислительных
операций является одинаковым и единичным,
то
,
,
поэтому показатели ускорения и
эффективности каскадной схемы алгоритма
суммирования можно оценить как:
Sp=T1/Tp=(n–1)/log2n,
Ep=T1/pTp=(n–1)/(plog2n)=(n–1)/((n/2)log2n),
где p=n/2 есть необходимое для выполнения каскадной схемы количество процессоров.
Получение асимптотически
ненулевой эффективности может быть
обеспечено, например, при использовании
модифицированной каскадной схемы. Для
упрощения построения оценок можно
предположить
,
.
Тогда в новом варианте каскадной схемы
все вычисления производятся в два
последовательно выполняемых этапа
суммирования:
на первом этапе вычислений все суммируемые значения подразделяются на (n/log2n) групп, в каждой из которых содержится log2n элементов; далее для каждой группы вычисляется сумма значений при помощи последовательного алгоритма суммирования; вычисления в каждой группе могут выполняться независимо друг от друга (т.е. параллельно – для этого необходимо наличие не менее (n/log2n) процессоров);
на втором этапе для полученных (n/log2n) сумм отдельных групп применяется обычная каскадная схема
Тогда для выполнения первого этапа требуется log2n параллельных операций при использовании p1=(n/log2n) процессоров. Для выполнения второго этапа не обходимо log2(n/log2n)log2n параллельных операций для p2=(n/log2n)/2 процессоров. Как результат, данный способ суммирования характеризуется следующими показателями:
Tp=2log2n, p=(n/log2n).
С учетом полученных оценок показатели ускорения и эффективности модифицированной каскадной схемы определяются соотношениями:
Sp=T1/Tp=(n–1)/2log2n,
Ep=T1/pTp=(n–1)/(2(n/log2n)log2n)=(n–1)/2n.