Введение: кластерные вычислительные системы
1.2. Принципы построения быстрых сетей передачи данных
Выбор сетевой технологии зависит от ряда факторов, среди которых
- цена,
- скорость передачи данных,
- совместимость с другими аппаратными средствами и системным программным обеспечением,
- коммуникационные характеристики приложений, которые будут исполняться на кластере.
Технические характеристики сети, непосредственно связанные с передачей данных, выражаются в терминах задержки (latency) и широты полосы пропускания (bandwidth).
Задержка определяется как время, затрачиваемое на передачу данных от одного компьютера к другому, и включает в себя время, за которое программное обеспечение подготавливает сообщение, и непосредственно время передачи битов данных с компьютера на компьютер.
Широта полосы пропускания есть количество бит за секунду, которое может быть передано по участку сети.
Достижение низкой задержки и большой широты полосы пропускания требует применения эффективных коммуникационных протоколов, которые снижают издержки, вносимые программным обеспечением.
Коммуникационный протокол определяет правила и соглашения, которые используются двумя или более компьютерами для обмена данными по сети.
В кластерах используются как традиционные сетевые протоколы, предназначенные для Internet, так и протоколы, специально ориентированные на использование в кластерах.
Типичными IP (Internet Protocol)-протоколами являются TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Эти протоколы совместно с прикладным интерфейсом программиста (Application Programming Interface) на основе BSD-сокетов, были первой библиотекой для передачи сообщений для использования в кластерах.
Исследования по протоколам с малой задержкой привели к созданию стандарта VIA (Virtual Interface Architecture). В частности, существует реализация версии MPICH стандарта MPI, которая называется MVICH, работающая с использованием VIA.
Большой консорциум промышленных партнеров, включая Compaq, Dell, Hewlett-Packard, IBM и др., разработали и поддерживают стандарт Infiniband для передачи данных с малой задержкой. В Infiniband -архитектуре (см. Рис 1.4) компьютеры связываются между собой на основе высокоскоростной, последовательной, расширяемой, переключаемой фабрики, работающей на основе передачи сообщений.
Все системы и устройства подсоединяются к фабрике либо через HCA-адаптеры (host channel adapters), либо через TCA-адаптеры (target channel adapters). Скорость передачи данных по отдельной Infiniband-линии - свыше 2,5 Гб/сек.
Кроме того, в Infiniband поддерживается режим RDMA (Remote Direct Memory Access), который позволяет одному процессору обращаться к содержимому памяти другого процессора непосредственно, а также протокол IPv6 передачи сообщений для Internet.
1.3. Примеры архитектур кластерных вычислительных систем: Blue Gene/L, семейство SGI Altix
Суперкомпьютер Blue Gene/L
Кластерная вычислительная система Blue Gene/L - это первый шаг на пути реализации программы по созданию компьютера с производительностью 1 петафлопс, осуществляемой фирмой IBM.
За последние годы, разработчики суперкомпьютеров пришли к выводу, что единственным способом конструирования систем с производительностью более 1 терафлопса является наращивание количества одновременно работающих процессоров (машин). Однако, применение кластеров с десятками тысяч мощных процессоров ограничивается большим их энергопотреблением и высокими требованиями к охлаждению.
Принципиальный подход, принятый при построении семейства машин Blue Gene состоит в том, что система, по-прежнему, собирается из огромного числа узлов, однако, каждый из них работает на сравнительно небольшой тактовой частоте. Тем самым, достигается как снижение стоимости системы, так и значительное уменьшение энергопотребления. Другая главная особенность Blue Gene/L заключается в применении так называемой технологии "система на чипе" - применении интегральных микросхем со сверхвысокой степенью интеграции, когда в рамках одной интегральной схемы объединяются:
- вычислительный процессор,
- коммуникационный процессор,
- три уровня кэш-памяти и
- несколько высокоскоростных сетевых интерфейсов.
Система Blue Gene/L является масштабируемым (расширяемым) суперкомпьютером, который может состоять из более, чем 65536 вычислительных процессоров.
Архитектура суперкомпьютера Blue Gene/L показана на Рис 1.5.
Базовым компонентом суперкомпьютера Blue Gene/L является так называемая "вычислительная карта" (compute card), которая состоит из двух вычислительных узлов, где каждый узел содержит 2 процессора PowerPC 440. 16 вычислительных карт группируются в модульную (или узловую) карту, которая, таким образом, содержит уже 64 процессора. В свою очередь, 16 модульных карт устанавливаются на объединительной панели (midplane), и две таких панели монтируются в серверную стойку (cabinet), которая содержит в итоге 1024 узла с общим количеством процессоров 2048.
Процессор PowerPC 440 способен выполнять за такт 4 операции с плавающей запятой, что для заданной частоты соответствует пиковой производительности в 1,4 терафлопса на одну объединительную панель (midplane), если считать, что на каждом узле установлено по одному процессору. Второй процессор на узле, идентичный первому, призван выполнять телекоммуникационные функции, то есть, он предназначен, преимущественно, для осуществления связи с другими процессорами суперкомпьютера. Кроме того, конструкцией суперкомпьютера, предусмотрена установка некоторого количества двухпроцессорных узлов, которые занимаются исключительно операциями ввода/вывода.
Узлы суперкомпьютера связаны между собой пятью сетями:
- трехмерной тороидальной сетью для обмена данными непосредственно между блоками-узлами,
- сетью с топологией "дерева" для выполнения общих (глобальных) для всех блоков операций,
- сетью барьеров и прерываний,
- сетью Gigabit Ethernet-JTAG (Ethernet со специальным интерфейсом JTAG),
- еще одной сетью Gigabit Ethernet для подключения к главному (хост-) компьютеру, файловым серверам и другим системам.
Энергопотребление суперкомпьютера Blue Gene/L относительно невелико: оно составляет порядка 1,6 мегаватт. Для сравнения, суперкомпьютер ASC Purple - предыдущая машина, разработанная IBM для Ливерморской лаборатории, потребляет 4,8 мегаватт при производительности 100 терафлопс. Разница объясняется тем, что Blue Gene/L состоит из специально разработанных компактных блоков, размещенных в 64 серверных стойках (см. Рис 1.6), тогдакак ASC Purple построена на основе обычных серверов - аналогов серверов IBM eServe p655.
С точки зрения программного обеспечения, суперкомпьютер Blue Gene/L работает под управлением специальной версии операционной системы Linux, разработанной в IBM.
Этот суперкомпьютер использовался для моделирования взаимодействия 16 миллионов атомов в образце тантала, застывающего под давлением. Кроме того, Blue Gene/L применялся в Национальной лаборатории Лос-Аламоса для изучения появления раковин в металле, при этом моделировалось в динамике взаимодействие более 2,1 миллиарда атомов.