Fast Ethernet vs Myrinet выбор сетевой технологии для кластерной системы
Этот материал является экстрактом из результатов тестирования вычислительного кластера, установленного в Центре Суперкомпьютерных Приложений Института Высокопроизводительных Вычислений и Баз Данных.
Основной целью данного тестирования явилось определение реальных характеристик относительно новой сетевой технологии Myrinet, а также сравнение их с характеристиками уже хорошо знакомой и доступной технологии Fast Ethernet.
Исследование производительности обеих сетей на различных коммуникационных уровнях лежит в основе проведенных тестов.
Большое внимание уделялось также оценке производительности основных операций одного из наиболее распространенных средств параллельного программирования - интерфейса передачи сообщений (Message Passing Interface - MPI).
Особый интерес представляет также производительность всего кластера как единого целого при выполнении реальных задач пользователей. В данном тестировании в качестве приближения к реальным задачам использовался пакет тестов NAS Benchmarks.
сетевая технология Fast Ethernet
Технология 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, должны в данном стандарте сохранить работоспособность.
сетевая технология Myrinet
Наиболее выгодной по соотношению цена/производительность, без сомнения, является технология Myrinet, предлагаемая компанией Myricom. Myrinet является экономически выгодной высокоскоростной сетью, используемой для коммуникаций и коммутации внутри параллельных суперкомпьютеров.
Основные характеристики Myrinet:
‰ полнодуплексные 1.28 + 1.28 Гбит/сек линки и коммутируемые порты;
‰ управление потоком и контроль ошибок на каждом линке;
‰ малое время задержки;
‰ интерфейсы хоста выполняют управляющую программу, чтобы напрямую взаимодействовать с процессами, посылать, принимать и выполнять буферизацию пакетов, а также осуществлять мониторинг сети.
Как коммутируемая сеть, аналогичная по структуре сегментам Ethernet, соединенным с помощью коммутаторов, Myrinet может одновременно передавать несколько пакетов, каждый из которых идет со скоростью 1.28 Гбит/с. В отличие от некоммутированных Ethernet и FDDI сетей, которые разделяют общую среду передачи, совокупная пропускная способность сети Myrinet возрастает с увеличением количества машин.
конфигурация узлов
Конфигурация отдельного узла:
‰ Процессоры: 2 x Intel Pentium II (450 МГц);
‰ HDD: 10 Гб (Ultra Wide SCSI);
‰ RAM: 512 Мб;
Конфигурация всей системы:
‰ Процессоры: 8 x Intel Pentium II (450 МГц);
‰ Диски: 40 Гб (Ultra Wide SCSI);
‰ Оперативная память: 2048 Мб;
Каждый узел снабжен двумя сетевыми интерфейсами: адаптером Fast Ethernet и адаптером Myrinet. Кроме того, входной узел системы имеет дополнительную сетевую карту, обеспечивающую доступ во внешнюю сеть.
общие уровни тестирования для Myrinet и Fast Ethernet:
1. TCP, UDP/IP
Протокол управления передачей (TCP - Transmission Control Protocol) предназначен для использования в качестве надежного протокола общения между хост-компьютерами в коммуникационных компьютерных сетях с коммутацией пакетов, а также в системах, объединяющих такие сети. Протокол TCP взаимодействует, с одной стороны, с пользователем или прикладной программой, а с другой - с протоколом более низкого уровня, таким как протокол Internet.
Протокол UDP (User Datagram Protocol) проектировался для создания в объединенной системе компьютерных сетей с коммутацией пакетов режима передачи датаграмм клиента. Протокол UDP предполагает, что нижестоящим протоколом является Internet (IP).
Данный протокол предоставляет прикладной программе процедуру для посылки сообщений другим программам, причем механизм протокола минимален. Протокол UDP ориентирован на транзакции, получение датаграмм и защита от дублирования не гарантированы. Приложения, требующие гарантированного получения потоков данных, должны использовать протокол TCP.
2. MPI - Message Passing Interface
MPI является хорошо стандартизованным механизмом для построения программ по модели обмена сообщениями.
Библиотеки передачи сообщений состоят из набора функций, которые обеспечивают программистов эффективными средствами для построения параллельных приложений.
Функции, предоставляемые библиотеками передачи сообщений, можно классифицировать по следующим типам:
‰ Управление задачей
‰ Коммуникации точка-точка
‰ Синхронизация
‰ Коллективные коммуникации
‰ Коллективные вычисления
Функции управления задачей используются для запуска и остановки вычислений, а также для определения общего количества процессоров, используемых для выполнения задачи.
Функции коммуникаций точка-точка используются для обменов данными между двумя узлами. Функции приема и передачи могут быть как блокирующими, так и неблокирующими.
Функции синхронизации используются для передачи между процессами сообщений о достижении определенной точки выполнения. Это необходимо для синхронизации параллельно работающих процессов.
Функции коллективных коммуникаций используются для одновременной передачи данных между несколькими процессами по определенным алгоритмам.
Функции коллективных вычислений похожи на функции коллективных коммуникаций. Однако они организовывают не только пересылки данных между процессорами, но в процессе передачи производят также некоторые вычисления.
тестирование характеристик сети
при сложных обменах по различным логическим топологиям
Рассматриваются три логические топологии взаимодействия процессов:
Star - звезда, т.е. взаимодействие основного процесса с подчиненными;
Ring - кольцо, т.е. взаимодействие каждого процесса со следующим;
Chaos - полный граф, т.е. взаимодействие каждого процесса с каждым.
Исследуется средняя пропускная способность логического канала, под которой понимается отношение суммарной пропускной способности к количеству задействованных каналов.
коммуникационные уровни Fast Ethernet
1. DLPI - является интерфейсом между протоколами уровня канала данных (data link layer) модели OSI, называемыми поставщиками услуг уровня канала данных и протоколами сетевого уровня - пользователями услуг уровня канала данных.
Таким образом, при работе с сетевым устройством посредством протокола DLPI можно рассчитывать на достижение максимальной производительности сетевых транзакций. Причиной этого служит отсутствие каких-либо дополнительных промежуточных уровней между сетевым устройством и тестирующим программным обеспечением.
2. TCP, UDP
3. 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
тестирование общей производительности кластера
В исследовательском центре 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 в качестве коммуникационной среды:
Основной целью данного тестирования явилось определение реальных характеристик относительно новой сетевой технологии Myrinet, а также сравнение их с характеристиками уже хорошо знакомой и доступной технологии Fast Ethernet.
Исследование производительности обеих сетей на различных коммуникационных уровнях лежит в основе проведенных тестов.
Большое внимание уделялось также оценке производительности основных операций одного из наиболее распространенных средств параллельного программирования - интерфейса передачи сообщений (Message Passing Interface - MPI).
Особый интерес представляет также производительность всего кластера как единого целого при выполнении реальных задач пользователей. В данном тестировании в качестве приближения к реальным задачам использовался пакет тестов NAS Benchmarks.
сетевая технология Fast Ethernet
Технология 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, должны в данном стандарте сохранить работоспособность.
сетевая технология Myrinet
Наиболее выгодной по соотношению цена/производительность, без сомнения, является технология Myrinet, предлагаемая компанией Myricom. Myrinet является экономически выгодной высокоскоростной сетью, используемой для коммуникаций и коммутации внутри параллельных суперкомпьютеров.
Основные характеристики Myrinet:
‰ полнодуплексные 1.28 + 1.28 Гбит/сек линки и коммутируемые порты;
‰ управление потоком и контроль ошибок на каждом линке;
‰ малое время задержки;
‰ интерфейсы хоста выполняют управляющую программу, чтобы напрямую взаимодействовать с процессами, посылать, принимать и выполнять буферизацию пакетов, а также осуществлять мониторинг сети.
Как коммутируемая сеть, аналогичная по структуре сегментам Ethernet, соединенным с помощью коммутаторов, Myrinet может одновременно передавать несколько пакетов, каждый из которых идет со скоростью 1.28 Гбит/с. В отличие от некоммутированных Ethernet и FDDI сетей, которые разделяют общую среду передачи, совокупная пропускная способность сети Myrinet возрастает с увеличением количества машин.
конфигурация узлов
Конфигурация отдельного узла:
‰ Процессоры: 2 x Intel Pentium II (450 МГц);
‰ HDD: 10 Гб (Ultra Wide SCSI);
‰ RAM: 512 Мб;
Конфигурация всей системы:
‰ Процессоры: 8 x Intel Pentium II (450 МГц);
‰ Диски: 40 Гб (Ultra Wide SCSI);
‰ Оперативная память: 2048 Мб;
Каждый узел снабжен двумя сетевыми интерфейсами: адаптером Fast Ethernet и адаптером Myrinet. Кроме того, входной узел системы имеет дополнительную сетевую карту, обеспечивающую доступ во внешнюю сеть.
общие уровни тестирования для Myrinet и Fast Ethernet:
1. TCP, UDP/IP
Протокол управления передачей (TCP - Transmission Control Protocol) предназначен для использования в качестве надежного протокола общения между хост-компьютерами в коммуникационных компьютерных сетях с коммутацией пакетов, а также в системах, объединяющих такие сети. Протокол TCP взаимодействует, с одной стороны, с пользователем или прикладной программой, а с другой - с протоколом более низкого уровня, таким как протокол Internet.
Протокол UDP (User Datagram Protocol) проектировался для создания в объединенной системе компьютерных сетей с коммутацией пакетов режима передачи датаграмм клиента. Протокол UDP предполагает, что нижестоящим протоколом является Internet (IP).
Данный протокол предоставляет прикладной программе процедуру для посылки сообщений другим программам, причем механизм протокола минимален. Протокол UDP ориентирован на транзакции, получение датаграмм и защита от дублирования не гарантированы. Приложения, требующие гарантированного получения потоков данных, должны использовать протокол TCP.
2. MPI - Message Passing Interface
MPI является хорошо стандартизованным механизмом для построения программ по модели обмена сообщениями.
Библиотеки передачи сообщений состоят из набора функций, которые обеспечивают программистов эффективными средствами для построения параллельных приложений.
Функции, предоставляемые библиотеками передачи сообщений, можно классифицировать по следующим типам:
‰ Управление задачей
‰ Коммуникации точка-точка
‰ Синхронизация
‰ Коллективные коммуникации
‰ Коллективные вычисления
Функции управления задачей используются для запуска и остановки вычислений, а также для определения общего количества процессоров, используемых для выполнения задачи.
Функции коммуникаций точка-точка используются для обменов данными между двумя узлами. Функции приема и передачи могут быть как блокирующими, так и неблокирующими.
Функции синхронизации используются для передачи между процессами сообщений о достижении определенной точки выполнения. Это необходимо для синхронизации параллельно работающих процессов.
Функции коллективных коммуникаций используются для одновременной передачи данных между несколькими процессами по определенным алгоритмам.
Функции коллективных вычислений похожи на функции коллективных коммуникаций. Однако они организовывают не только пересылки данных между процессорами, но в процессе передачи производят также некоторые вычисления.
тестирование характеристик сети
при сложных обменах по различным логическим топологиям
Рассматриваются три логические топологии взаимодействия процессов:
Star - звезда, т.е. взаимодействие основного процесса с подчиненными;
Ring - кольцо, т.е. взаимодействие каждого процесса со следующим;
Chaos - полный граф, т.е. взаимодействие каждого процесса с каждым.
Исследуется средняя пропускная способность логического канала, под которой понимается отношение суммарной пропускной способности к количеству задействованных каналов.
коммуникационные уровни Fast Ethernet
1. DLPI - является интерфейсом между протоколами уровня канала данных (data link layer) модели OSI, называемыми поставщиками услуг уровня канала данных и протоколами сетевого уровня - пользователями услуг уровня канала данных.
Таким образом, при работе с сетевым устройством посредством протокола DLPI можно рассчитывать на достижение максимальной производительности сетевых транзакций. Причиной этого служит отсутствие каких-либо дополнительных промежуточных уровней между сетевым устройством и тестирующим программным обеспечением.
2. TCP, UDP
3. 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
тестирование общей производительности кластера
В исследовательском центре 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
Владимир Корхов, Центр Суперкомпьютерных Приложений Института Высокопроизводительных
Сетевые решения. Статья была опубликована в номере 07 за 2000 год в рубрике технологии