Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРО(теорія).doc
Скачиваний:
3
Добавлен:
20.09.2019
Размер:
461.31 Кб
Скачать

Екзаменаційний білет№1

1Класифікація та архітектура паралельних систем.

Класифікація Фліна

Одну з перших практично значимих класифікацій паралельних комп'ютерних систем подав у 1966 році співробітник фірми ІВМ Майкл Флін, який зараз є професором Стенфордського університету (США). Його класифікація базується на оцінці потоку інформації, яка поділена иа потік даних між основною пам'яттю та процесором, та потік команд, які виконує процесор. При цьому потік даних та команд може бути як одиничним, так і множинним. Згідно з М. Фліном, усі комп'ютерні системи поділяють так:

ОКОД - комп'ютерні системи з одиничним потоком команд та одиничним потоком даних (SISD - Single Instruction Single Data stream).

МКОД - комп'ютерні системи з множинним потоком команд та одиничним потоком даних (MISD - Multiply Instruction Single Data stream).

ОКМД - комп'ютерні системи з одиничним потоком команд та множинним потоком даних (SIMD - Single Instruction Multiply Data stream).

МКМД - комп'ютерні системи з множинним потоком команд та множинним потоком даних (МIMD - Multiply Instruction Multiply Data stream).

  1. MPI. Поняття паралельної програми.

Понятие параллельной программы

Под параллельной программой в рамках MPI понимается множество одновременно выполняемыхпроцессов. Процессы могут выполняться на разных процессорах, но на одном процессоре могутрасполагаться и несколько процессов (в этом случае их исполнение осуществляется в режиме разделениявремени). В предельном случае для выполнения параллельной программы может использоваться одинпроцессор – как правило, такой способ применяется для начальной проверки правильности параллельнойпрограммы.

Каждый процесс параллельной программы порождается на основе копии одного и того жепрограммного кода (модель SPMP). Данный программный код, представленный в виде исполняемойпрограммы, должен быть доступен в момент запуска параллельной программы на всех используемыхпроцессорах. Исходный программный код для исполняемой программы разрабатывается наалгоритмических языках C или Fortran с использованием той или иной реализации библиотеки MPI.Количество процессов и число используемых процессоров определяется в момент запуска параллельнойпрограммы средствами среды исполнения MPI-программ и в ходе вычислений меняться не может (встандарте MPI-2 предусматривается возможность динамического изменения количества процессов). Все

процессы программы последовательно перенумерованы от 0 до p-1, где p есть общее количество процессов.Номер процесса именуется рангом процесса.

Екзаменаційний білет№2

  1. Комп’ютерні системи та паралельна обробка інформації.

Див. Питання 1 №1

Паралельні обчислення — це форма обчислень, в яких кілька дій проводяться одночасно[1]. Грунтуються на тому, що великі задачі можна розділити на кілька менших, кожну з яких можна розв'язати незалежно від інших. Є кілька різних рівнів паралельних обчислень: бітовий, інструкцій, даних та паралелізм задач. Паралельні обчислення застосовуються вже протягом багатьох років, в основному в високопродуктивних обчисленнях, але зацікавлення ним зросло тільки недавно, через фізичні обмеження зростання частоти.[2]. Оскільки споживана потужність (і відповідно виділення тепла) комп'ютерами стало проблемою в останні роки, [3] паралельне програмування стає домінуючою парадигмою в комп'ютерній архітектурі, основному в формі багатоядерних процесорів.[4]

Паралельні комп'ютери можуть бути грубо класифіковані згідно рівня, на якому апаратне забезпечення підтримує паралелізм: багатоядерність, багатопроцесорність — комп'ютери, що мають багато обчислювальних елементів в межах одної машини, а також кластери, MPP, та ґрід — системи що використовують багато комп'ютерів для роботи над одним завданням. Спеціалізовані паралельні архітектури іноді використовуються поряд з традиційними процесорами, для прискорення особливих задач.

Програми для паралельних комп'ютерів писати значно складніше, ніж для послідовних[5], бо паралелізм додає кілька нових класів потенційних помилок, серед яких є найпоширеніною стан гонитви. Комунікація, та синхронізація процесів за

  1. MPI. Операції передачі даних.

4.1.2. Операции передачи данных

Основу MPI составляют операции передачи сообщений. Среди предусмотренных в составе MPI

функций различаются парные (point-to-point) операции между двумя процессами и коллективные (collective)

коммуникационные действия для одновременного взаимодействия нескольких процессов.

Для выполнения парных операций могут использоваться разные режимы передачи, среди которых

синхронный, блокирующий и др. – полное рассмотрение возможных режимов передачи будет выполнено в

подразделе 4.3.

Как уже отмечалось ранее, стандарт MPI предусматривает необходимость реализации большинства

основных коллективных операций передачи данных – см. подразделы 4.2 и 4.4.

ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ№3

  1. Класифікація КС.

Див. Питання 1 білета №1

  1. MPI. Поняття комунікаторів.

4.1.3. Понятие коммуникаторов

Процессы параллельной программы объединяются в группы. Под коммуникатором в MPI понимается

специально создаваемый служебный объект, объединяющий в своем составе группу процессов и ряд

дополнительных параметров (контекст), используемых при выполнении операций передачи данных.

Как правило, парные операции передачи данных выполняются для процессов, принадлежащих одному и тому же коммуникатору. Коллективные операции применяются одновременно для всех процессов коммуникатора. Как результат, указание используемого коммуникатора является обязательным для

операций передачи данных в MPI.

В ходе вычислений могут создаваться новые и удаляться существующие группы процессов и

коммуникаторы. Один и тот же процесс может принадлежать разным группам и коммуникаторам. Все

имеющиеся в параллельной программе процессы входят в состав создаваемого по умолчанию

коммуникатора с идентификатором MPI_COMM_WORLD.

При необходимости передачи данных между процессами из разных групп необходимо создавать

глобальный коммуникатор (intercommunicator).

Подробное рассмотрение возможностей MPI для работы с группами и коммуникаторами будет

выполнено в подразделе 4.6.

ЕКЗАМЕНАЦІЙНИЙ БІЛЕТ №4

  1. КС із загальною та розподіленою пам’яттю.

  2. MPI. Типи даних.