
- •Назвіть основні етапи розвитку паралельної обробки.
- •Що було передумовою розвитку паралелізму в програмному забезпеченні?
- •Назвіть важливі причини використання паралелізму в програмному забезпеченні.
- •Які етапи можна виділити в процесі розв’язання будь-якої задачі на паралельному комп’ютері?
- •У яких галузях виникають надскладні обчислювальні завдання?
- •Назвіть способи підвищення продуктивності комп’ютерів.
- •З якими проблемами можна зіштовхнутися під час використання багатопроцесорних систем?
- •Визначте характеристики доступних вам багатопроцесорних машин.
- •Скільки процесорів на вашій машині, і які їх робочі частоти?
- •Наскільки великий розмір кеш-пам’яті багатопроцесорних машин, як вона організована? Який час доступу?
- •Як організовано сполучну мережу?
- •Який час віддаленого доступу до пам’яті або передачі повідомлення?
- •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. Выведите на экран текстовую строку с помощью разных потоков.
16. Розгляньте додаткові способи класифікації комп'ютерних систем.
Для достижения параллелизма в программном обеспечении аппаратные средства должны обеспечивать платформу, которая поддерживает одновременное выполнение большого количества потоков.
Архитектуры вычислительных систем могут быть классифицированы по двум параметрам: по количеству потоков команд и по количеству потоков данных.
Классификация Флинна:
ОКОД — Вычислительная система с одиночным потоком команд и одиночным потоком данных
(SISD, Single Instruction stream over a Single Data stream).
ОКМД — Вычислительная система с одиночным потоком команд и множественным потоком данных
(SIMD, Single Instruction, Multiple Data).
МКОД — Вычислительная система со множественным потоком команд и одиночным потоком данных
(MISD, Multiple Instruction Single Data).
МКМД — Вычислительная система со множественным потоком команд и множественным потоком данных
(MIMD, Multiple Instruction Multiple Data).
Типичными представителями SIMD являются векторные архитектуры. К классу MISD ряд исследователей относит конвейерные ЭВМ, однако это не нашло окончательного признания, поэтому можно считать, что реальных систем — представителей данного класса не существует. Класс MIMD включает в себя многопроцессорные системы, где процессоры обрабатывают множественные потоки данных.
Отношение конкретных машин к конкретному классу сильно зависит от точки зрения исследователя. Так, конвейерные машины могут быть отнесены и к классу SISD (конвейер — единый процессор), и к классу SIMD (векторный поток данных с конвейерным процессором) и к классу MISD (множество процессоров конвейера обрабатывают один поток данных последовательно), и к классу MIMD — как выполнение последовательности различных команд (операций ступеней конвейера) на множественным скалярным потоком данных (вектором).
17. Які параметри архітектури паралельного комп'ютера має зайняти користувач для створення ефективних програм? Запропонуйте класифікацію комп'ютерів, спираючись на зазначені параметри.
Для достижения параллелизма в программном обеспечении аппаратные средства должны предусматривать платформу, которая должна поддерживать одновременное выполнение количества потоков.
Архитектуры вычислительной системы могут быть классифицированы двумя разыми параметрами: количеством потоков команд, которую моет выполнить специфическая архитектура компьютера за единицу времени, и количество потоков данных, которую может быть обработана за единицу времени
В идеале решение задачи на n процессорах должно выполняться в n раз быстрее, нежели на одном процессоре, и/или должно позволить решить задачу в n раз быстрее.
18. Назвіть сервіси базової Grid-системи.
Распределенная вычислительная среда должна обладать набором сервисов, обеспечивающих контролируемое выполнение прикладных программ авторизованных пользователей. Специфика сервисов GRID определяется, прежде всего, характером самой вычислительной среды: GRID представляет собой динамическое образование. С течением времени могут быть изменены как количество объединенных вычислительных узлов (например, за счет нештатного сбоя или планового выключения), так и их качественные характеристики (изменение вычислительной нагрузки одного узла).
Для нормального функционирования распределенной системы необходимо обеспечить:
- идентификацию выполняемой программы
Для обеспечения контроля выполнения прикладной программы она должна быть снабжена уникальным номером (идентификатором). Присвоение такого идентификатора и контроль его уникальности должны выполнятся специальным сервисом GRID;
- авторизацию пользователя
В GRID задача авторизации пользователя представляет собой сложную проблему. Сервис авторизации пользователя должен обеспечить уникальность идентификатора пользователя на всех вычислительных узлах, образующих распределенную среду, а также определять относительный приоритет пользователя, необходимый для нормальной работы службы распределения вычислительных ресурсов между прикладными программами;
- поиск ресурсов
Результаты работы этого сервиса определяют размеры доступного в настоящий момент времени вычислительного ресурса, и могут быть использованы для контроля текущего состояния системы;
- описание ресурсов
Сервис осуществляет единое описание разнородных ресурсов, находящихся в текущий момент времени в составе GRID;
- резервирование ресурсов
Данный сервис должен обеспечить «захват» свободных ресурсов для размещения на нем прикладной программы. Его работа тесно связана с работой сервиса поиска ресурсов и сервиса описания ресурсов;
- выполнение распределённых алгоритмов.
Этот сервис обеспечивает выполнение параллельных программ.
- доступ к удалённым данным.
Сервис обеспечивает работу распределенных баз данных
- распределение ресурсов.
Менеджер ресурсов осуществляет разделение существующего ресурса между прикладными программами;
- обнаружение неполадок
Сервис определяет работоспособность включенных в вычислительный процесс узлов. Как только «вычислительное поле» одной из прикладных программ оказалось разрушенным, данный сервис сообщает об этом менеджеру ресурсов и менеджеру управления заданиями.
Количество и характер сервисов, обеспечивающих работу GRID, может изменяться в зависимости от назначения данной вычислительной среды.