
- •Гомогенні та гетерогенні обчислювальні системи
- •В яких спосіб реалізовано взаємодію процесів у mpi програмах?
- •Системи черг на обчислювальних кластерах
- •Доточкові передачі даних в mpi
- •Паралельні області та послідовні області у OpenMp програмі
- •Структура mpi програми
- •Проблеми організації паралельних обчислень
- •Механізми синхронізації у mpi програмах?
- •Мережі з’єднання у високопродуктивних обчислювальних системах
- •Редукційні операції у mpi програмах?
- •Показники ефективності паралельних алгоритмів
- •Передача даних на всі процеси даного комунікатора у mpi програмах?
- •Паралельні та розподілені обчислення
- •Збирання даних зі всіх процесів даного комунікатора у mpi програмах?
- •Функції для роботи з системним таймером в OpenMp
- •Директива #pragma omp parallel. Призначення, опції, приклади застосування Директива parallel
- •Відкладені операції прийому та передачі у mpi програмах? Отложенные запросы на взаимодействие
- •Директива #pragma omp single та #pragma omp master. Призначення, опції, приклади застосування Директива single
- •Директива master
- •Передача повідомлень без блокування у mpi програмах Передача/прием сообщений без блокировки
- •Змінні у OpenMp програмах Классы переменных
- •Передача повідомлень з блокуванням у mpi програмах Передача/прием сообщений с блокировкой
- •Функції omp_get_thread_num() та omp_get_num _thread(). Призначення, опції, приклади застосування
- •Колективні операції з взаємодії процесів у mpi програмах
- •Директива #pragma omp for. Призначення, опції, приклади застосування
- •Індивідуальні операції з взаємодії процесів у mpi програмах
- •Директива #pragma omp sections. Призначення, опції, приклади застосування
- •В яких спосіб реалізовано взаємодію процесів у mpi програмах?
- •Директива #pragma omp task. Призначення, опції, приклади застосування
- •Функції mpi_Wtime(). Призначення, опції, приклади застосування
- •Механізми синхронізації в OpenMp програмах
- •Синхронизация типа atomic
- •Синхронизация типа critical
- •Синхронизация типа barrier
- •Синхронизация типа master
- •Ініціалізація паралельної частини mpi програми
- •Директива #pragma omp barrier. Призначення, опції, приклади застосування
- •Спорідненість та відмінності технології OpenMp та mpi
- •Критичні секції в OpenMp програмах
- •Високопродуктивні обчислювальні системи
- •Взаємні блокування у паралельних програмах
- •Визначення загального числа паралельних процесів у групі та визначення номера процесу в групі у mpi програмах?
- •Моделі паралельних обчислень
- •Грід системи
- •Критичні секції в OpenMp програмах
- •В яких спосіб реалізовано взаємодію процесів у mpi програмах?
- •Механізми синхронізації в OpenMp програмах
- •Синхронизация типа atomic
- •Синхронизация типа critical
- •Синхронизация типа barrier
- •Синхронизация типа master
- •Спорідненість та відмінності технології OpenMp та mpi
- •Директива #pragma omp task. Призначення, опції, приклади застосування
- •Ініціалізація паралельної частини mpi програми
- •Директива #pragma omp for. Призначення, опції, приклади застосування
- •Функції mpi_Wtime(). Призначення, опції, приклади застосування
- •Функції omp_get_thread_num() та omp_get_num _thread(). Призначення, опції, приклади застосування
- •Індивідуальні операції з взаємодії процесів у mpi програмах
- •Директива #pragma omp single та #pragma omp master. Призначення, опції, приклади застосування Директива single
- •Директива master
- •Колективні операції з взаємодії процесів у mpi програмах
- •Директива #pragma omp parallel. Призначення, опції, приклади застосування Директива parallel
- •Передача повідомлень без блокування у mpi програмах Передача/прием сообщений без блокировки
- •Показники ефективності паралельних алгоритмів
- •Передача повідомлень без блокування у mpi програмах Передача/прием сообщений без блокировки
- •Паралельні області та послідовні області у OpenMp програмі
- •Відкладені операції прийому та передачі у mpi програмах? Отложенные запросы на взаимодействие
- •Системи черг на обчислювальних кластерах
- •Дисковий ввід ти вивід у mpi програмах
Механізми синхронізації у mpi програмах?
В ряде ситуаций независимо выполняемые в процессах вычисления необходимо синхронизировать. Так, например, для измерения времени начала работы параллельной программы необходимо, чтобы для всех процессов одновременно были завершены все подготовительные действия, перед окончанием работы программы все процессы должны завершить свои вычисления и т.п. Синхронизация процессов, т.е. одновременное достижение процессами тех или иных точек процесса вычислений, обеспечивается при помощи функции MPI:
int MPI_Barrier(MPI_Comm comm),где
• comm — коммуникатор, в рамках которого выполняется операция.
Функция MPI_Barrier определяет коллективную операцию, и, тем самым, при использовании она должна вызываться всеми процессами используемого коммуникатора. При вызове функции MPI_Barrier выполнение процесса блокируется, продолжение вычислений процесса произойдет только после вызова функции MPI_Barrier всеми процессами коммуникатора.
Мережі з’єднання у високопродуктивних обчислювальних системах
Сетевое соединение или компьютерная сеть (вычислительная сеть, сеть передачи данных) — система связи компьютеров или компьютерного оборудования (серверы, маршрутизаторы и другое оборудование).
Для высокопродуктивных вычислительных систем используются суперкомпьютеры – это вычислительная машина, значительно превосходящая по своим техническим параметрам большинство существующих компьютеров. В настоящее время суперкомпьютерами принято называть компьютеры с огромной вычислительной мощностью («числодробилки» или «числогрызы»). Такие машины используются для работы с приложениями, требующими наиболее интенсивных вычислений. Иногда суперкомпьютеры используются для работы с одним-единственным приложением, использующим всю память и все процессоры системы; в других случаях они обеспечивают выполнение большого числа разнообразных приложений.
Сети для суперкомпьютеров:
-Gigabit Ethernet |
-Myrinet |
-SCI |
-QsNet |
-RapidIO |
Ethernet — пакетная технология передачи данных преимущественно локальных компьютерных сетей.
Большинство Ethernet-карт и других устройств имеет поддержку нескольких скоростей передачи данных, используя автоопределение (autonegotiation) скорости и дуплексности, для достижения наилучшего соединения между двумя устройствами. Если автоопределение не срабатывает, скорость подстраивается под партнёра, и включается режим полудуплексной передачи. Например, наличие в устройстве порта Ethernet 10/100 говорит о том, что через него можно работать по технологиям 10BASE-T и 100BASE-TX, а порт Ethernet 10/100/1000 — поддерживает стандарты 10BASE-T, 100BASE-TX и 1000BASE-T.
Разновидности Ethernet:
- 10 Мбит/с Ethernet - Быстрый Ethernet (Fast Ethernet, 100 Мбит/с) - Гигабитный Ethernet (Gigabit Ethernet, 1 Гбит/с) |
- 10-гигабитный Ethernet (Ethernet 10G, 10 Гбит/с) - 40-гигабитный и 100-гигабитный Ethernet.
|
Myrinet (ANSI/VITA 26-1998) — широко применяемый для построения кластеров тип коммуникационной среды. Ранее до 28 % (июнь 2005) кластерных установок из списка Top500 самых производительных компьютеров мира были построены с применением Myrinet.
Характеристики
Производитель: компания Myricom. Пропускная способность: 250 Мб/сек, 1250 Мб/сек (Myri-10G). Время задержки — около 10 мкс. Топология: коммутируемая, элементом коммутации является матрица 8х8. Коммутаторы на её основе поддерживают до 128 портов. Для построения больших сетей используются различные варианты топологии Fat Tree, наилучшая производительность достигается с использованием Clos Network (подробнее о построении сетей на основе Myrinet можно прочитать в документе Myrinet Switch Guide). Программное обеспечение: низкоуровневый интерфейс программирования GM, MPICH/GM, PVM/GM, стек TCP/IP, а также коммерческие продукты — MPIPro, Scali MPI Connect.
SCI (англ. Scalable Coherent Interface, масштабируемая согласованная взаимосвязь) — компьютерная сеть, используемая для построения кластеров. SCI-кластеры имеют преимущество при решении задач, требующих большого количества пересылок коротких сообщений между узлами, так как в таких задачах время задержки (латентность) играет решающую роль.
Характеристики
Производитель: компания Dolphin, в настоящее время полный аналог этих адаптеров производится в России ОАО «НИЦЭВТ». Пропускная способность: физическая скорость передачи — 667 Мб/сек, в зависимости от используемых аппаратных платформ пропускная способность на уровне MPI — от 200 до 325 Мб/сек. Время задержки: этот тип коммуникационной среды отличается рекордно низким временем задержки: 2—3 мкс — аппаратное и около 4 мкс — на уровне MPI. Топология: кольцо, двух- или трёхмерный тор, а также коммутируемые кольца. В связи с такой топологией, при увеличении размеров тора происходит насыщение аппаратной пропускной способности, поэтому нецелесообразно строить кластеры с размером тора больше 6—8 по каждому измерению. Тороидальная топология не требует применения коммутаторов.тПрограммное обеспечение: свободное (а именно, распространяемое на условиях лицензии GNU GPL) низкоуровневое ПО от компании Dolphin (драйверы и библиотека SISCI), SCI-MPICH из Аахенского университета, а также коммерческое ПО от Scali.
QsNet — коммуникационная среда от компании Quadrics, обеспечивающая задержки на уровне SCI и пропускную способность до 900 мегабайт/сек (QsNet II). Ввиду высокой стоимости оборудования QsNet, как правило, применяется для построения особо крупных кластеров терафлопного диапазона.
Характеристики
Пропускная способность: на уровне MPI около 900 МБ/сек. Время задержки: 3 мкс. Топология: Fat Tree. Архитектура поддерживает до 1024 узлов (QsNet) и до 4096 узлов (QsNet II). Программное обеспечение под GNU/Linux распространяется с исходными текстами по лицензии GNU GPL и поддерживает MPI (специализированную версию MPICH) и TCP/IP.
RapidIO — это высокопроизводительный интерфейс передачи данных для соединения микросхем в рамках одной печатной платы, а также для соединения между собой нескольких печатных плат. Данный интерфейс был разработан для применения во встраиваемых системах. Основными конкурентами RapidIO являются HyperTransport, Infiniband и PCI Express, которые, однако, предназначены для решения других задач. Интерфейс RapidIO разработан компаниями Mercury Computer Systems и Motorola (ныне Freescale) как развитие шины, применявшейся в многопроцессорных системах цифровой обработки сигналов компании Mercury. Спецификации интерфейса RapidIO разработаны организацией RapidIO Trade Association. На настоящий момент последней является версия 2.2 спецификации.
Описание стандарта
Спецификации RapidIO определяют физический (соответствует физическому и канальному уровню модели OSI), транспортный (соответствует сетевому уровню модели OSI) и логический (соответствует транспортному уровню модели OSI) уровни.
Имеется две спецификации физического уровня:
LP-LVDS — канал точка-точка представляет собой параллельный 8- или 16-разрядный дуплексный интерфейс, частота тактового сигнала — 250, 375, 500, 750 или 1000 МГц;
LP-Serial — канал точка-точка представляет собой последовательный дуплексный интерфейс, состоящий из 1, 2, 4, 8 или 16 подканалов (англ. lane), скорость передачи битового потока: 1,25, 2,5, 3,125, 5 или 6,25 ГБод.