
- •Назвіть основні етапи розвитку паралельної обробки.
- •Що було передумовою розвитку паралелізму в програмному забезпеченні?
- •Назвіть важливі причини використання паралелізму в програмному забезпеченні.
- •Які етапи можна виділити в процесі розв’язання будь-якої задачі на паралельному комп’ютері?
- •У яких галузях виникають надскладні обчислювальні завдання?
- •Назвіть способи підвищення продуктивності комп’ютерів.
- •З якими проблемами можна зіштовхнутися під час використання багатопроцесорних систем?
- •Визначте характеристики доступних вам багатопроцесорних машин.
- •Скільки процесорів на вашій машині, і які їх робочі частоти?
- •Наскільки великий розмір кеш-пам’яті багатопроцесорних машин, як вона організована? Який час доступу?
- •Як організовано сполучну мережу?
- •Який час віддаленого доступу до пам’яті або передачі повідомлення?
- •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. Выведите на экран текстовую строку с помощью разных потоков.
Какие протоколы используются для обмена сообщениями между процессами?
Используются два протокола: Eager и Rendezvous.
Eager. При посылке данных MPI вместе с адресом буфера должен включить информацию пользователя о тэге, коммуникаторе, длине, источнике и получателе сообщения. Эту дополнительную информацию называют оболочкой (envelope). Посылаемое сообщение состоит из оболочки, которая следует за данными. Метод посылки данных вместе с оболочкой называется eager («жадным») протоколом.
Rendezvous. Чтобы решить проблему доставки большого объема данных по назначению, нужно контролировать, как много и когда эти данные прибывают на процесс-получатель. Одно простое решение состоит в том, чтобы послать процессу-получателю только оболочку.
Когда процесс-получатель потребует данные (и имеет место для их размещения), он посылает отправителю сообщение, в котором говорится: “теперь посылай данные”. Отправитель затем пошлет данные, будучи уверен, что они будут приняты. Этот метод называется протоколом “рандеву”. В этом случае получатель должен отводить память только для хранения оболочек, имеющих очень небольшой размер, а не для хранения самих данных.
Какое назначение библиотеки mpe?
Библиотека MPE (Multi-Processing Environment) содержит процедуры, которые находятся “под рукой” и облегчают написание, отладку и оценку эффективности MPI–программ. MPE–процедуры делятся на несколько категорий
Параллельная графика (Parallel X graphics). Эти процедуры обеспечивают доступ всем процессам к разделяемому Х–дисплею. Они создают удобный вывод для параллельных программ, позволяют чертить текст, прямоугольники, круги, линии и так далее.
Регистрация (Logging). Одним из наиболее распространенных средств для анализа характеристик параллельных программ является файл трассы отмеченных во времени событий – логфайл (logfile).
Библиотека MPE создает возможность легко получить такой файл в каждом процессе и собрать их вместе по окончанию работы. Она также автоматически обрабатывает рассогласование и дрейф часов на множественных процессорах, если система не обеспечивает синхронизацию часов. Это библиотека для пользователя, который желает создать свои собственные события и программные состояния.
Последовательные секции (Sequential Sections). Иногда секция кода, которая выполняется на ряде процессов, должна быть выполнена только по одному процессу за раз в порядке номеров этих процессов. MPE имеет функции для такой работы.
Обработка ошибок (Error Handling). MPI имеет механизм, который позволяет пользователю управлять реакцией реализации на ошибки времени исполнения, включая возможность создать свой собственный обработчик ошибок.
Какие основные функции mpe?
Чтобы создать файл регистрации, необходимо вызвать процедуру MPE_Log_event. Кроме того, каждый процесс должен вызвать процедуру MPE_Init_log, чтобы приготовиться к регистрации, и MPE_Finish_log, чтобы объединить файлы, сохраняемые локально при каждом процессе в единый логфайл. MPE_Stop_log используется, чтобы приостановить регистрацию, хотя таймер продолжает работать. MPE_Start_log возобновляет регистрацию. Состояние определяется процедурой MPE_Describe_state, которая описывает начало и окончание типов событий. Процедура MPE_Describe_state также добавляет название состояния и его цвет на графическом представлении. Соответствующая процедура MPE_Describe_event обеспечивает описание события каждого типа. MPE_Log_event хранит небольшое количество информации в быстрой памяти. Во время выполнения MPE_Log_event эти буфера объединяются параллельно и конечный буфер, отсортированный по временным меткам, записывается процессом 0.