Методы построения и программное обеспечение

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Институт
– Институт кибернетики
Направление – Информатика и вычислительная техника
Кафедра
– Оптимизации систем управления
«МЕТОДЫ ПОСТРОЕНИЯ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРОВ»
Аналитический обзор по курсу «Современные проблемы информатики и
вычислительной техники»
Студент гр 8В83
Д.Н. Лайком
(Подпись)
(Дата)
(Подпись)
(Дата)
Проверил
(И.О. Фамилия)
А. Д. Чередов
Томск – 2012
(И.О.Фамилия)
Оглавление
Введение .......................................................................................................................................... 3
Цель работы .................................................................................................................................... 3
1.
2.
3.
4.
ПОНЯТИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРОВ ............ 4
1.1.
Понятие вычислительный кластер ................................................................................ 4
1.2.
Концепция кластерных систем ...................................................................................... 4
1.3.
Область применения вычислительных кластеров ........................................................ 5
АППАРАТНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРОВ ......................... 6
2.1.
Требования к аппаратному обеспечению ..................................................................... 6
2.2.
Пути достижения параллелизма .................................................................................... 7
МЕТОДЫ ПОСТРОЕНИЯ ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРОВ ...................................10
3.1.
История и особенности построения кластерных систем ...........................................10
3.2.
Методы построения и типы кластеров ........................................................................11
3.3.
Коммутационная сеть вычислительного кластера. ....................................................13
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРОВ ....................20
4.2.
Менеджер ресурсов кластера .......................................................................................23
4.2.1. Torque .......................................................................................................................26
4.2.2. Microsoft HPC Cluster Server...................................................................................27
4.3.
Интерфейс MPI, как основная среда межпроцессорной передачи данных .............29
4.3.1. MPICH ......................................................................................................................31
4.3.2. MPI.NET ...................................................................................................................35
4.4.
5.
Система мониторинга кластера....................................................................................36
СОВРЕМЕННЫЕ НАПРАВЛЕНИЕ РАЗВИТИЯ ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРОВ
37
ЗАКЛЮЧЕНИЕ: ...........................................................................................................................38
Список использованной литературы ..........................................................................................38
2
Введение
Эффективный
анализ
данных
требует
наличия
высокопроизводительных средств и методов для их обработки. Существует
большое число научных направлений, в которых было накоплено достаточно
опыта и данных для проведения анализа. Это могут быть исследования по
анализу статистических данных, экспериментальных данных или же высоко
затратное моделирование. В связи с этим были разработаны способы
повышения производительности вычислений, как на программном, так и на
аппаратном уровне. Например, такие как директивы многопоточного
программирования (множественные потоки выполнения), использование
более производительных процессоров, использование графических адаптеров
для обеспечения повышенной производительности расчетов сложных
математических задач. А также использование распределенных кластерных
систем.
Использование
каждой
из
этих
технологий
имеет
свои
преимущества. Решать сложные вычислительные задачи наиболее просто с
использованием
параллельных
потоков
выполнения.
Использование
кластерных систем позволяет получить самую высокую производительность
наряду с наиболее простой возможностью масштабирования. В связи с этим
наибольший интерес для исследования представляют системы на основе
вычислительных кластеров.
Цель работы
Рассмотреть методы построения и организации вычислительных
кластеров. Описать используемое программное обеспечение для
их
организации.
3
1. ПОНЯТИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ
ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРОВ
1.1.
Понятие вычислительный кластер
Для начала дадим определение вычислительного кластера. Кластер это группа вычислительных машин, которые связаны между собою и
функционируют как один узел обработки информации (Определение DEC).
Как
правило,
кластер
представляет
собой
группу
однородных
вычислительных узлов, соединенных между собой высокоскоростным
каналом связи. [1]
1.2.
Концепция кластерных систем
Согласно концепции определению кластерной системы, структура
типичного кластера может быть представлена следующим рисунком.
Рисунок 1 - Кластерная система
LAN — Local Area Network, локальная сеть
SAN — Storage Area Network, сеть хранения данных
4
1.3.
Область применения вычислительных кластеров
Как правило, кластерные системы применяются при решении сложных
научных задач. Это могут быть задачи физики, математики, механики и т.д.
Активное применение кластерные системы находят в решении задач
моделирования и Data Mining. Анализ больших объемов данных требует
высокой скорости их обработки. В связи с этим задачи анализа данных также
могут решаться при помощи вычислительных кластеров.
Рисунок 2 - Суперкомпьютерный кластер
В России суперкомпьютерные кластеры, как правило, применяются для
решения сугубо научных задач. В связи с этим большинство российских
кластеров расположены в университетах и НИИ.
5
2. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ
КЛАСТЕРОВ
Для обеспечения высокой производительности и эффективности
работы вычислительных кластеров требуются самые производительные и
современные
компоненты.
В
силу
специфики
предметной
области,
изготовление такого оборудования требует удаление повышенного внимания
таким показателям как высокая производительность и надежность. Наиболее
известные
производители
специализированые
линейки
аппаратного
обеспечения
оборудования,
включающие
имеют
в
себя
исключительно аппаратное обеспечение для вычислительных кластеров
(графические карты NVidia Tesla, AMD FirePro; кластерные системы HP,
IBM, Fujitsu). В сфере производства высокопроизводительных решений для
суперкомпьютерных
кластеров
присутствуют
компании,
специализирующиеся на поставках оборудования для суперкомпьютеров (ТПлатформы, Ниагара) [1].
Для того чтобы оценить наиболее производительные и эффективные
решения
рассмотрим
архитектурные
особенности
оборудования
вычислительных кластеров.
2.1.
Требования к аппаратному обеспечению
Оборудование суперкомпьютерных кластеров должно отвечать ряду
требований для обеспечения требуемого уровня производительности. К
таким требованиям можно отнести:
1.
Высокая готовность.
2.
Высокое быстродействие.
3.
Масштабирование.
4.
Общий доступ к ресурсам.
5.
Удобство обслуживания.
6
Следует учитывать, что в зависимости от решаемых задач, отдельным
пунктам из этого списка может быть уделено большее значение.
2.2.
Пути достижения параллелизма
В общем плане под параллельными вычислениями понимаются
процессы обработки данных, в которых одновременно могут выполняться
нескольких машинных операций [2]. Достижение параллелизма возможно
только при выполнимости следующих требований к архитектурным
принципам построения вычислительной системы:
 независимость функционирования отдельных устройств ЭВМ - данное
требование
относится
в
равной
степени
ко
всем
основным
компонентам вычислительной системы - к устройствам ввода-вывода, к
обрабатывающим процессорам и к устройствам памяти;
 избыточность элементов вычислительной системы - организация
избыточности может осуществляться в следующих основных формах:
 использование специализированных устройств таких, например, как
отдельных
процессоров
для
целочисленной
и
вещественной
арифметики, устройств многоуровневой памяти (регистры, кэш);
 дублирование устройств ЭВМ путем использования, например,
нескольких
однотипных
обрабатывающих
процессоров
или
нескольких устройств оперативной памяти.
Дополнительной формой обеспечения параллелизма может служить
конвейерная
реализация
обрабатывающих
устройств,
при
которой
выполнение операций в устройствах представляется в виде исполнения
последовательности составляющих операцию подкоманд; как результат, при
вычислениях на таких устройствах могут находиться на разных стадиях
обработки одновременно несколько различных элементов данных [2].
7
При рассмотрении проблемы организации параллельных вычислений
следует различать следующие возможные режимы выполнения независимых
частей программы:
 многозадачный режим (режим разделения времени), при котором для
выполнения процессов используется единственный процессор; данный
режим является псевдопараллельным, когда активным (исполняемым)
может быть один единственный процесс, а все остальные процессы
находятся в состоянии ожидания своей очереди на использование
процессора. Использование режима разделения времени может
повысить эффективность организации вычислений (например, если
один из процессов не может выполняться из-за ожидания вводимых
данных). Процессор может быть задействован для готового к
исполнению процесса, кроме того, в данном режиме проявляются
многие
эффекты
параллельных
вычислений
(необходимость
взаимоисключения и синхронизации процессов и др.) и, как результат,
этот режим может быть использован при начальной подготовке
параллельных программ;
 параллельное выполнение, когда в один и тот же момент времени
может выполняться несколько команд обработки данных; данный
режим вычислений может быть обеспечен не только при наличии
нескольких процессоров, но реализуем и при помощи конвейерных и
векторных обрабатывающих устройств;
 распределенные вычисления; данный термин обычно используют для
указания параллельной обработки данных, при которой используется
несколько обрабатывающих устройств, достаточно удаленных друг от
друга и в которых передача данных по линиям связи приводит к
существенным временным задержкам. В результате эффективная
обработка данных при таком способе организации вычислений
возможна
только
для
параллельных
алгоритмов
с
низкой
8
интенсивностью
потоков
межпроцессорных
передач
данных;
перечисленные условия является характерными, например, при
организации
вычислений
в
многомашинных
вычислительных
комплексах, образуемых объединением нескольких отдельных ЭВМ с
помощью каналов связи локальных или глобальных информационных
сетей;
9
3. МЕТОДЫ ПОСТРОЕНИЯ ВЫЧИСЛИТЕЛЬНЫХ
КЛАСТЕРОВ
3.1.
История и особенности построения кластерных
систем
Высокопроизводительные вычисления на основе кластеров стали
появляться сравнительно недавно.
До конца 80-х практически все
суперкомпьютеры представляли собой большой массив соединенных между
собой процессоров. Подобные разработки чаще всего были уникальными и
имели огромную стоимость не только приобретения, но и поддержки.
Поэтому в 90-х годах все более широкое распространение стали получать
кластерные системы, которые в качестве основы используют недорогие
однотипные вычислительные узлы [3].
К основным преимуществам кластеров можно отнести относительно
низкую стоимость вычислительных узлов и легкую расширяемость. В
качестве основного недостатка выступает сложность отладки параллельных
программ для систем с разделенной памятью.
Как уже было сказано выше, кластеры представляют собой системы с
разделенной
памятью,
поэтому
типичное
параллельное
приложение
представляет собой совокупность нескольких процессов, исполняемых на
разных вычислительных узлах и взаимодействующих по сети. В принципе,
разработчик
может
полностью
взять
на
себя
программирование
распределенного приложения и самостоятельно реализовать общение по сети
на основе сокетов, например. Однако в настоящее время существует
довольно большое число технологий, упрощающих создание параллельных
приложений для кластеров (например, MPI). Эти технологии существуют
уже достаточно продолжительное время, за которое они доказали свою
состоятельность
и
легли
в
основу
огромного
числа
параллельных
приложений[1].
10
Кластеры
стали
высокопроизводительных
фактическим
вычислений,
стандартом
и
можно
с
в
области
большой
долей
уверенности сказать, что этот подход будет актуален всегда: сколь бы
совершенен не был один компьютер, кластер из узлов такого типа справится
с любой задачей гораздо быстрее.
3.2.
Методы построения и типы кластеров
Кластерные системы могут иметь различную организационную
структуру. По физической реализации кластеры бывают:
11
12
 Кластеры специальной разработки с быстродействием 10 –10
плавающих операций в секунду (терафлопсовый диапазон). К таким
кластерам
относится
СКИФ
(Суперкомпьютерная
Инициатива
Феникс), созданный по программе Союза Беларусь–Россия. Появление
этого кластера и сам процесс разработки подготовили основу для
развития параллельных вычислений в республике, вследствие чего
возникла проблема широкой подготовки программистов для решения
параллельных задач.
 Кластеры, которые строятся на базе уже имеющихся локальных сетей
из персональных компьютеров. Для создания кластеров в этом случае
требуется только дополнительное программное обеспечение (ПО),
поэтому их можно организовать в вузах и небольших организациях.
Такие кластеры имеют относительно небольшое быстродействие, но их
удобно
использовать
для
обучения
основам
параллельного
программирования и подготовки параллельных программ, которые
затем могут выполняться на больших кластерах [4].
По способу представления вычислительных узлов можно выделить
следующие группы:
 Кластер расположен в виртуальной среде. Все узлы вычислительного
кластера
являются
виртуальными
машинами.
Как
правило,
11
используются гипервизоры на основе базовой ОС(Microsoft Virtual PC,
VMware Workstation, QEMU, Parallels, VirtualBox) или же гибридные
гипервизоры(Microsoft Virtual Server, Sun Logical Domains, Xen, Citrix
XenServer, Microsoft Hyper-V). В более редких случаях могут
использоваться автономные гипервизоры, не использующие базовую
операционную системы. Такие гипервизоры используют собственные
драйвера и планировщик, поэтому не зависят от базовой ОС. Так как
автономный гипервизор работает непосредственно на оборудовании, то
он более производителен. В качестве оборудования, на котором
функционируют виртуальные машины, может выступать один или
несколько высокопроизводительных сервером или персональный
компьютер.
 Кластер на основе физических серверов. При такой реализации, в узлах
кластера расположены только серверы или персональные компьютеры.
В связи с этим, производительность кластера ограничена только
производительностью или количеством его узлов.
По однородности вычислительных узлов кластеры могут быть:
 Однородными.
Все
узлы
кластера
являются
однотипными.
Центральный процессор, оперативна память, дисковая подсистема,
сетевые адаптеры - все компоненты узла являются однотипными. При
такой организации узлы являются взаимозаменяемыми. Замена
производится либо на аналогичный компонент вычислительного узла,
либо
производится
замена
узла
целиком.
Такая
организация
вычислительного кластера позволяет свести к минимуму задержки,
связанные с неравномерной загрузкой суперкомпьютера. Как правило
не возникает ситуаций при которых одни вычислительные узлы
простаивают в связи с тем, что на других еще производится обработка
данных.
12
 Смешанного типа. При такой организации в качестве узла кластера
может
выступать
любой
вычислитель,
который
поддерживает
программное обеспечение и имеет общий доступ к разделяемым
ресурсам. В связи с этим, могут наблюдаться неоднородность загрузки
вычислительного кластера. Более производительные узлы будут
заканчивать работу раньше, чем менее производительные. При работе
на таком кластере требуется уделять большее внимание при написании
программ.
3.3.
Коммутационная сеть вычислительного кластера.
Коммутационная сеть кластера беспрецедентно важна. Именно она
определяет среду, в которой передаются данные между процессорами. В
современных кластерах используются каналы передачи данных более 100
Гбит/с. На скорость передачи данных большее влияние оказывает сетевые
провода и коммутационное оборудование. Наиболее распространенной
сетью, во всем мире, является сеть InfiniBand.
Рисунок 3 - CX4 порты InfiniBand (коммутатор Voltaire ISR-6000)
InfiniBand это архитектура коммутации соединений типа "точка-точка".
Каждая линия связи представляет собой четырехпроводное двунаправленное
соединение с базовой пропускной способностью 2,5 Гбит/с в каждом
направлении и гибким выбором физических линий передачи. В архитектуре
InfiniBand определен многоуровневый протокол (физический, канальный,
сетевой и транспортный уровни) для реализации аппаратными средствами, а
также программный уровень для поддержки управляющих функций и
13
скоростного обмена данными (с малыми задержками) между устройствами
[5]. Перечислим основные характеристики технологии InfiniBand:
 Возможность масштабирования пропускной способности линий связи
до 300 Гбит/с в дуплексном режиме;
 поддержка различных физических линий: печатных проводников (на
объединительной панели), медных или оптоволоконных кабелей;
 связь на базе коммутации пакетов с сохранением целостности данных и
управлением потоком;
 качество обслуживания;
 аппаратный гибкий транспортный механизм;
 оптимизированный программный интерфейс и удаленный прямой
доступ в память (RDMA);
 инфраструктура
управления,
поддерживающая
функции
отказоустойчивости, аварийного переключения и "горячей" замены.
В
спецификации
масштабируемый
InfiniBand
физический
определен
уровень,
чрезвычайно
обеспечивающий
гибкий
и
возможности
дальнейшего наращивания пропускной способности и добавления новых
типов поддерживаемых физических линий. Его характеристики:
 двунаправленный обмен сигналами со скоростями 2,5 Гбит/с (1Х), 10
Гбит/с (4Х) и 30 Гбит/с (12Х). Пропускная способность указана для 10разрядных данных. При схеме кодирования 8В/10В к 8 разрядам
данных добавляются дополнительные два разряда, необходимые для
синхронизации. Таким образом, реальная пропускная способность
линий InfiniBand составляет 2, 8 и 24 Гбит/с соответственно;
 малое число требуемых физических проводников: всего 4, 16 или 48
проводников для линий 1Х, 4Х и 12Х;
 встроенные тактовые импульсы со схемой кодирования 8В/10В без
передачи сигналов по вспомогательному каналу;
14
 объединение каналов связи на физическом уровне;
 поддержка различных типов физических проводников: с медной жилой
(для экономии) и с оптоволокном (на большие расстояния);
 несложный физический уровень с малым потреблением энергии.
Применение схемы кодирования 8В/10В и встраивание тактовых
импульсов в поток данных снижает требования, предъявляемые к прокладке
проводников по объединительным панелям по сравнению с другими
технологиями ввода/вывода с раздельными шинами данных и линиями
передачи синхроимпульсов, когда расфазировка сигналов данных и
синхроимпульсов может нарушить целостность сигнала и привести к
ошибкам передачи [5].
Имеется возможность объединения нескольких линий InfiniBand на
физическом уровне в один канал на основе технологии "расщепления
последовательности байтов" (byte stripping). Для канала 4Х это означает
одновременную посылку четырех байтов по каждой отдельной линии
InfiniBand (аналогично, двенадцати байтов по каждой линии в составе канала
12Х InfiniBand). Этот уникальный по своим возможностям механизм
объединения на физическом уровне превосходит по своим характеристикам
аналогичный механизм, реализованный в стандарте Ethernet 802.3ad. В
данном случае объединенные линии всегда используются более эффективно.
15
Этого нельзя сказать про Ethernet, где параллельные линии могут
использоваться лишь для одновременной пересылки пакетов (и только
целиком) от разных источников. Тем самым предотвращается "вклинивание"
маленьких пакетов в передачу больших с последующими нарушением
порядка пакетов, повторными передачами и т.д. Таким образом, на практике
объединение Ethernet-линий не приводит к ожидаемому повышению
пропускной способности, поскольку параллельные линии используются в
полную силу лишь 15 - 20% времени.
Рисунок 4 - Кабель InfinyBand
Другое достоинство архитектуры InfiniBand заключается в применении
простой дифференциальной схемы обмена сигналами на физическом уровне.
Эта
схема
отличается
более
высокой
устойчивостью
к
помехам,
целостностью сигналов и меньшей вероятностью ошибок передачи при
гораздо меньшем потреблении энергии, чем более сложные формирователи
физического уровня как, например, в Gigabit Ethernet. Поскольку длина
InfiniBand-линий ограничена 17 метрами при использовании кабелей с
медным
проводом,
неудивительно,
что
формирователи
InfiniBand
потребляют на порядок меньше мощности, чем формирователи Gigabit
Ethernet, рассчитанные на линии связи длиной более 100 метров [5].
Столь
низкий
уровень
потребления
энергии
формирователями
InfiniBand обеспечивает более высокую степень объединения, чем может
предложить Ethernet-коммутатор. Несколько производителей уже предлагают
16
однокристальные
интегральные
InfiniBand-коммутаторы
с
32-мя
интегрированными приемопередатчиками с пропускной способностью 2,5
Гбит/с каждый. Таким образом, интегрированные InfiniBand-коммутаторы
обеспечивают значительную экономию средств, пространства и энергии по
сравнению с многокристальными устройствами для Gigabit Ethernet.
В основе построения системной сети (SAN) на базе InfiniBand лежат
четыре типа основных системных компонентов, связанных друг с другом
линиями InfiniBand:
 канальный адаптер главного узла (НСА - Host Channel Adapter),
который обеспечивают соединение центрального процессора главного
узла со структурой InfiniBand и содержит аппаратные средства
поддержки высокоэффективного защищенного обмена с системной
памятью;
 канальный адаптер целевого узла (ТСА - Target Channel Adapter),
который обеспечивают соединение структуры InfiniBand с другими
устройствами
ввода/вывода
типа
Ethernet,
Fibre
Channel
или
запоминающими устройствами;
 коммутатор, который обеспечивают пересылку пакетов в конечные
точки по указанному адресу и с указанным качеством обслуживания;
 маршрутизатор, который обеспечивают передачу пакетов между
подсетями; Маршрутизаторы InfiniBand делят сеть InfiniBand на
подсети и не являются источниками и приемниками никаких других
пакетов, кроме управляющих;
17
Рисунок 5 - Основные компоненты SAN-сети на основе InfiniBand
В каждой подсети работает своя программа-менеджер подсети (SM
Subnet Manager), который выполняет задачи обнаружения связной структуры,
инициализации устройств и организации соединений. SM-менеджер может
исполняться в хост-системе, коммутаторе и маршрутизаторе. В состав всех
компонентов входит агент управления подсетью (SMA Subnet Management
Agent), исполняющийся как клиент, выполняющий запросы SM-менеджера.
В InfiniBand определен весьма гибкий набор линий связи и механизмов
транспортного уровня, обеспечивающий точную настройку характеристик
SAN-сети на базе InfiniBand в зависимости от прикладных требований, в
число которых входят:
 пакеты переменного размера;
 максимальный размер единицы передачи: 256, 512, 1К, 2К и 4К байт;
 заголовки локальной трассы уровня 2 (LRH Local Route Header) для
направления пакетов в нужный порт канального адаптера;
 дополнительный заголовок уровня 3 для глобальной маршрутизации
(GRH Global route header);
 поддержка групповой передачи;
18
 вариантные и инвариантные контрольные суммы (VCRC и ICRC) для
обеспечения целостности данных.
Выбор максимального размера единицы передачи определяет такие
характеристики системы, как неустойчивость синхронизации пакетов,
величина накладных расходов на инкапсуляцию и длительность задержки,
используемые
при
разработке
систем
с
несколькими
протоколами.
Возможность опускать сведения о глобальном маршруте при пересылке в
пункт
назначения
локальной
подсети
позволяет
снижать
издержки
локального обмена данными. Код VCRC рассчитывается заново каждый раз
при прохождении очередного звена канала связи, а код ICRC при получении
пакета пунктом назначения, что гарантирует целостность передачи по звену
и всему каналу связи.
В InfiniBand определены управление потоком на основе разрешений
(для предотвращения блокировок головного пакета (head of line blocking) и
потерь пакетов), управление потоком на канальном уровне и сквозное
управление потоком. По своим возможностям управление на канальном
уровне на основе разрешений превосходит широко распространенный
протокол XON/XOFF, устраняя ограничения на максимальную дальность
связи и обеспечивая лучшее использование линии связи. Приемный конец
линии связи посылает передающему устройству разрешения с указанием
объема данных, которые могут быть надежно получены. Данные не
передаются
до
тех
пор,
пока
приемник
не
пошлет
разрешение,
свидетельствующее о наличии свободного пространства в приемном буфере.
Механизм передачи разрешений между устройствами встроен в протоколы
соединений и линий связи для гарантии надежности управления потоком.
Управление потоком на канальном уровне осуществляется для каждого
виртуального канала отдельно, чем предотвращается распространение
конфликтов передачи, свойственное другим технологиям типа Ethernet.
19
4. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ
КЛАСТЕРОВ
От используемого программного обеспечения в вычислительном
кластере зависит производительность, надежность и специфика решаемых
задач. Именно программное обеспечение определяет круг задач, которые
могут решаться на кластере. В качестве необходимого программного
обеспечения можно выделить:
 Операционная система (или гипервизор, при отказе от базовой ОС).
Определяет, какое программное обеспечение, и в каких версиях будет
использовано при работе на кластере.
 Система
управления
задачами
кластера.
Представляет
собой
программный продукт, в котором производится управление всеми
узлами кластера и поступающими задачами.
 Система мониторинга кластера. Включает в себя механизмы для
отслеживания следующих параметров: производительность узлов,
сетевая доступность, нагрузка на подсистему хранения данных.
Резервные каналы доступа к узлам кластера.
4.1.
Операционные системы
Операционная система — комплекс управляющих и обрабатывающих
программ, которые, с одной стороны, выступают как интерфейс между
устройствами вычислительной системы и прикладными программами, а с
другой стороны — предназначены для управления устройствами, управления
вычислительными
вычислительных
процессами,
ресурсов
между
организации надёжных вычислений.
эффективного
вычислительными
распределения
процессами
и
Это определение применимо к
большинству современных операционных систем общего назначения.
В качестве операционных систем для кластеров, как правило,
используются
серверные
версии
UNIX
подобных
операционных
20
систем(SUSE Server, Red Hut, Ubuntu Server). До недавнего времени эти
системы были фактически стандартом для вычислительных кластеров. После
2006 года в связи с выходом Microsoft HPC Cluster Server появилась
возможность создавать вычислительные кластеры на основе операционных
систем Microsoft.
При выборе операционной системы следует основываться, прежде
всего, на рекомендациях разработчиков программного обеспечения. Однако,
если есть выбор, то при прочих равных условиях следует отдать
предпочтение Linux.
Под Linux доступно огромное количество серверного программного
обеспечения, компиляторов, библиотек, средств отладки и пр. Большое
количество программного обеспечения имеется в свободном доступе, для
многих программ есть исходные коды и обширная документация. Плюсом
Linux
является
"прозрачность"
для
пользователя
и
системного
администратора, что позволяет быстрее и проще разрешать все возникающие
проблемы.
Основой
кластера
является
не
операционная
система,
а
коммуникационная среда (PVM, MPI), обеспечивающая возможность частям
параллельной
программы,
выполняющимся
на
разных
компьютерах,
эффективно взаимодействовать между собой.
Рассмотренные ранее средства для построения кластера (PVM, MPI)
имеют реализации как для операционных систем семейства UNIX (Linux,
FreeBSD и т.п.), так и для систем фирмы Майкрософт. Кластер может быть
создан
и
под
ОС
Windows,
причем
трудозатраты
на
установку
коммуникационной среды будут такими же, как и в варианте с UNIX, то есть
небольшими. Основная трудность будет заключаться в том, чтобы научиться
писать параллельные программы.
21
Однако,
следует
заметить,
что
подавляющее
большинство
высокопроизводительных кластеров в мире работает все же в среде UNIX.
Такой выбор обусловлен небольшими трудозатратами по настройке и
установке кластера, более низкими требованиями ОС, по сравнению с ОС
Windows,
и
большим
обеспечения.Поскольку
количеством
библиотеки
поддерживаемого
для
параллельных
программного
вычислений
MPICH/MPI являются кроссплатформенными, то выбор операционной
системы (Windows vs Linux) не важен. Однако следует учесть тот факт, что
Linux является заметно менее ресурсоемкой системой. Например, при
использовании PelicanHPC GNU Linux система занимает в оперативной
памяти не более 40Мб! Вся остальная память доступна параллельной
программе. Это очень важный фактор в том случае, когда кластер
используется с целью моделирования процессов на как можно более
подробной сетке.
В настоящее время основной операционной системой, используемой
при проведении учебных занятий в вузах, является операционная система
Windows. При всех достоинствах системы ей присущи некоторые недостатки,
существенно затрудняющие ее использование. К таким недостаткам можно
отнести:
1. Малую защищенность системы от неквалифицированных действий
пользователей.
2. Подверженность системы различного рода "взломам" при сетевом
использовании и подверженность вирусам.
3. Неустойчивость работы системы, проявляющаяся в зависаниях и
потере информации.
4. Большая стоимость лицензий на использование систем.
5. Закрытость операционной системы, затрудняющая написание учебных
программ в ее среде и обучение.
22
6. Большие
требования
к
возможностям
компьютера
(память,
быстродействие).
7. Частая смена версий ОС (примерно каждые два года).
На данный момент наиболее востребованной ОС для кластеров
является Linux в различных вариациях. Но и в линейках серверных ОС
компании
Microsoft
появляются
дистрибутивы,
ориентированные
на
высокопроизводительные расчёты.
4.2.
Менеджер ресурсов кластера
Менеджер
ресурсов
является
самой
важной
частью
любого
вычислительного кластера. Именно он находится в его основе и определяет
то, насколько эффективно он будет использоваться. Именно менеджер
ресурсов управляет всей инфраструктурой кластера как то: очередь
пользовательских задач, используемые вычислительные узлы, используемые
процессоры на узлах, планировщик задач. Наиболее известным менеджером
ресурсов для кластеров под управлением ОС Linux является Torque.
Первый шаг к использованию вычислительных ресурсов узлов в
глобальной среде грид – это их локальная интеграция в многопроцессорный
комплекс, который используется в режиме пакетной обработки заданий. Для
этой цели разработаны программные продукты, называемые Менеджерами
Ресурсов (Resource Manager), кластерными системами управления (Cluster
Management System) или Системами управления пакетной обработкой (СПО).
СПО широко применяются во многих вычислительных центрах
коллективной обработки. Известно более двадцати СПО, из которых
наиболее популярны свободно распространяемые Torque, PBS, SGE и Condor,
а также коммерческие LoadLeveler и LSF.
Использование СПО в кластере позволяет перейти от работы с
индивидуальными компьютерами, распределенными в локальной сети, к
работе с единым многопроцессорным вычислительным комплексом в режиме
23
пакетной обработки заданий. Пользователь может помещать задания в
общую для комплекса очередь, используя единый интерфейс для запуска,
модификации,
снятия
и
получения
информация
о
заданиях.
СПО
автоматически распределяет задания по узлам с учетом их загрузки,
выполняет и доставляет результаты пользователю. Все СПО имеют богатый
настраиваемый набор средств для управления процессом обработки заданий.
Все СПО имеют примерно одинаковые наборы функций, но
отличаются по отдельным характеристикам:
 PBS - Portable Batch System. Обеспечивает управление заданиями в
пакетном режиме в среде компьютеров с ОС Unix. Сегодня
предлагается OpenPBS – свободно распространяемая версия и PBSPro –
расширенная коммерческая версия. Sun Grid Engine (SGE). Семейство
из нескольких различных вариантов СПО.
 Sun Grid Engine - свободно распространяемая версия, предназначенная
для управления ресурсами одного проекта или подразделения.
Основана на полной централизации обслуживания ресурсов и
пользователей. Sun Grid Engine реализуется открытым сообществом
разработчиков и спонсируется Sun Microsystems.
 Sun Grid Engine, Enterprise Edition (SGEEE) - коммерческая версия,
предназначенная для управления ресурсами предприятий (campus grid)
и способная обслуживать несколько независимых проектов и групп
пользователей. SGEEE включает модуль для определения политики
разделения ресурсов между независимо работающими пользователями.
Для каждого пользователя определяется квота от общего количества
ресурсов, в соответствии с которой происходит их распределение
между запущенными заданиями.
 Condor.
Свободно
распространяемый
продукт,
позволяющий
использовать в кластере машин с “хозяином”, который отдает свою
машину на время, пока она простаивает. В связи с этим Condor имеет
24
нескольких важных механизмов поддержки контрольных точек,
рестарта и миграции заданий. В Condor развит весьма мощный язык
описания ресурсов, позволяющий формально описать как требования к
типам и объемам ресурсов со стороны задания, так и ограничения на
доступ к ресурсам со стороны владельцев.
 LoadLeveler - коммерческий программный продукт компании IBM,
предназначенный для
параллельных
пакетной
обработки
(многопроцессорных)
вычислительных
серверов.
последовательных
заданий
Система
на
обеспечивает
и
кластерах
из
средства
для
подготовки, запуска и слежения за заданиями в режиме пакетной
обработки в гетерогенной сети компьютеров.
 Текущая версия LoadLeveler Version 3.1 дополнена рядом новых
характеристик, таких как новые планировщики; механизм поддержки
контрольных точек; интеграция с AIX WorkLoad Manager; включает
примеры сценариев.
 LSF (Load Sharing Facility) - коммерческая кластерная система
компании Platform Computing Corporation для управления пакетной
обработкой.
Представляет
собой
полномасштабную
систему,
обеспечивающую все существенные требования к СПО: поддержку
очередей заданий, сбор информации о наличии и занятости ресурсов в
кластере, нахождение компьютеров с подходящими ресурсами для
выполнения
заданий,
поддержку
режима
контрольных
точек
(checkpointing), миграцию заданий и др.
 MAUI - внешний планировщик, который может использоваться взамен
штатных планировщиков для нескольких СПО: PBS, SGE, Loadleveler,
LSF, Wiki. MAUI - открытый продукт, который отличается большим
набором режимов (политик) планирования и наличием механизма
предварительного
резервирования.
интерес в связи с тем, что
MAUI
это
представляет
большой
единственная из свободно
распространяемых СПО, способная обеспечивать автоматический
25
запуск многопроцессорных заданий, избегая при этом неоправданного
простоя ресурсов. Реализация основана на мощном алгоритме
планирования Backfill.
4.2.1.
Torque
Terascale Open-source Resource and QUEue Manager – Новая версия
PBS, разработанная компанией Cluster Resources, Inc. на основе OpenPBS.
Система обладает рядом дополнительных усовершенствований:
1. Улучшена масштабируемость (работа в среде до 2500 узлов).
2. Повышена устойчивость к сбоям (внесены дополнительные проверки).
3. Усовершенствован интерфейс Планировщика с целью его обеспечения
дополнительной и более точной информацией.
4. Усовершенствована система записей в log файлах.
Система управления заданиями Torque предназначена для управления
запуском задач на многопроцессорных вычислительных установках (в том
числе
кластерных).
Она
позволяет
автоматически
распределять
вычислительные ресурсы между задачами, управлять порядком их запуска,
временем работы, получать информацию о состоянии очередей. При
невозможности запуска задач немедленно, они ставятся в очередь и ожидают,
пока не освободятся нужные ресурсы[6].
Torque
главным
образом
используется
на
многопроцессорных
вычислительных установках. Объединение ресурсов в вычислительных
установках обычно уменьшает необходимость в постоянном управлении
ресурсами
для
пользователей.
Настроенная
однажды
правильно
вычислительная установка абстрагируется от многих деталей, связанных с
запуском и управлением заданиями. Пользователю обычно надо установить в
параметрах
лишь
минимальные
требования
к
задаче,
и
ему
нет
необходимости знать даже имена вычислительных узлов, на которых задача
выполняется.
26
Система Torque состоит из нескольких демонов, выполняющих
различные функции по управлению потоком заданий. Вычислительная
установка обязана иметь главный узел (консоль кластера), на котором
запущен демон pbs_server. Это основной демон - менеджер, собирающий
информацию о структуре кластера и запущенных заданиях. В зависимости от
необходимости или параметров системы главный узел может быть
предназначен только для этого или же также исполнять роль других
компонент системы. Например, он может быть так же вычислительным
узлом кластера.
Роль вычислительных узлов - выполнять поставленные задачи. На
каждом из них работает демон pbs_mom для того, чтобы начинать,
прекращать
и
управлять
поставленными
в
очередь
задачами.
Это
единственный демон, который должен быть запущен на вычислительном
узле кластера.
И наконец, демон pbs_sched. Этот демон занимается собственно
планированием запуска и остановки задач. Он должен быть запущен на
главном компьютере кластера.
4.2.2.
Microsoft HPC Cluster Server
Программное обеспечение Microsoft HPC Pack представляет собой
комплект
дополнительного
программного
обеспечения
для
Microsoft
Windows HPC Server и предназначен для управления задачами в рамках
высокоскоростной вычислительной сети. Microsoft HPC Pack 2008 R2
помогает повышать эффективность работы пользователей и облегчающее
администрирование кластеров.
27
Рисунок 6 - Интерфейс менеджера Windows HPC Server 2008
Систему
Windows
HPC
Server
2008
R2
можно
эффективно
использовать на кластерах с большим количеством узлов. В решении
реализованы новая высокоскоростная технология NetworkDirect RDMA,
эффективные и масштабируемые средства управления кластером, сервисноориентированная архитектура (SOA) инструмента планирования заданий и
полная
совместимость
с
инфраструктурой
за
счет
соответствия
спецификации High Performance Computing Basic Profile (HPCBP).
HPC Server 2008 R2 позволяет быстро и просто настраивать и запускать
кластер. Текущий CTP включает ряд усовершенствований в инфраструктуре
распределенного
управления,
включая
возможность
создавать
карты
нагрузок и использовать сторонние продукты для создания отчетов.
Улучшенный планировщик задач информирует о выполнении задачи и
позволяет осуществлять подключение/отключение дополнительных узлов к
кластеру. Основные возможности менеджера:
 Быстрое
развертывание
и
настройка
кластера,
инструментов
мониторинга и планирования заданий.
 Использование специальных инструментов установки для сетей,
удаленных систем, системы управления узлами и защиты кластера.
28
 Улучшенная интеграция с IT-инфраструктурой.
 Оптимизация
существующей
установки
Active
Directory
для
упрощения настроек аутентификации и защиты и сервисов Remote
Installation Services (RIS) для удаленной инсталляции, Microsoft Systems
Management Server (SMS) для управления обновлениями узлов,
Microsoft Operations Manager (MOM) для управления системами и
заданиями, Microsoft Management Console (MMC) для встроенных
системных инструментов.
Windows Compute Cluster Server (CCS), впервые выпущенный в июне
2006 года разработан для высокотехнологичных приложений, которые
требуют кластерных вычислений. Издание разработано для развертывания на
множестве компьютеров, которые собираются в кластер для достижения
мощностей суперкомпьютера. Каждый кластер на Windows Compute Cluster
Server
состоит
из
одной
или
нескольких
управляющих
машин,
распределяющих задания и нескольких подчиненных машин, выполняющих
основную работу. Computer Cluster Server использует the Microsoft Messaging
Passing Interface v2 (MS-MPI для связи между исполняющими машинами в
сети-кластере.
Он
связывает
части
кластера
вместе
мощным
коммутационным механизмом. API состоит из более чем 160 функций. MS
MPI был разработан как совместимым с open source интерфейсом MPI2,
который широко используется в высокопроизводительных вычислениях. За
некоторыми исключениями по соображениям безопасности MS MPI
покрывает
функциональность
MPI2
за
исключением
возможностей
динамического порождения процессов.
4.3.
Интерфейс MPI, как основная среда
межпроцессорной передачи данных
Взаимодействие между узлами вычислительного кластера происходит
на уровне обмена сообщениями. Для этого используется интерфейс MPI.
Message Passing Interface (MPI, интерфейс передачи сообщений) —
29
программный интерфейс (API) для передачи информации, который позволяет
обмениваться сообщениями между процессами, выполняющими одну задачу.
Основные разработчики Уильямом Гроуппом, Эвином.
MPI является наиболее распространённым стандартом интерфейса
обмена данными в параллельном программировании, существуют его
реализации для большого числа компьютерных платформ. Используется при
разработке программ для кластеров и суперкомпьютеров. Основным
средством коммуникации между процессами в MPI является передача
сообщений друг другу. Стандартизацией MPI занимается MPI Forum. В
стандарте MPI описан интерфейс передачи сообщений, который должен
поддерживаться как на платформе, так и в приложениях пользователя. В
настоящее
время
существует
большое
количество
бесплатных
и
коммерческих реализаций MPI. Существуют реализации для языков Фортран
77/90, Си и Си++.
В первую очередь MPI ориентирован на системы с распределенной
памятью, то есть когда затраты на передачу данных велики, в то время как
OpenMP ориентирован на системы с общей памятью (многоядерные с общим
кэшем). Обе технологии могут использоваться совместно, дабы оптимально
использовать в кластере многоядерные системы.
Интерфейс MPI стал фактически стандартом в сфере взаимодействия
между узлами кластера. Для различных платформ существуют различные
варианты реализации интерфейса MPI:
 MPI.NET — реализация MPI для Windows.
 MPICH — самая распространённая бесплатная реализация, работает на
UNIX-системах и Windows NT.
 MPI/PRO for Windows NT — коммерческая реализация для Windows
NT.
 Intel MPI — коммерческая реализация для Windows / Linux.
30
 Microsoft MPI входит в состав Compute Cluster Pack SDK. Основан на
MPICH2,
но
включает
дополнительные
средства
управления
заданиями. Поддерживается спецификация MPI-2.
 HP-MPI — коммерческая реализация от HP.
 SGI MPT — платная библиотека MPI от SGI.
 Mvapich — бесплатная реализация MPI для Infiniband.
 Open MPI — бесплатная реализация MPI, наследник LAM/MPI.
 Oracle HPC ClusterTools — бесплатная реализация для Solaris
SPARC/x86 и Linux на основе Open MPI.
 MPJ — MPI for Java.
Если учитывать то, что операционные системы семейства Linux
являются наиболее распространенными на вычислительных кластерах, то
наиболее распространёнными и развиваемыми являются реализации MPI
именно для этих платформ. Однако не стоит забывать, что и компания
Microsoft
стремительно
развивает
свои
технологии
в
области
высокопроизводительных вычислений. Рассмотрим наиболее популярные из
реализаций MPI.
4.3.1.
MPICH
Message Passing Interface Chameleon — это одна из самых первых
разработанных библиотек MPI. На её базе было создано большое количество
других библиотек как бесплатных, так и коммерческих. В настоящее время
существует две ветви исходных кодов: MPICH1 и MPICH2. Разработка ветви
MPICH1 заморожена. Ветвь MPICH2 активно разрабатывается в Арагонской
лаборатории, с участием IBM, Cray, SiCortex, Microsoft, Intel, NetEffect,
Qlogic, Myricom, Ohio state university, UBC.
Рассмотрим схему работы программы с использованием директив
MPICH. Менеджер процессов smpd, который представляет собой системную
службу (сервисное приложение). Менеджер процессов ведёт список
31
вычислительных узлов системы, и запускает на этих узлах MPI-программы,
предоставляя им необходимую информацию для работы и обмена
сообщениями. MPICH состоит из следующих компонентов:
 Заголовочные файлы (.h) и библиотеки стадии компиляции (.lib),
необходимые для разработки MPI-программ.
 Библиотеки времени выполнения, необходимые для работы MPIпрограмм.
 Дополнительные утилиты, необходимые для настройки MPICH и
запуска MPI-программ.
Менеджер процессов является основным компонентом, который
должен быть установлен и настроен на всех компьютерах сети (библиотеки
времени выполнения можно, в крайнем случае, копировать вместе с MPIпрограммой). Остальные файлы требуются для разработки MPI-программ и
настройки
некоторого
«головного»
компьютера,
с
которого
будет
производиться их запуск.
Менеджер работает в фоновом режиме и ждёт запросов к нему из сети
со стороны «головного» менеджера процессов (по умолчанию используется
сетевой порт 8676). Чтобы как-то обезопасить себя от хакеров и вирусов,
менеджер требует пароль при обращении к нему. Когда один менеджер
процессов обращается к другому менеджеру процессов, он передаёт ему свой
пароль. Отсюда следует, что нужно указывать один и тот же пароль при
установке MPICH на компьютеры сети.
32
Рисунок 7 - Схема работы MPICH на кластере
В современных кластерах сеть передачи данных обычно отделяется от
управляющей сети
Запуск MPI-программы производится следующим образом:
1. Пользователь с помощью программы Mpirun (или Mpiexec, при
использовании MPICH2 под Windows) указывает имя исполняемого
файла MPI-программы и требуемое число процессов. Кроме того,
можно указать имя пользователя и пароль: процессы MPI-программы
будут запускаться от имени этого пользователя.
2. Mpirun передаёт сведения о запуске локальному менеджеру процессов,
у которого имеется список доступных вычислительных узлов.
33
3. Менеджер процессов обращается к вычислительным узлам по списку,
передавая запущенным на них менеджерам процессов указания по
запуску MPI-программы.
4. Менеджеры процессов запускают на вычислительных узлах несколько
копий MPI-программы (возможно, по несколько копий на каждом
узле), передавая программам необходимую информацию для связи
друг с другом.
Очень важным моментом здесь является то, что перед запуском MPIпрограмма не копируется автоматически на вычислительные узлы кластера.
Вместо этого менеджер процессов передаёт узлам путь к исполняемому
файлу программы точно в том виде, в котором пользователь указал этот путь
программе Mpirun. Это означает, что если вы, например, запускаете
программу C:\programm.exe, то все менеджеры процессов на вычислительных
узлах будут пытаться запустить файл C:\ programm.exe. Если хотя бы на
одном из узлов такого файла не окажется, произойдёт ошиб­ка запуска MPIпрограммы.
Чтобы каждый раз не копировать вручную программу и все
необходимые для её работы файлы на вычислительные узлы кластера,
обычно используют общий сетевой ресурс. В этом случае пользователь
копирует программу и дополнительные файлы на сетевой ресурс, видимый
всеми узлами кластера, и указывает путь к файлу программы на этом
ресурсе. Дополнительным удобством такого подхода является то, что при
наличии возможности записи на общий сетевой ресурс запущенные копии
программы могут записывать туда результаты своей работы.
Работа MPI-программы происходит следующим образом:
Программа
запускается
и
инициализирует
библиотеку времени
выполнения MPICH путём вызова функции MPI_Init.
34
Библиотека получает от менеджера процессов информацию о
количестве и местоположении других процессов программы, и устанавливает
с ними связь.
После этого запущенные копии программы могут обмениваться друг с
другом информацией посредством библиотеки MPICH. С точки зрения
операционной системы библиотека является частью программы (работает в
том же процессе), поэтому можно считать, что запущенные копии MPIпрограммы обмениваются данными напрямую друг с другом, как любые
другие приложения, передающие данные по сети.
Консольный
ввод-вывод
всех
процессов
MPI-программы
перенаправляется на консоль, на которой запущена Mpirun. Насколько я
понимаю,
перенаправлением
ввода-вывода
занимаются
менеджеры
процессов, так как именно они запустили копии MPI-программы, и поэтому
могут получить доступ к потокам ввода-вывода программ.
Перед завершением все процессы вызывают функцию MPI_Finalize,
которая корректно завершает передачу и приём всех сообщений, и отключает
MPICH.
Все описанные выше принципы действуют, даже если вы запускаете
MPI-программу на одном компьютере.
4.3.2.
MPI.NET
Message Passing Interface for .NET – это высокопроизводительное и
простое в реализации применение MPI. MPI.NET обеспечивает поддержку
для всех языков .NET (в частности, C#) и включает в себя значительные
расширения,
такие
как
автоматическая
сериализация
объектов,
что
обеспечивает написание программ для кластеров. Особенностью разработки,
используя MPI.NET является отсутствие необходимости изучать новые языки
программирования т.к. поддерживаются все языки платформы .NET а также
поддержка MPI.NET со стороны производителя операционной системы.
35
Пакет MPI.NET может быть установлен на операционные системы Windows
Compute Cluster Server, Windows HPC Server 2008, Windows XP, Windows
Vista, Windows 7. Для тестирования и выполнения программ требуется
установить пакет программ Windows HPC Server и MPI.NET SDK. Отладка
приложений производится с помощью набора утилит, которые позволяют
эмулировать кластер. В частности компиляция программ осуществляется с
помощью утилиты mpiexec. Эта утилита входит в пакет MPI.NET SDK. В
качестве аргументов утилита принимает число эмулируемых процессов,
имена хостов, рабочую директорию и имя файла.
4.4. Система мониторинга кластера
Большее внимание необходимо
уделять системам мониторинга
оборудования вычислительного кластера. Система мониторинга – это
контролирующее
звено.
При
обнаружении
нового
оборудования,
неисправностей в работе сети или любых других изменениях она должна
уведомить администратора. К основным задачам системы мониторинга
кластера можно отнести:
 Уровень загрузки процессоров вычислительного кластера.
 Уровень загрузки память на узлах.
 Контроль трафика по сети Ethernet.
 Контроль трафика по сети InfiniBand.
 Уровень загрузки жестких дисков на вычислительных узлах.
 Уровень загрузки кластера каждым из пользователей.
 Доступность узлов вычислительного кластера.
 Отчеты по температурным и другим показателям.
Наиболее известным и часто используемой системой мониторинга
кластера для Linux является Gunglia. При мониторинге кластера под ОС
Windows часть задач берет на себя система управления кластером и сама
операционная система.
36
Необходимо иметь резервные каналы доступа к вычислительным узлам
кластера. Для Linux кластеров основным протоколом доступа является ssh. В
качестве резервных каналов связи можно использовать протокол VNC или
программное обеспечение ServNet.
5. СОВРЕМЕННЫЕ НАПРАВЛЕНИЕ РАЗВИТИЯ
ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРОВ
Вычислительные кластеры претерпевают постоянные изменения в
своей архитектуре, в специфики работы в программном обеспечении. Уже
сегодня можно основными направлениями развития рынка HPC является
повышение производительности и уменьшение затрат на эксплуатацию
вычислительного кластера. Эти показатели могут быть достигнуты при
использовании:
 Высокоскоростной
современных
среды
передачи
суперкомпьютерах
данных.
используется
Как
сеть
правило,
в
InfiniBand
высокоскоростными коммутирующими устройствами. Это позволяет
уменьшить латентность при проведении расчётов.
 Многосокетных узлов вычислительного кластера. Передача данных
между процессорами на одном узле вычислительного кластера
происходит с меньшей задержкой чем передача того же объема данных
между узлами.
 Использование надежной, рассчитанной на обработку большего числа
операций ввода-вывода, подсистемы хранения данных.
 Бездисковых серверов. За счет этого можно увеличить полезную
площадь
материнской
платы
и
использовать
дополнительные
вычислительные мощности.
 Гибридных кластеров на GPU. Использование графических адаптеров
для
высоко
сложных
расчётах
позволило
увеличить
производительность системы на один – два порядка. В сочетании с
37
меньшей
стоимостью
графических
карты
и
низким
энергопотреблением, графические карты становятся необходимыми
для внедрения на оборудовании HPC. Основным производителем
является NVidia с линейкой продуктов Tesla.
ЗАКЛЮЧЕНИЕ
В работе были проанализированы методы построения и организации
вычислительных кластеров. Приведены иллюстрации и описания для типов
кластеров.
Было
приведено
описание
используемого
программного
обеспечения для их организации. Рассмотрены преимущества и недостатки
используемого программного обеспечения. Рассмотрен весь цикл установки
вычислительного кластера. Были предложены советы по повышению
производительности и оптимизации работы вычислительного кластера.
Список использованной литературы
1. http://www.supercomputers.ru [Электронный ресурс]. Режим доступа
свободный.
2. http://www.intuit.ru
[Электронный
ресурс].
Режим
доступа
свободный.
3. Корняков.
К.В.
“Построение
и
использование
кластерных
вычислительных систем”. - Нижний Новгород, 2007, 98 с.
4. “Руководство по работе на вычислительном кластере”. - Минск, БГУ
2004г. – 172с.
5. http://www.infinibandta.org/ [Электронный ресурс]. Режим доступа
свободный.
6. http://www.adaptivecomputing.com/products/open-source/torque
[Электронный ресурс]. Режим доступа свободный.
38
Download