Суперкомпьютер Cray XT4

Лаборатория Параллельных информационных технологий НИВЦ МГУ
28 марта 2007


Общая структура

Суперкомпьютер XT4 является дальнейшим развитием системы Cray XT3, отличаясь от неё в основном использованием двухъядерных процессоров AMD Opteron. Cray XT4 состоит из следующих компонентов:

  • процессорные элементы, в каждом из которых есть процессор и память;
  • коммуникационная сеть с малой латентностью и высокой пропускной способностью;
  • оптимизированная версия операционной системы;
  • специальные средства управления и мониторинга системы;
  • высокоскоростные подсистемы ввода/вывода.

Варианты компоновки системы

Вычислительные узлы Cray XT4 компонуются в стойки (до 96 вычислительных узлов на стойку). Возможные конфигурации приводятся в следующей таблице:

Число стоек Число процессоров Объем памяти Пиковая производительность* Топология
6 548 4.3 Тбайт 5.6 TFlop/s 6*12*8
24 2260 17.7 Тбайт 23.4 TFlop/s 12*12*16
96 9108 71.2 Тбайт 94.6 TFlop/s 24*16*24
320 30508 239 Тбайт 318 TFlop/s 40*32*24
* Пиковая производительность рассчитывалась для конфигураций, использующих двухъядерный процессор AMD Opteron 2.6 ГГц.

Масштабируемые процессорные элементы

Как и в предыдущих MPP-системах компании Cray, базовым элементом систем Cray XT4 является однопроцессорный узел (процессорный элемент, ПЭ). Каждый процессорный элемент состоит из одного микропроцессора AMD (одно-, двух- или четырехъядерного), имеющего собственную память и средства связи с другими ПЭ. Такая архитектура устраняет проблему асимметричности, которая есть в кластерах SMP-узлов, поскольку производительность приложений будет одинаковой вне зависимости от конкретного распределения процессов по процессорам, что важно для обеспечения масштабируемости.

В системах Cray XT4 есть два типа процессорных элементов: вычислительные и сервисные.

На вычислительных ПЭ работает легковесное ядро операционной системы UNICOS, имеющее минимальные накладные расходы, основной задачей которого является эффективная поддержка работы приложений. На сервисных ПЭ установлена ОС Linux, а сами сервисные ПЭ могут быть настроены для выполнения сетевых, системных функций, для идентификации пользователей, а также для выполнения функций ввода/вывода.

Конструктивно 4 вычислительных ПЭ объединяются в Cray XT4 в один вычислительный сервер-лезвие, что обеспечивает хорошую масштабируемость системы при очень небольшом объеме. Сервисные серверы-лезвия содержат по 2 сервисных ПЭ и поддерживают прямую связь с устройствами ввода/вывода.

Процессоры AMD Opteron

Кэш-память данных с высокой степенью ассоциативности, расположенная на кристалле процессора AMD, поддерживает мощные алгоритмы внеочередного выполнения команд и может выдавать до 9 инструкций одновременно. Встроенный контроллер памяти устраняет необходимость в использовании отдельного чипа контроллера памяти типа Northbridge, и при этом обеспечивает очень низкую латентность при доступе к локальной памяти - менее 60 наносекунд, что является существенным подспорьем для эффективного выполнения программ, особенно для алгоритмов с неоднородным доступом к памяти. Контроллер памяти с шириной тракта 128 бит обеспечивает каждому процессору AMD Opteron доступ к локальной памяти со скоростью от 10.6 до 12.8 ГБ/с, т.е. более одного байта на каждый Флоп. Такое соотношение позволяет получить высокую производительность на алгоритмах, для которых необходим интенсивный доступ к памяти.

Технология HyperTransport обеспечивает прямое соединение со скоростью 6.4 ГБ/с между процессором и коммуникационной сетью Cray XT4, устраняя распространенное узкое место, которым в большинстве сетей является интерфейс PCI.

Память

Каждый ПЭ Cray XT4 может использовать от 1 до 8 ГБ оперативной памяти DDR2. Поскольку в вычислительных ПЭ память не буферизуется, задержка при доступе к ней минимальна.

Масштабируемая коммуникационная сеть

В системах Cray XT4 используется коммуникационная сеть с высокой пропускной способностью и малой латентностью. Она построена на основе микросхем Cray SeaStar2 и высокоскоростных соединений, использующих технологию HyperTransport. Коммуникационная сеть соединяет все процессорные элементы согласно топологии трехмерного тора, исключая необходимость использования коммутаторов. Такой подход повышает надежность системы и позволяет без особых затрат увеличивать количество узлов до десятков тысяч, что намного превышает возможности архитектур с переключателями типа fat-tree. Поскольку эта сеть является основным коммуникационным каналом систем Cray XT4, она отвечает и за все проходящие сообщения, и за весь входящий/исходящий трафик, связанный с глобальной файловой системой.

Микросхема Cray SeaStar2

Микросхема Cray SeaStar2 выполняет две функции: обработку данных, поступающих по каналам связи, и высокоскоростную маршрутизацию. Каждая микросхема состоит из канала HyperTransport, модуля прямого доступа к памяти (DMA), процессора передачи данных и управления, высокоскоростного маршрутизатора сети и сервисного порта.

Маршрутизатор микросхемы SeaStar2 создает 6 высокоскоростных соединений с шестью непосредственными соседями по топологии трехмерного тора. Пиковая пропускная способность каждого канала при двусторонней передаче данных - 7.6 ГБ/с. Маршрутизатор использует протокол связи, поддерживающий контроль и коррекцию ошибок, а также повторную передачу.

Микросхема Cray SeaStar2 включает в себя модуль DMA и связанный с ним процессор PowerPC 440. Их задачей является снятие с процессора функций подготовки и демультиплексирования сообщений, что позволяет сосредоточить все его ресурсы исключительно на вычислениях. Логика SeaStar2 соответствует логике отправки и получения MPI-сообщений, поэтому нет необходимости использовать большие буфера памяти, которые необходимы при работе обычных кластерных систем. Модуль DMA и операционная система Cray XT4 позволяют минимизировать латентность путем установления прямой связи между приложением и аппаратурой сети, минуя проход через ядро ОС и связанную с этим систему прерываний.

Надежность коммуникационной сети

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

Микросхема Cray SeaStar2 содержит сервисный порт, который соединяет независимую сеть управления и локальную шину Cray SeaStar2. Этот порт обеспечивает системе управление доступом к памяти и ко всем регистрам компьютера, облегчает его начальную загрузку, поддержку текущей работы и мониторинг.

Масштабируемая операционная система

Операционная система UNICOS/lc систем Cray XT4 разработана для выполнения ресурсоемких приложений при масштабировании до 120000 процессоров. Как и в предыдущих поколениях MPP-систем компании Cray, UNICOS/lc состоит из двух основных компонентов - микроядра для вычислительных ПЭ и полнофункциональной операционной системы для сервисных ПЭ.

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

На сервисных ПЭ, как правило, работает полнофункциональная версия ОС Linux. Процессорные элементы этого типа могут быть настроены на выполнение сетевых или системных служб, а также функций ввода/вывода и идентификации пользователей в системе.

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

Приложения пользователей передаются на исполнение интерактивно через ПЭ идентификации с помощью явных команд запуска заданий Cray XT4 или с помощью системы пакетной обработки PBS Pro, тесно связанной с планировщиком системных ПЭ. Для выполнения каждого приложения на компьютере выделяется отдельный набор вычислительных ПЭ, не пересекающийся с наборами, выделенными для других приложений. Конфигурации разделов для пакетной обработки и интерактивного исполнения заданий определяются системным администратором.

Системы Cray XT4 поддерживают единую файловую систему с общим по всем узлам корневым разделом, поэтому нет необходимости пересылать изменения в каждый ПЭ отдельно, поскольку изменения становятся видны сразу во всей системе.

Масштабируемая среда разработки

Среда разработки систем Cray XT4 включает в себя программные инструменты, которые хорошо дополняют друг друга, помогая в разработке масштабируемых приложений. Поскольку процессоры AMD поддерживают 32- и 64-битные приложения и полностью совместимы с линейкой x86-64, на системах Cray XT4 работает большинство известных компиляторов и библиотек, в том числе оптимизирующие компиляторы для C, C++, Fortran90, а также многие математические библиотеки, например, оптимизированные версии BLAS, FFTs, LAPACK, ScaLAPACK и SuperLU.

Библиотеки передач сообщений включают MPI и SHMEM. Реализация MPI соответствует стандарту 2.0 и оптимизирована под особенности коммуникационной сети систем Cray XT4. Пропускная способность по количеству проходящих сообщений может меняться в зависимости от размеров системы, достигающей десятков тысяч ПЭ. Библиотека SHMEM совместима с предыдущими версиями систем Cray и использует все возможности микросхемы Cray SeaStar2 для минимизации накладных расходов.

В составе штатного ПО систем Cray XT4 традиционно присутствуют средства анализа производительности семейства Cray Apprentice2. Они позволяют пользователям оценивать использование ресурсов компьютера их программами и помогают обнаружить многие узкие места, в частности, несбалансированность загрузки процессоров.

Система управления и мониторинга

Система управления и мониторинга (CRMS) объединяет аппаратные и программные компоненты для мониторинга состояния компьютера, обнаружения неисправностей и восстановления после сбоев. Будучи независимой системой с собственными управляющими процессорами и выделенной сетью, CRMS следит и управляет всеми основными аппаратными и программными компонентами систем Cray XT4. Помимо функций восстановления после сбоев, CRMS контролирует процессы включения, выключения и начальной загрузки системы, управляет коммуникационной сетью и отображает состояние компьютера.

Все критические компоненты cистем Cray XT4 продублированы, чтобы минимизировать количество сбоев. Если из-за неполадок перестанет работать ПЭ ввода/вывода, это не скажется на задании, использовавшем этот ПЭ. Могут выйти из строя процессор или локальная память некоторого ПЭ, но это никак не повлияет на задания, использующие этот узел для транзита сообщений. На системных платах нет ни одной двигающейся компоненты, что также повышает надежность системы в целом.

Процессор и платы ввода/вывода систем Cray XT4 используют компоненты, подключаемые через сокеты, поэтому микросхемы SeaStar2 и DIMM, модули контроля напряжения и процессоры AMD в случае необходимости могут быть легко заменены и модернизированы.

Масштабируемые средства ввода/вывода

Подсистема ввода/вывода компьютеров Cray XT4 хорошо масштабируется, подстраиваясь под требования самых тяжелых приложений. Архитектура подсистемы включает дисковые массивы, которые напрямую соединены с ПЭ ввода/вывода через высокоскоростную сеть. Файловая система Lustre управляет распределением операций с файлами по всему хранилищу. Масштабируемая архитектура ввода/вывода позволяет в каждой конфигурации компьютера получить требуемую пропускную способность путем подбора соответствующего числа массивов и сервисных ПЭ.

Для повышения производительности средств ввода/вывода модули Lustre встраиваются прямо в приложения и выполняются на системном микроядре. Данные передаются напрямую из приложений и серверов Lustre на процессорные элементы ввода/вывода, без необходимости создания промежуточной копии данных в самом ядре.

Дополнительная информация:


© Лаборатория Параллельных информационных технологий НИВЦ МГУ
Rambler's Top100