
- •Назвіть основні етапи розвитку паралельної обробки.
- •Що було передумовою розвитку паралелізму в програмному забезпеченні?
- •Назвіть важливі причини використання паралелізму в програмному забезпеченні.
- •Які етапи можна виділити в процесі розв’язання будь-якої задачі на паралельному комп’ютері?
- •У яких галузях виникають надскладні обчислювальні завдання?
- •Назвіть способи підвищення продуктивності комп’ютерів.
- •З якими проблемами можна зіштовхнутися під час використання багатопроцесорних систем?
- •Визначте характеристики доступних вам багатопроцесорних машин.
- •Скільки процесорів на вашій машині, і які їх робочі частоти?
- •Наскільки великий розмір кеш-пам’яті багатопроцесорних машин, як вона організована? Який час доступу?
- •Як організовано сполучну мережу?
- •Який час віддаленого доступу до пам’яті або передачі повідомлення?
- •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. Выведите на экран текстовую строку с помощью разных потоков.
5 До чого призведе керування одночасними діями та їх можливою взаємодією?
Використання потоків дає можливість значно збільшити продуктивність, дозволяючи двом або більшій кількості дій виконуватися одночасно. Ці потоки потребують уважного розгляду. Керування одночасними діями та їх можливою взаємодією приводить до необхідності розв'язання таких проблем:
Синхронізація (належить до координації дій двох або більше потоків. Наприклад, один потік чекає завершення іншого потоку перед продовженням якихось дій).
Комунікація (належить до пропускної вдатності й проблем часу очікування, які пов'язані а обміном даних між потоками).
Балансування завантаження (належить до розподілу роботе між потоками таким чином, щоб вони всі виконували приблизно однакові обсягом роботи).
6 Назвіть паралельні шаблони програмування й зробіть стислий огляд типів проблем, до яких може бути застосований кожний зразок.
• Шаблон •Паралелізм рівня задачі. Цей шаблон є максимально ефективним. У ньому проблема розчленована на кілька задач, які працюють незалежно. Часто необхідно видалити залежності між задачами або розділити ці залежності, використовуючи дублювання. Проблеми, що вписуються в шаблон* включають так звані важкі паралельні проблеми (немає жодних залежностей між потоками) і проблеми повторюваних даних (залежності між потоками можуть бути видалені з Індивідуальних потоків), •
Шаблон «Розділяй і пануй». У цьому шаблоні проблему розподілено на багато паралельних під проб лем, кожна а яких розв'язується незалежно. Тільки-но всі вони будуть розв'язані, результати об'єднаються. Шаблон «Розділяй і пануй» широко використовується на послідовних алгоритмах типу сортування з об'єднанням, що є досип простими для розпаралелювання. Шаблон виконує відповідальну роботу з балансування завантаження, що важливо для ефективного використання кеша.
• Шаблон «Геометрична декомпозиція». У геометричній схемі розкладення ґрунтується на паралелізмі структур даних. У цій декомпозиції колена нитка відповідає за виконання по даних «ділянки пам'яті». Ця схема може застосовуватися до проблем теплового потоку й поширення хвиль.
• Конвеєр. Ідея конвеєрної обробки ідентична збиральному конвеєру. Стратегія полягає в розбитті всього процесу розв'язання задачі на кілька стадій, які виконуються різними потоками одночасно.
• Хвильова обробка даних корисна під час обробки елементів уздовж діагоналі в двовимірній мережі (рис. 3.1).
Цифри на рис. 3.1 показують черговість обробки даних. Наприклад, елементи діагоналі, що містить номер «З», залежать від елементів даних «1» і «2», оброблених раніше. Затемнена частина даних на рис. 3.1 показує дай, які вже було оброблено. У цій схемі важливо звести
7 Що являє собою розсіювання помилки? з яких кроків складається дифузний алгоритм?
Зробіть його стислий аналіз
Дифузний алгоритм (алгоритм розсіювання помилки)
Використовується у багатьох програмах комп»ютерної графіки і обробки зображень. Запропонований у 1975 р. Флойдом і Штейнбергом. Мав на меті відображення зображень із безперервним спектром тонів на пристроях з їх обмеженим діапазоном.
Кроки алгоритму
Оцінка вхідного значення поточного пікселя для визначення вихідного значення. Тут застосовують квантування або граничне значення у двійковому випадку (наприклад для 8біт - 2біт: [0..127] – вихідне значення 0,[128..255] – вихідне значення 1).
Обчислення помилки між фактичним зображенням і тим, що повинно бути відображено на пристрої. Припустимо що поточне вхідне значення пікселя – 172. оскільки 172 більше 128, то на виході буде 1. це значення зберігається у вихідному массиві. Тоді для обчислення помилки вихідні значення нормалізуються у шкалі вхідних значень. тобто пік сель виведення зі значенням 0 після нормалізації отримає значення 0, а 1 – 255. І помилка буде дорівнювати різниці між реальним значенням і тим, що буде виведене. В даному випадку помилка буде дорівнювати 255 - 172 = -83
помилкове значення розподіляється в частках сусіднім пікселям регіону
під час обробки поточного пікселя сусіднім пік селям додаються помилкові ваги флойда – штейнберга. мал. вище – для незатемненоо пікселя. усі дифузні алгоритми використовують цей загальноприйнятний метод, хоча можна використовувати й інші схеми. Відповідно до методу розсіювання помилки обробляються і всі інші пік селі зображення