Результаты тестирования вычислительного кластера

 

  1. Конфигурация узлов.

Конфигурация отдельного узла:

Конфигурация всей системы:

Каждый узел снабжен двумя сетевыми интерфейсами: адаптером Fast Ethernet и адаптером Myrinet. Кроме того, входной узел системы имеет дополнительную сетевую карту, обеспечивающую доступ во внешнюю сеть.

  1. Сетевая технология Fast Ethernet
  2. Технология Fast Ethernet (100BaseT) является расширением стандарта Ethernet (10BaseT) с пропускной способностью от 10 М бит/с до 100 Мбит/с. Стандарт 100BaseT включает в себя протокол обработки множественного доступа с опознаванием несущей и обнаружением конфликтов CSMA/CD (Carrier Sense Multiple Access with Collision Detection), который используется и в 10BaseT. Кроме того, Fast Ethernet может работать на кабелях нескольких типов, в том числе и на витой паре.

    Главным коммерческим аргументом в пользу 100BaseT является то, что Fast Ethernet базируется на наследуемой технологии. Так как в Fast Ethernet используется тот же протокол передачи сообщений, что и в старых версиях Ethernet, а кабельные системы этих стандартов совместимы. Кроме того, поскольку 100BaseT представляет собой продолжение старого стандарта Ethernet, все инструментальные средства и процедуры анализа работы сети, а также все программное обеспечение, работающее на старых сетях Ethernet должны в данном стандарте сохранить работоспособность.

  3. Сетевая технология Myrinet

Наиболее выгодной по соотношению цена/производительность без сомнения является технология Myrinet, предлагаемая компанией Myricom. Myrinet является экономически выгодной высокоскоростной сетью, используемой для коммуникаций и коммутации внутри параллельных суперкомпьютеров.

Основные характеристики Myrinet:

Как коммутируемая сеть, аналогичная по структуре сегментам Ethernet, соединенным с помощью коммутаторов, Myrinet может одновременно передавать несколько пакетов, каждый из которых идет со скоростью 1.28 Гбит/с. В отличие от некоммутированных Ethernet и FDDI сетей, которые разделяют общую среду передачи, совокупная пропускная способность сети Myrinet возрастает с увеличением количества машин.

  1. Тестирование коммуникационной подсистемы кластера

Основной целью данного тестирования явилось определение реальных характеристик новой для России сетевой технологии Myrinet, а также сравнение их с характеристиками уже хорошо знакомой и доступной технологии Fast Ethernet. Исследование производительности обеих сетей на различных коммуникационных уровнях лежит в основе проведенных тестов. Большое внимание уделялось также оценке производительности основных операций одного из наиболее распространенных средств параллельного программирования - интерфейса передачи сообщений (Message Passing Interface - MPI). Особый интерес представляет также производительность всего кластера как единого целого при выполнении реальных задач пользователей. В данном тестировании в качестве приближения к реальным задачам использовался пакет тестов NAS Benchmarks.

Общие уровни тестирования для Myrinet и Fast Ethernet:

  1. TCP, UDP/IP
  2. Протокол управления передачей (TCP - Transmission Control Protocol) предназначен для использования в качестве надежного протокола общения между хост-компьютерами в коммуникационных компьютерных сетях с коммутацией пакетов, а также в системах, объединяющих такие сети. Протокол TCP взаимодействует с одной стороны с пользователем или прикладной программой, а с другой - с протоколом более низкого уровня, таким как протокол Internet.

    Протокол UDP (User Datagram Protocol) проектировался для создания в объединенной системе компьютерных сетей с коммутацией пакетов режима передачи датаграмм клиента. Протокол UDP предполагает, что нижестоящим протоколом является Internet (IP). Данный протокол предоставляет прикладной программе процедуру для посылки сообщений другим программам, причем механизм протокола минимален. Протокол UDP ориентирован на транзакции, получение датаграмм и защита от дублирования не гарантированы. Приложения, требующие гарантированного получения потоков данных, должны использовать протокол TCP.

  3. MPI - Message Passing Interface

MPI является хорошо стандартизованным механизмом для построения программ по модели обмена сообщениями.

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

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

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

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

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

 

Функции коллективных вычислений похожи на функции коллективных коммуникаций. Однако они организовывают не только пересылки данных между процессорами, но в процессе передачи производят также некоторые вычисления. На иллюстрации приведена схема работы одной из наиболее часто применяемых функций этого класса.

Для тестирования производительности MPI были выбраны следующие операции: broadcast, gather, scatter, reduce. Кроме того, тест ping осуществляет оценку производительности операций блокирующих посылки и приема при однонаправленной передаче, exchange - неблокирующих посылки и приема при двунаправленной передаче, pingpong - последовательных операций блокирующего приема и посылки (т.е. происходит обмен одним сообщением между двумя узлами). Кроме этого, производилась оценка времени синхронизации при различном количестве задействованных узлов.

Логические топологии

Тестирования характеристик сети при сложных обменах по различным логическим топологиям. Рассматриваются три логические топологии взаимодействия процессов:

Star - звезда, т.е. взаимодействие основного процесса с подчиненными;

Ring - кольцо, т.е. взаимодействие каждого процесса со следующим;

Chaos - полный граф, т.е. взаимодействие каждого процесса с каждым.

Исследуется средняя пропускная способность логического канала, под которой понимается отношение суммарной пропускной способности к количеству задействованных каналов.

Коммуникационные уровни Fast Ethernet:

  1. DLPI - является интерфейсом между протоколами уровня канала данных (data link layer) модели OSI, называемыми поставщиками услуг уровня канала данных и протоколами сетевого уровня, называемыми пользователями услуг уровня канала данных. Таким образом, при работе с сетевым устройством посредством протокола DLPI можно рассчитывать на достижение максимальной производительности сетевых трансакций. Причиной этого служит отсутствие каких-либо дополнительных промежуточных уровней между сетевым устройством и тестирующим программным обеспечением.
  2. TCP, UDP
  3. MPI

 

Производительность основных операций MPI

Коммуникационные уровни Myrinet

1) Библиотеки низкого уровня

Myrinet API - обеспечивает интерфейс высокого уровня для прямого взаимодействия с MCP (Myrinet Control Program) - программой, выполняющейся на LANai чипе, установленном на плате Myrinet, и осуществляющей все пересылки данных в сети между узлами. MCP также обеспечивает функции отображения (mapping) сети и отвечает за маршрутизацию пакетов.

Myrinet BPI - является упрощенным аналогом Myrinet API, поэтому обладает меньшей гибкостью, а следовательно позволяет добиться меньшей производительности по сравнению с Myrinet API.

2) Коммуникационные системы

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

BIP - коммуникационная система с минимальным набором функций, целью которой является обеспечение производительности аппаратного уровня для программ, использующих эту библиотеку. Для достижения этого BIP разрешает прямой доступ к системным ресурсам и обеспечивает только передачу данных (без передачи контрольной информации).

Существует также множество других коммуникационных систем для сетей Myrinet, которые не рассматривались в данном исследовании.

3) Стандартный интерфейс передачи сообщений - MPI

4) TCP, UDP

 

Производительность основных операций MPI.

  1. Производительность различных реализаций MPI
  2. Тестирование общей производительности кластера

В исследовательском центре NASA Ames Research Center был разработан комплекс тестов, позволяющий оценивать производительность суперкомпьютеров. Комплекс тестов NAS состоит из пяти тестов NAS kernel benchmark и трех тестов, основанных на реальных задачах гидро- и аэродинамического моделирования. Этот круг задач не покрывает всего спектра возможных приложений, однако на сегодняшний день NAS Benchmarks является лучшим общепризнанным комплексом тестов для оценки параллельных многопроцессорных систем, что собственно и подтверждается практическими наблюдениями - результатами ТОР500.

Комплекс тестов NAS Benchmarks kernel включает следующие расчетные задачи:

1. ЕР (Embarrasingly Parallel). Вычисление интеграла методом Монте-Карло - тест "усложненного параллелизма" для измерения первичной вычислительной производительности плавающей арифметики. Этот тест минимального межпроцессорного взаимодействия и фактически определяет "чисто" вычислительные характеристика узла при работе с вещественной арифметикой.

2. MG (3D Multigrid). Тест по решению уравнения Пуассона ("трехмерная решетка") в частных производных - требует высокоструктурированной организации взаимодействия процессоров. Тестирует возможности системы выполнять как дальние, так и короткие передачи данных.

3. CG (Conjugate Gradient). Вычисление наименьшего собственного значения больших, разреженных матриц методом сопряженных градиентов. Это типичное неструктурированное вычисление на решетке, и поэтому тест применяется для оценки скорости передачи данных на длинные расстояния при отсутствии какой-либо регулярности.

4. FT (fast Fourier Tranformation). Вычисление методом быстрого преобразования Фурье трехмерного уравнения в частных производных. Данная задача используется как "серьезный" тест для оценки эффективности взаимодействия по передаче данных между удаленными процессорами. При создании программы, реализующей данный тест, могут использоваться библиотечные модули преобразования Фурье различной размерности.

5. IS (Integer Sort). Тест выполняет сортировку целых чисел и используется как для оценки возможностей работы системы с целочисленной арифметикой (главным образом одного узла), так и для выявления потенциала компьютера по выполнению межпроцессорного взаимодействия.

Комплекс тестов NAS Benchmarks по модельным задачам включает следующие модули:

1. LU (LU Solver). Тест выполняет вычисления, связанные с определенным классом алгоритмов (INS3D-LU по классификации центра NASA Ames), в которых решается система уравнений с равномерно разреженной блочной треугольной матрицей 5х5.

2. SP (Scalar Pentadiagonal). Тест выполняет решение нескольких независимых систем скалярных уравнений - пентадиагональные матрицы с преобладанием недиагональных членов.

3. ВТ (Block Tridiagonal). Решение серии независимых систем уравнений - блочные трехдиагональные матрицы 5х5 с преобладанием недиагональных элементов.

Для оценки потенциальных возможностей тестируемой конфигурации вычисляется относительная производительность по сравнению с показателями традиционного векторного суперкомпьютера, в качестве которого обычно выступает одна из моделей Cray. Для NAS kernel benchmark определяются два класса тестов: класс А и класс В, которые фактически отличаются "размерностью" вычислений. Размер задач из класса В превосходит размер задач из класса А примерно в четыре раза. Результаты тестирования в классе А нормируются на производительность однопроцессорного компьютера Cray Y-MP, а класса В - на однопроцессорный Cray C90.

Для тестирования данного кластера применялись тесты класса A. Все тесты были скомпилированы для запуска на четырех узлах. Таким образом, на каждом двухпроцессорном узле был запущен один процесс. Результаты тестов и сравнение их с результатами тестирования других параллельных машин можно увидеть ниже.

 

Результаты тестов NAS при использовании Fast Ethernet в качестве коммуникационной среды:

Имя теста

Время выполнения (с)

Mop/s total

Mop/s/process

IS

32.09

2.61

0.65

BT

1106.82

152.04

38.01

CG

33.54

44.62

11.16

EP

93.52

5.74

1.44

LU

611.56

195.07

48.77

MG

48.72

79.89

19.97

SP

987.35

86.10

21.52

 

Результаты тестов NAS при использовании Myrinet в качестве коммуникационной среды:

Имя теста

Время выполнения (с)

Mop/s total

Mop/s/process

IS

6.71

12.50

3.12

BT

1019.51

165.06

41.27

CG

21.15

70.76

17.69

EP

94.26

5.70

1.42

LU

593.92

200.86

50.22

MG

43.80

88.87

22.22

SP

824.25

103.14

25.78

 

Сравнение результатов выполнения тестов NAS при использовании Fast Ethernet и Myrinet:

 

Сравнение результатов тестов NAS данного кластера с результатами других высокопроизводительных компьютеров

Первый график отражает результаты тестирования следующих машин: кластер ИВВиБД, The Hive, LANL Loki P6 Linux cluster, UCB NOW, SGI-Origin-2000, Sun Ultra Enterprise 4000, NAS Expanded Linux cluster в конфигурации: 4 узла, 4 процесса для каждого теста. Следует еще раз подчеркнуть, что узлы кластера, установленного в ИВВиБД, являются двухпроцессорными.

Следующий график призван подчеркнуть различие в производительности между четырехузловыми и восьмиузловыми конфигурациями машин. Здесь кластер ИВВиБД точно так же, как и на предыдущем графике, работает на четырех узлах с четырьмя процессами, кластер TheHive использует восемь процессоров на четырех узлах, остальные же используют восемь узлов и запускают восемь процессов.

При подготовке отчета использованы материалы сервера "Открытые системы" (http://www.osp.ru), в частности, статья Д. Французова "Оценка производительности суперкомпьютеров", Открытые Системы © 6 1995

Кроме того, различную справочную и просто интересную информацию можно найти на следующих серверах:

http://www.myri.com - Myricom, Inc.

http://www.mcs.anl.gov/mpi - MPI homepage

http://science.nas.nasa.gov/Software/NPB - NAS Parallel Benchmark

http://parallel.srcc.msu.su - сервер Лаборатории Параллельных Информационных Технологий Научно-исследовательского вычислительного центра Московского государственного университета им.М.В.Ломоносова

Тестирование провел Владимир Корхов, vladimir@csa.ru

 

[Начало] [ИВВБД] [CSA Home] [Руководитель] [Новости] [Содержание]
[Результаты тестов] [Рабочая группа] [Webmaster]