
- •Назвіть основні етапи розвитку паралельної обробки.
- •Що було передумовою розвитку паралелізму в програмному забезпеченні?
- •Назвіть важливі причини використання паралелізму в програмному забезпеченні.
- •Які етапи можна виділити в процесі розв’язання будь-якої задачі на паралельному комп’ютері?
- •У яких галузях виникають надскладні обчислювальні завдання?
- •Назвіть способи підвищення продуктивності комп’ютерів.
- •З якими проблемами можна зіштовхнутися під час використання багатопроцесорних систем?
- •Визначте характеристики доступних вам багатопроцесорних машин.
- •Скільки процесорів на вашій машині, і які їх робочі частоти?
- •Наскільки великий розмір кеш-пам’яті багатопроцесорних машин, як вона організована? Який час доступу?
- •Як організовано сполучну мережу?
- •Який час віддаленого доступу до пам’яті або передачі повідомлення?
- •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. Выведите на экран текстовую строку с помощью разных потоков.
У чому полягають основні способи досягнення паралелізму?
В общем плане под параллельными вычислениями понимаются процессы обработки данных, в которых одновременно могут выполняться несколько операций компьютерной системы. Достижение параллелизма возможно только при выполнении следующих требований к архитектурным принципам построения вычислительной среды:
независимость функционирования отдельных устройств ЭВМ – данное требование относится в равной степени ко всем основным компонентам вычислительной системы: к устройствам ввода-вывода, обрабатывающим процессорам и устройствам памяти;
избыточность элементов вычислительной системы – организация избыточности может осуществляться в следующих основных формах:
- использование специализированных устройств, таких, например, как отдельные процессоры для целочисленной и вещественной арифметики, устройства многоуровневой памяти (регистры, кэш);
- дублирование устройств ЭВМ путем использования, например, нескольких однотипных обрабатывающих процессоров или нескольких устройств оперативной памяти.
Дополнительной формой обеспечения параллелизма может служить конвейерная реализация обрабатывающих устройств, при которой выполнение операций в устройствах представляется в виде исполнения последовательности составляющих операцию подкоманд. Как результат, при вычислениях на таких устройствах на разных стадиях обработки могут находиться одновременно несколько различных элементов данных.
При рассмотрении проблемы организации параллельных вычислений следует различать следующие возможные режимы выполнения независимых частей программы:
многозадачный режим (режим разделения времени), при котором для выполнения нескольких процессов используется единственный процессор. Данный режим является псевдопараллельным, когда активным (исполняемым) может быть один, единственный процесс, а все остальные процессы находятся в состоянии ожидания своей очереди; применение режима разделения времени может повысить эффективность организации вычислений (например, если один из процессов не может выполняться из-за ожидания вводимых данных, процессор может быть задействован для выполнения другого, готового к исполнению процесса – см. [73]). Кроме того, в данном режиме проявляются многие эффекты параллельных вычислений (необходимость взаимоисключения и синхронизации процессов и др.), и, как результат, этот режим может быть использован при начальной подготовке параллельных программ;
параллельное выполнение, когда в один и тот же момент может выполняться несколько команд обработки данных. Такой режим вычислений может быть обеспечен не только при наличии нескольких процессоров, но и при помощи конвейерных и векторных обрабатывающих устройств;
распределенные вычисления; данный термин обычно применяют для указания параллельной обработки данных, при которой используется несколько обрабатывающих устройств, достаточно удаленных друг от друга, в которых передача данных по линиям связи приводит к существенным временным задержкам. Как результат, эффективная обработка данных при таком способе организации вычислений возможна только для параллельных алгоритмов с низкой интенсивностью потоков межпроцессорных передач данных. Перечисленные условия являются характерными, например, при организации вычислений в многомашинных вычислительных комплексах, образуемых объединением нескольких отдельных ЭВМ с помощью каналов связи локальных или глобальных информационных сетей.