Опубликован: 22.04.2008 | Доступ: свободный | Студентов: 526 / 50 | Оценка: 4.50 / 4.75 | Длительность: 06:55:00
Специальности: Программист
Лекция 1:

Введение: кластерные вычислительные системы

Лекция 1: 1234 || Лекция 2 >

Кластерные вычислительные системы семейства SGI Altix

Компания Silicon Graphics Incorporated (SGI) является традиционным производителем многопроцессорных систем с архитектурой SMP и ccNUMA. Спецификой архитектуры ccNUMA является объединение памяти отдельных процессоров в единую глобальную память, где каждый процессор имеет доступ в каждую ячейку этой памяти. SGI выпустила два поколения многопроцессорных серверов с ccNUMA-архитектурой, а именно Origin 2000 и Origin 3000. Однако, данные серверы обладали сравнительно малой производительностью из-за использованных в них собственных процессоров R1x000 компании SGI.

Поэтому в новом семействе серверов с ccNUMA-архитектурой SGI Altix 3000 были применены процессоры Itanium 2/ Madison с тактовой частотой 1,5 ГГц и КЭШем третьего уровня емкостью 6 Гбайт. Следует отметить, что ccNUMA-системы на базе Itanium 2 выпускают также компания Hewlett-Packard, а именно системы HP Superdome.

Системы SGI Altix строятся из так называемых "кирпичей" (bricks) - модулей разных габаритов, однако, помещаемых в стандартную стойку и соединяемых кабелями. В таблице 1.1 приведены основные типы "кирпичей" семейства SGI Altix 3000.

Таблица 1.1. Виды "кирпичей" семейства SGI Altix 3000
ТИП МОДУЛЯ ВЫСОТА КРАТКОЕ ОПИСАНИЕ
SC-кирпич 3U процессоры и оперативная память
IX-кирпич 4U базовые средства ввода-вывода
PX-кирпич 4U дополнительные шины PCI-X
R-кирпич 2U маршрутизатор
D-кирпич 3U диски Fibre Channel
TP900 2U диски Ultra 160 SCSI
SGI-консоль 1U средства управления системой
Отсек электропитания 3U блоки питания
Примечание: 1U = 1,75 дюйма

Основу системы составляют "вычислительные" кирпичи - С-блоки (см. Рис 1.7).

Структура С-кирпича

Рис. 1.7. Структура С-кирпича

Каждый С-кирпич содержит 4 процессора Itanium-2 и состоит из двух узлов по 2 процессора в каждом. Узлы соединены между собой дуплексными каналами типа NUMAlink 4 с общей пропускной способностью 6,4 Гбайт/с на канал. Два коммутатора SHUB, имеющиеся в каждом С-кирпиче, связывают основные компоненты узлов и могут подсоединяться к 8-портовым коммутаторам типа NUMAlink3 с пропускной способностью 3,2 Гбайт/с в дуплексном режиме. Такая архитектура позволяет иметь в системах семейства SGI Altix до 512 процессоров.

Допустимая емкость оперативной памяти в С-кирпиче - от 4 до 16 Гбайт. Для расширения емкости памяти возможно применение также специальных М-кирпичей, которые аналогичны С-кирпичам, но не содержат микропроцессоров.

R-кирпичи содержат коммутаторы, которые в семействах машин SGI называются маршрутизаторами. Эти маршрутизаторы могут соединять между собой С-кирпичи, а в более крупных конфигурациях, и другие коммутаторы.

Возможные способы организации межсоединений для различных конфигураций систем показаны на Рис 1.8, 1.9.

Межсоединения в конфигурациях Altix без коммутаторов

Рис. 1.8. Межсоединения в конфигурациях Altix без коммутаторов
Одностоечные конфигурации с двусторонней топологией

Рис. 1.9. Одностоечные конфигурации с двусторонней топологией

На Рис 1.8 представлены возможные конфигурации без использования маршрутизаторов. На Рис 1.9 показаны одностоечные конфигурации с двусторонней (dual-plane) топологией, которая предусматривает дублирование соединений между С-кирпичами за счет использования пар машрутизаторов. Также возможны многостоечные конфигурации с двусторонним соединением.

Кроме С-кирпичей, каждая система SGI Altix имеет хотя бы один IX-кирпич, реализующий базовые средства ввода-вывода. Кроме IX-кирпичей, имеются так называемые PX-кирпичи, которые предназначены для подключения дополнительных шин типа PCI.

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

Машины семейства SGI Altix снабжаются специальной версией ОС Linux, разработанной в SGI. В частности, в ядро данной операционной системы внесена поддержка архитектуры ccNUMA. Все доработки, внесенные в ядро операционной системы разработчиками из SGI, являются общедоступными.

1.4. Операционные системы для кластерных систем: Windows Compute Cluster Server 2003

Microsoft Windows Compute Cluster Server (CCS) 2003 является интегрированной платформой для проведения высокопроизводительных вычислений. С использованием этой платформы, производить вычисления на кластерах, имеющих от нескольких до сотен, и даже, тысяч узлов.

Конфигурирование, мониторинг, управление и обеспечение безопасного доступа для кластеров является очень трудной задачей, на решение которой требуется обычно большое количество времени и ресурсов. Одна из целей Windows CCS 2003 - максимально упростить управление вычислительными кластерами и сократить общую стоимость владения ими (TCO - total cost of ownership), одновременно сделав их доступными для более широкого круга пользователей. В частности, для Windows CCS 2003 процессы установки и администрирования максимально автоматизированы. Это достигается через интеграцию Windows CCS 2003 с технологиями Active Directory и Microsoft Operations Manger (MOM). Для удобства использования, в состав Windows CCS 2003 входит планировщик заданий (job scheduler), работа с которым обеспечивается через графический интерфейс пользователя и через командную строку.

Windows CCS 2003 поддерживает исполнение параллельных приложений, базирующихся на стандарте Message Passing Interface (MPI). Кроме того, для того, чтобы можно было использовать среду разработки Visual Studio 2005 для создания параллельных приложений, в нее включены поддержка стандарта OpenMP, а также возможность отладки параллельных программ, использующих MPI.

Версия MPI, используемая в Windows CCS 20033 - MS MPI, является вариантом одной из реализаций MPI, разработанной в Аргонской национальной лаборатории, и названной MPICH2.

MS MPI построен на основе WinSock API (Windows Sockets networking API), и передача данных через сеть может осуществляться либо через обычный протокол TCP/IP, либо через драйвер WinSock Direct Provider, обеспечивающий непосредственную (игнорируя слой TCP/IP) передачу данных через сетевую аппаратуру. Тем самым, MS MPI обеспечивает поддержку сетей Ethernet либо Gigabit Ethernet через TCP/IP, и сетей с малым временем задержки и широкой полосой пропускания, таких как Infiniband или Myrinet через драйверы WinSock Direct.

MS MPI обеспечивает поддержку языков программирования C, Fortran 77 и Fortran 90. Среда разработки Microsoft Visual Studio 2005 включает в себя отладчик параллельных программ, написанных с применением MS MPI. Разработчики могут запускать свои MPI-приложения на множестве вычислительных узлов непосредственно из Visual Studio, причем Visual Studio автоматически связывается с процессами на узлах, что позволяет разработчикам, по индивидуальному выбору, останавливать программу на любом из узлов и просматривать значения программных переменных.

Windows CCS 2003 поддерживает пять различных сетевых топологий головного и вычислительных узлов кластера, где эти топологии отличаются друг от друга своей производительностью (скоростью передачи данных) и возможностями доступа в данную сеть. Каждая из топологий включает в себя, по меньшей мере, один из следующих типов сетей:

  • общая (public) сеть,
  • частная (private) сеть и
  • MPI-сеть,

или, возможно, некоторую их комбинацию.

Общая сеть - это, обычно, существующая на предприятии или в организации Ethernet-сеть, которая объединяет, в частности, вычислительные узлы кластера. Если для кластера не предусмотрена выделенная частная сеть, то весь внутрикластерный управляющий трафик будет проходить через общую сеть.

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

MPI-сеть - это выделенная, высокоскоростная сеть, предназначенная для передачи сообщений параллельных приложений, работающих на вычислительных узлах кластера. Если в кластере такой сети не существует, то MPI-трафик передается через частную сеть. Если и частной сети не существует, то MPI-трафик будет проходить через общую сеть.

Использование отдельных сетей для передачи внутрикластерного (служебного) и MPI-трафика между вычислительными узлами и головным узлом значительно повышает общую производительность кластера и разгружает от этого трафика общую сеть. Тем не менее, доступ в общую сеть с вычислительных узлов, по-прежнему, возможен с помощью сервиса NAT (Network Address Translation), запущенного на головном узле.

Windows CCS 2003 поддерживает кластеры, состоящие из одного головного узла и одного или нескольких вычислительных узлов, как показано на Рис 1.10.

Типичная структура сети для работы Windows CCS 2003

Рис. 1.10. Типичная структура сети для работы Windows CCS 2003

Головной узел управляет и является посредником для доступа ко всем ресурсам кластера и представляет собой единую точку для управления, развертывания ресурсов и исполнения заданий на вычислительном кластере. Windows CCS 2003 может использовать существующую инфраструктуру Active Directory для обеспечения безопасности, управления учетными записями и общим управлением всеми операциями, а также может быть интегрирован с такими средствами управления, как MOM ( Microsoft Operations Manager) 2005 и SMS (Systems Management Server) 2003.

Развертывание Microsoft CCS 2003 включает в себя:

  1. установку базовой операционной системы на головном узле,
  2. присоединение головного узла к существующему Active Directory-домену,
  3. установку пакета Compute Cluster Pack.

Если планируется использовать сервис удаленной установки (RIS - Remote Installation Service), то RIS будет установлен и сконфигурирован на последнем шаге процедуры развертывания.

После окончания установки пакета Compute Cluster Pack на головном узле, на его экране отображается ToDo-список, который показывает какие шаги необходимо выполнить для завершения конфигурирования вычислительного кластера. Эти шаги включают в себя:

  1. определение топологии сети,
  2. конфигурирование RIS с помощью соответствующего мастера,
  3. добавление вычислительных узлов в кластер,
  4. конфигурирование информации о пользователях и администраторах кластера

На головном узле кластера устанавливаются следующие сервисы:

  1. Management Service - управление кластером, обнаружение узлов, управление конфигурациями
  2. Scheduler Service - постановка заданий в очередь, планирование их запуска, распределение ресурсов, исполнение заданий
  3. SDM Store Service - операции чтения/записи в хранилище данных System Definition Model (SDM), управление целостностью
  4. MPI Service - реализация MPI на основе MPICH2
  5. Node Manager Service - устанавливается на головном узле, когда он сконфигурирован также и в качестве вычислительного узла; взаимодействует с Scheduler Service и отвечает за исполнение заданий
  6. SQL Service - Microsoft SQL Server 2000 Desktop Engine (MSDE)

На вычислительных узлах кластера устанавливаются следующие сервисы:

  1. Management Service - взаимодействует с одноименным сервисом на головном узле; отвечает за управление кластером, обнаружение узлов и управление конфигурациями со стороны вычислительного узла
  2. MPI Service - реализация MPI на основе MPICH2
  3. Node Manger Service - взаимодействует с Scheduler Service на головном узле; отвечает за исполнении заданий
Лекция 1: 1234 || Лекция 2 >