- •Государственное образовательное учреждение
- •1 Параллельная обработка данных в вычислительных системах кластерного типа
- •1.1 Параллельная обработка данных
- •1.1.1 Основные определения
- •1.1.2 Два основных подхода к достижению параллельности
- •1.2 Модели и схемы параллелизма
- •1.2.1 Простейшая модель параллельного программирования (pram)
- •1.2.2 Простейшая классификация схем параллелизма
- •1.3 Существующие параллельные вычислительные средства класса mimd
- •1.4 Архитектура кластерных систем
- •1.5 Сетевое оборудование
- •1.5.1 Коммуникационная технология sci
- •1.5.2 Коммуникационная технология Myrinet
- •1.6 Системы программирования для кластеров
- •1.6.1 СтандартOpenMp
- •1.6.2 Стандарт mpi
- •1.6.3 Реализации mpi
- •1.7 Выводы по главе 1
- •2 Эффективность кластера и алгоритмы, используемые в параллельных и распределенных приложениях
- •2.1 Эффективность
- •2.2 Структура программы с двухточечным обменом данными между процессами
- •2.3 Алгоритмы
- •2.3.1 Вычисление частных сумм последовательности числовых значений
- •2.3.2 Умножение матрицы на вектор
- •2.3.3 Матричное умножение
- •2.3.4 Сортировка
- •2.3.5 Интегрирование
- •2.4 Выводы по главе 2
- •3 Практическая реализация системы кластерного типа
- •3.1 Создание кластера
- •3.2 Тестирование кластерной системы
- •3.3Выводы по главе 3
- •4 Руководство по эксплуатации кластерной системы
- •4.1 Руководство программиста
- •4.1.1 Среда разработки
- •4.1.2 Программный пакет wmpi 1.3
- •4.1.3 Состав пакетаWmpi1.3
- •4.1.4 Основные функцииMpi
- •4.2 Руководство пользователя
- •4.2.1 Построение программы
- •4.2.2 Запуск
- •4.3 Выводы по главе 4
- •Заключение
- •Список использованных источников
1.5 Сетевое оборудование
Для построения вычислительных кластеров используют самое разное сетевое оборудование - начиная с Fast Ethernet и заканчивая специализированными средствами коммуникации (см. табл. 2). Все они обычно характеризуются двумя параметрами:
Пропускная способность – скорость передачи данных между двумя узлами после того, как связь установлена. Производитель обычно заявляет пиковую пропускную способность, которая в полтора-два раза выше реально наблюдаемой в приложениях.[9]
Латентность (задержка) – это промежуток времени между запуском операции обмена в программе пользователя и началом реальной передачи данных в коммуникационной сети. Латентность содержит две составляющие:
время выполнения всех операций в MPICH, связанных с преобразованием формата функции обмена MPI в формат пакета для TCP/IP;
время прохождения уровней TCP/IP до начала передачи данных. Принято считать, что время латентности делится примерно поровну между MPICH и TCP/IP.
Таким образом коммуникационную производительность кластерной системы при передаче сообщения от узла А к узлу В можно определить выражением
T(L) = s + L/R,
где s – латентность; L – длина сообщения; а R – пропускная способность канала связи. [3]
Фактически параметр латентность и пропускная способность не только характеризуют кластер, но и ограничивают класс задач, которые могут эффективно решаться на нем. Так, если задача требует частой передачи данных, кластер, использующий сетевое оборудование с большой латентностью (например Gigabit Ethernet), будет большую часть времени тратить даже не на передачу данных между процессами, а на установление связи, узлы же будут простаивать (недогрузка узлов кластера), и мы не получим значительного увеличения производительности.[9]
Таблица 2. Сетевое оборудование
Сетевое оборудование |
Пиковая пропускная способность, Мбайт/с |
Латентность, мс
|
Fast Ethernet |
12,5 |
150 |
Gigabit Ethernet |
125 |
150 |
Myrinet |
160 |
5 |
SCI |
400 (реально ~100) |
2,3 |
cLAN |
150 |
30 |
Тем не менее по данным сайта Top500 на ноябрь 2005 года около 50% суперкомпьютеров использовали Gigabit Ethernet, и 30% - Myrinet.[11]
1.5.1 Коммуникационная технология sci
Традиционная область применения SCI – это коммуникационные среды многопроцессорных систем. На основе этой технологии построены, в частности, компьютеры серии hpcLine от Siemens или модульные серверы NUMA-Q от IBM, ранее известные как Sequent.
Основа технологии SCI – это кольца, состоящие из быстрых однонаправленных линков c пиковой пропускной способностью на аппаратном уровне 400 Мбайт/c. Реальная пропускная способность на уровне MPI-приложений с использованием 32-разрядной шины PCI с частотой 33 МГц достигает 80 Мбайт/c, латентность – порядка 5,6 мкс.
Основной поставщик промышленных SCI-компонентов на современном рынке – норвежская компания Dolphin Interconnect Solutions. Вместе с компанией Scali Computer она предлагает интегрированное кластерное решение Wulfkit, в состав которого входят «основная» и «дочерняя» сетевые платы, два специальных кабеля и соответствующее программное обеспечение. Программный пакет Scali Software Platform включает средства конфигурирования и администрирования кластеров, и, что немаловажно, ScaMPI – оптимизированную под SCI реализацию интерфейса MPI (Message Passing Interface). Поддерживаются операционные системы Linux, Solaris и NT. Стоимость одного комплекта Wulfkit составляет 1700 долл., что в пересчете на 16-узловую конфигурацию составит 27,2 тыс. долл.
Существующие кластеры, построенные на основе технологии SCI, содержат до 100 узлов, в качестве которых используются одно-, двух- и четырехпроцессорные компьютеры на базе Intel или UltraSPARC. Все узлы объединяются в топологию «двухмерный тор», образуемую двумя SCI-кольцами с использованием двух сетевых адаптеров на каждом узле. Одним из преимуществ подобного решения является отказ от дорогостоящих многопортовых коммутаторов. Самый большой кластер на базе SCI установлен в университете города Падеборн (Германия) – 96 двухпроцессорных узлов на базе Pentium.[1]