Основная цель программы PathForward заключалась в разработке технологий организации систем связи между компьютерами, которые позволили бы ускорить разработку сбалансированных вычислительных систем и достичь к 2004 году производительности в диапазоне 30 - 100 TFLOPS с помощью объединения большого количества коммерческих SMP-серверов.
Compaq решила далее развить программу PathForward от экспериментального демонстрационного образца до выпуска коммерческого системного продукта. Результатом стала серия AlphaServer SC, представляющая собой законченное решение для реализации терафлопных вычислений.
Серия AlphaServer SC была анонсирована в ноябре 1999 года на конференции Supercomputing'99, а первая система, имеющая 128 узлов, была поставлена в Ливерморскую национальную лабораторию в сентябре 1999 года. В Европе машина AlphaServer SC была установлена в гражданском департаменте Комиссии по атомной энергии Франции. Серийное производство систем SC V1.0, где в качестве узлов используются многопроцессорные AlphaServer ES40, начато в первом квартале 2000 года. В будущих системах SC предполагается поддержка узлов на базе также многопроцессорных серверов Compaq AlphaServer GS, обеспечение возможности объединения более 128 узлов, использование более быстрой технологии PCI и реализация многоканальных систем связи SC.
В состав систем AlphaServer SC входят: серверы AlphaServer, в состав которых могут входить несколько поколений процессоров Alpha; масштабируемая, высокоскоростная система коммутации вычислительных узлов, унаследованная от программы ASCI/PathForward в партнерстве с компанией QSW.
Гибкие средства конфигурирования программного обеспечения позволяют использовать систему по нескольким направлениям:
- в качестве масштабируемой массивно-параллельной вычислительной платформы (MPP - massive parallel processing) для одиночных распределенных приложений, которые сейчас работают на существующих MPP-машинах типа SGI Cray T3D/E или IBM SP-2;
- в качестве высокопроизводительной машины, обладающей высокой пропускной способностью для выполнения большого количества независимых заданий, которые используют парадигму последовательных вычислений, а также парадигмы организации параллельной обработки в общей памяти или с помощью передачи сообщений;
- в качестве платформы для разработки программного обеспечения параллельных приложений, использующих парадигмы программирования в разделяемой или распределенной памяти с директивами стандартов OpenMP, MPI, Shmem и операциями многопотоковой обработки.
AlphaServer SC может одновременно применяться для реализации всех этих трех направлений, отличаясь от традиционных систем MPP-архитектуры тем, что в качестве вычислительных узлов вместо однопроцессорных элементов используются мультипроцессоры с общей памятью. Это позволяет заказчикам решать на системе AlphaServer SC задачи, которые невозможно решать на MPP-машинах.
Общая архитектура
Архитектура системы AlphaServer SC показана на рис. 1.
Рис. 1. Архитектура системы AlphaServer SC |
Системы SC V1.0 строятся на базе узлов AlphaServer ES40, каждый из которых имеет пиковую производительность 5,3 GFLOPS. В состав SC V1.0 можно включить до 128 узлов с суммарной производительностью, близкой к 800 GFLOPS. Узлы соединяются с помощью системы коммутации, имеющей полосу пропускания на уровне MPI более 200 Мбайт/с, и задержку на уровне MPI - менее 5,5 мкс. В таблице 1 представлены основные этапы развития и предполагаемые характеристики будущих поколений AlphaServer SC.
Системы AlphaServer SC обеспечивают вычислительную мощность благодаря агрегированию большого количества SMP-узлов, однако, чтобы эту мощность можно было использовать эффективно и рационально, необходимо скрыть от пользователя детали связывания систем. Это достигается с помощью так называемых средств управления единой системой SSM (Single System Management), которые входят в состав поставляемого ПО. С точки зрения управления SC представляется как единая система для пользователей, программистов и администраторов. Эта возможность отличает системы SC от экспериментальных терафлопных систем.
Важнейшими компонентами организации единого управления системой являются технологии корпоративных кластеров Compaq и система управления ресурсами. В AlphaServer SC используются такие ключевые технологии, как кластерная файловая система CFS, лежащая в основе построения корпоративных кластерных систем Compaq. Эти системы прошли долгий путь развития от пионерских разработок VAX-кластеров до современных систем, которые базируются на технологиях Alpha и Tru64 Unix и получили название TruCluster. Именно CFS и поддержка ее операционной системой составляют фундамент для построения программного обеспечения системы интегрированного управления SC.
Средства управления заданиями SC, или система управления ресурсами RMS (Resource Management System), позволяет администратору рассматривать все множество процессоров как один большой пул, который затем позже может быть поделен для использования различными классами заданий. Когда пользователь выполняет задание, RMS отвечает за выбор множества узлов, которое лучше всего соответствует требованиям задания, и за создание необходимых процессов на каждом узле.
Физическая инфраструктура
Для построения системы SC используется физическая инфраструктура, включающая внутренние и внешние сетевые соединения, а также дополнительные поддерживающие компоненты (рис. 2).
Рис. 2. Компоненты системы AlphaServer SC |
В состав системы входят следующие аппаратные компоненты:
- узлы: серверы AlphaServer ES40 на базе процессоров 21264a (EV67);
- адаптеры системы коммутации, кабели и собственно коммутатор;
- сеть внутреннего управления: адаптеры, кабели и концентраторы;
- системная внешняя память: для эффективного управления и обеспечения высокой готовности требуется внешнее хранилище данных со свойствами массива RAID;
- системы внешней поддержки: например, внешние файл-серверы, системы разработки;
- соединения с внешними сетями передачи данных: соответствующие адаптеры и кабели;
- станция управления SC: для реализации функций центрального управления и соответствующей базы данных.
Узлы. В качестве «кирпичиков» для построения систем AlphaServer SC используются выпускаемые массовым тиражом машины AlphaServer, работающие под управлением операционной системы Tru64 UNIX, а также системного ПО Compaq AlphaServer, которое реализует дополнительные функции, необходимые для эффективного управления и использования SC.
В первой версии в качестве узлов используются серверы серии ES/40, которые допускают установку от одного до четырех 667-мегагерцевых процессоров Alpha 21264a (EV67), имеющих кэш-память команд емкостью 64 Кбайт, кэш-память данных емкостью 64 Кбайт на кристалле и кэш-память второго уровня емкостью 8 Мбайт на каждый процессор. Емкость оперативной памяти ES40 может варьироваться в диапазоне от 1 до 16 Гбайт, при этом для ее построения используются стандартные модули DIMM с четырехкратным расслоением и средства контроля и исправления ошибок ECC. В архитектуре ES40 предусмотрены двойные 256-разрядные магистрали данных памяти и технология матричного коммутатора, обеспечивающие пиковую пропускную способность памяти 5,2 Гбайт/с, а также двойные 64-разрядные шины PCI, обеспечивающие пиковую пропускную способность ввода/вывода более 500 Мбайт/с.
В каждом узле ES40 предусмотрен один отсек для дисков горячей замены StorageWorks Ultra2 SCSI с двумя накопителями емкостью по 18,2 Гбайт, четыре отсека для сменных носителей. На каждом узле ES40 имеется три 750-ваттных источника питания горячей замены, организованных по принципу N+1, а также шесть избыточных вентиляторов горячей замены с переменной скоростью вращения.
Таким образом, максимальное количество процессоров в системе со 128 узлами равно 512. В течение ближайших двух лет планируется довести максимальную конфигурацию до 16 тыс. процессоров Alpha 21364.
Сети. Каждый узел подсоединяется к следующим сетям:
- системе коммутации, которая предоставляет параллельным приложениям средства высокоскоростной передачи сообщений и возможность доступа к удаленной памяти;
- внутренней сети управления, используемой для мониторинга и управления всеми основными компонентами системы (узлами системы, коммутаторами данных и т.д.). Трафик управления специально отделен от трафика сети передачи данных, чтобы не нарушать работу параллельных приложений;
- сети внутренней консоли - последовательный порт каждого узла системы подсоединяется к терминальному серверу. В свою очередь терминальные серверы подсоединяются к внутренней сети управления. Такая конфигурация позволяет обеспечить доступ по сети управления к консольному порту каждого узла посредством IP-протокола. Это средство предоставляет программному обеспечению управления доступ к консольной подсистеме узла (для начальной загрузки, контроля питания, опроса конфигурации, модернизации фирменного ПО и т.д.).
Корневые консоли. Система оборудована графическим терминалом, который работает в качестве корневой консоли (консоли на системном узле с номерами 0 или 1). Он используется в процессе начальной установки системы для конфигурирования корневого узла. После начальной установки консольный доступ ко всем узлам возможен с помощью программного обеспечения управления.
Локальное хранилище данных узла размещается внутри стойки узла. Обычно оно используется для хранения данных, которые тесно связаны с самим узлом и включают, например, загружаемую операционную систему узла, пространство подкачки и временные файлы узла. Это внутреннее хранилище должно рассматриваться как энергозависимая память; в задачи системы не входит обеспечение свойств высокой готовности этой памяти. Все системные данные (загружаемая операционная система) могут автоматически генерироваться даже в случае полного отказа жесткого диска. Данные, хранящиеся в локальном хранилище данных, являются специфическими для конкретного узла и потеря узла не должна оказывать какого-либо воздействия на требования к хранению данных в остальной части системы.
Каждый узел конфигурируется двумя внутренними дисковыми накопителями. При нормальной работе второй накопитель хранит копию загрузочного раздела первого накопителя. Узел может работать и с одним накопителем. В процессе модернизации и обновления ПО второй накопитель хранит загрузочный раздел для модернизируемой ОС. В случае необходимости это позволит произвести быстрый переход на первоначальную версию. Приложения также могут использовать данные, которые хранятся в файловых системах на внутренних накопителях, но должны понимать, что эти данные не имеют высокой готовности.
Внешняя память используется для хранения файловых систем, обслуживающих машину (и потенциально других внешних клиентов). Внешняя память используется также для хранения системных файлов и данных пользователей. Любое количество узлов может конфигурироваться в качестве файл-серверов внешней памяти. Внешняя память обладает свойствами высокой готовности благодаря использованию избыточных магистралей, технологии RAID и возможностей резервирования кластерной файловой системы CFS. В случае выхода из строя любого одного компонента внешняя память и связанные с ней файловые системы останутся работоспособными и доступными благодаря следующей организации:
- каждая подсистема внешней памяти подсоединяется, по крайней мере, к двум хост-узлам;
- внешняя память защищена средствами RAID;
- физически дисковые накопители подсоединяются к дублированным RAID-контроллерам.
Для обеспечения высокой готовности системы вся системная память конфигурируется как внешняя память.
Системы внешней поддержки. Используя внешние сети передачи данных, система может подсоединяться к множеству серверов внешней поддержки, например, к файл-серверам и специальным средствам разработки ПО. Однако можно сконфигурировать и специальный внутренний раздел (состоящий из некоторого подмножества вычислительных узлов), который будет предоставлять сервис по входу в систему или по компиляции программ, а также обеспечивать хранение каталогов пользовательских файлов.
Соединения с внешними сетями. Узлы системы могут подсоединяться к внешним сетям. При этом может указываться количество узлов, используемых для обеспечения таких соединений, и тип используемого сетевого подключения. Возможно подключение к сетям FDDI, Ethernet, Gigabit Ethernet, ATM и HiPPI.
Для того чтобы представить систему с несколькими внешними сетями как единый сетевой объект используется система псевдонимов IP. Через внешние сети к системе могут подключаться дополнительные фронтальные машины. Например, такой машиной может быть так называемая станция управления AlphaServer SC, которая способна:
- работать в качестве сервера дистанционной инсталляции Remote Installation Server (RIS);
- служить для размещения домашних каталогов пользователей;
- работать в качестве сервера поддержки разработки ПО;
- нести на себе функции центрального управления и поддерживать процессы-демоны для всей системы.
Система коммутации AlphaServer SC (SC Interconnect) представляет собой совокупность аппаратных компонентов компании QSW, обеспечивающую интеграцию SMP-узлов в единую тесно связанную систему. SC Interconnect включает широкополосный коммутатор, адаптеры PCI для каждого узла, а также набор кабелей длиною до 20 м.
Коммутатор AlphaServer SC может быть 16-ти или 128-портовым. В принципе наиболее масштабируемую полосу пропускания обеспечивает матричный коммутатор, реализующий полный граф связей между портами, однако реальная масштабируемость такого коммутатора ограничивается квадратичным (N2) ростом числа компонентов. Поэтому коммутатор SC Interconnect связывает между собой узлы системы с помощью сети маршрутизации, имеющей топологию «толстого дерева» (fat-tree routing network). Эта сеть строится на базе 8-канальных коммутационных кристаллов. Теоретически толстое дерево может иметь полосу пропускания, равную полосе пропускания матричного коммутатора, но рост числа компонентов и стоимости в этом случае определяется выражением N*Log(N). При этом в случае трафика со случайными параметрами пропускная способность толстого дерева, очевидно, будет меньше теоретического пикового значения. Правда, по заявлению разработчиков, в аппаратуре SC Interconnect применяются методы маршрутизации, которые улучшают пропускную способность случайных потоков данных. Реально измеренная полоса пропускания сети SC Interconnect составила более 200 Мбайт/с на каждый канал для каждой пары узлов системы, а собственная задержка коммутатора - 35 наносекунд. В будущих выпусках планируется реализация нескольких каналов на SMP-узлах, имеющих большее число центральных процессоров. Это позволит поддерживать на постоянном уровне отношение количества операций с плавающей точкой, выполняемых в каждом узле, к полосе пропускания системы коммутации для систем большего масштаба.
Для подключения к системе коммутации на каждом хост-узле устанавливается адаптер AlphaServer SC Elan Adapter, который представляет собой плату PCI. В этом адаптере реализованы средства прямого доступа к виртуальной памяти (VDMA), которые позволяют выполнять короткие и длинные пересылки данных непосредственно адаптером без вмешательства центрального процессора или операционной системы хост-узла. Источник или приемник данных может находиться в любом месте виртуального адресного пространства процесса. При этом отсутствуют какие-либо требования к блокировке страниц или копированию данных в промежуточные буфера. Адаптер поддерживает операции get и put, позволяя выполнять обмен данными дистанционно без вмешательства удаленной системы. Измеренные задержки при выполнении удаленных операций на уровне пользовательского интерфейса составили менее 3 мкс для библиотеки Shmem и менее 5,5 мкс для библиотеки MPI.
Системное программное обеспечение
В состав программного обеспечения AlphaServer SC версии 1.0 входят утилиты и библиотеки, необходимые для эксплуатации и обслуживания систем SC. Кроме того, оно включает также специальные средства от компании QSW, которые создают инфраструктуру, обеспечивающую сетевую поддержку выполнения параллельных приложений. Наконец, данное ПО предоставляет пользователям и системным администраторам средства надежного управления единой системой узлов SSM, уменьшая, таким образом, сложность администрирования и использования системы.
Программное обеспечение AlphaServer SC превращает систему SC в небольшое число доменов кластерной файловой системы, включающих до 32 узлов. Каждый такой домен имеет единое пространство имен и файлов, включая файловую систему с единым корнем, который разделяется всеми членами домена. Над каждым доменом кластерной файловой системы может быть надстроен уровень параллельной файловой системы Parallel File System. Системное программное обеспечение SC включает также средства организации так называемых кластерных псевдонимов для семейства протоколов Internet так, что домен для его сетевых клиентов представляется как единая система. Поскольку при работе под управлением системного программного обеспечения SC узлы в домене разделяют системные файлы и файлы конфигурации, задачи управления нужно выполнять только один раз внутри домена, а не повторять их для каждого отдельного узла.
Программное обеспечение SC разбивает систему SC на разделы параллельного выполнения. Управление и планирование работы этих разделов осуществляется средствами службы управления заданиями RMS, которая реализует групповое планирование параллельных заданий, управление разделами, пользовательскими квотами и учетом заданий. Эти функции могут быть далее расширены с помощью интеграции других продуктов, обеспечивающих управление ресурсами и пакетными заданиями.
Программное обеспечение SC, операционная система Tru64 Unix и утилиты файловой системы AdvFS (Advanced File System), как правило, размещаются на подсистемах внешней памяти, которые обслуживаются одним из двух специально выделенных узлов в каждом из доменов. Другой узел может обслуживать подсистему внешней памяти либо для обеспечения балансировки нагрузки, либо для перехода на горячий резерв, в случае неисправности первого узла. Для упрощения репликации системных файлов между доменами служат специальные системные утилиты.
Управление единой системой, визуализация работы ее узлов и диагностика аппаратных средств выполняются с помощью централизованного пользовательского интерфейса, который расширяет утилиты системного управления Tru64 Unix. Эти инструменты управления включают, помимо функций Tru64 Unix, утилиту диагностики сетей связи.
Файловые системы
С помощью системного программного обеспечения AlphaServer SC обеспечивают доступ к трем основным файловым системам: Cluster File System (CFS), Parallel File System (PFS), Network File System (NFS).
Рис. 3. Файловые системы |
Кластерная файловая система CFS представляет услуги файловой системы, которая интегрирует все нижележащие файловые системы в рамках домена CFS. Она не обеспечивает управление структурой диска — для этого используются возможности обслуживающей файловой системы, стандартного продукта Compaq AdvFS без какого-либо изменения дисковых структур. Файловая система CFS отвечает спецификациям POSIX и X/Open и обеспечивает:
Рис. 4. Уровневая организация ПО в домене кластерной файловой системеы |
- Единое когерентное адресное пространство. Одно и то же имя пути указывает на один и тот же файл на всех узлах. Монтирование файловой системы на любом узле представляет собой глобальную операцию и приводит к тому, что файловая система монтируется в одной и той же точке на всех узлах.
- Глобальный корень. Точкой когерентности пространства имен является корень, а не какая-либо подчиненная точка иерархии; поэтому все файлы являются глобальными и общими. Это позволяет всем узлам разделять одни и те же файлы, например, двоичные коды системы и глобальные файлы конфигурирования и администрирования.
- Горячее резервирование. Поскольку возможности файловой системы являются глобальными, CFS может обнаруживать потерю обслуживающего узла и автоматически переключать сервис файлов с отказавшего узла на другой узел, который имеет путь к тому же самому внешнему запоминающему устройству.
- Когерентный доступ. Несколько обращений к одному и тому же файлу будут давать когерентные результаты. Следует, правда, отметить, что этот режим доступа обычно не используется в высокопроизводительных приложениях, поскольку он связан с потерями производительности, обычно он необходим для реализации корпоративных приложений.
- Архитектура клиент-сервер. Локальная файловая система каждого узла работает как сервер для других узлов. Каждый узел является также клиентом других узлов.
- Поддержка специфических для узла файлов с одним и тем же путевым именем на каждом узле. Эта возможность реализуется посредством контекстно-зависимой символической ссылки CDSL (Context Dependent Symbolic Link) - связкой файла с идентификатором узла в имени ссылки, и является свойством CFS. Идентификатор узла оценивается во время выполнения и может указывать на специфический для конкретного узла файл. Поддержка такой возможности необходима для создания уникальных для узла файлов, а также для оптимизации локальной производительности.
На рис. 5 показан пример иерархии файлов CFS. Разделы загрузки узлов-участников домена CFS монтируются на локальных внешних запоминающих устройствах соответствующих узлов. Системные компоненты корневого раздела будут смонтированы на внешнем запоминающем устройстве одного из системных файл-серверов. Другие узлы, обслуживающие внешнее запоминающее устройство, могут монтировать свои файловые системы в других точках иерархии.
Рис. 5. Пример иерархии файлов CFS |
Параллельная файловая система. Если CFS обеспечивает масштабирование общей полосы пропускания файловой системы для обращений к файлам, которые обслуживаются разными серверами, то параллельная файловая система PFS дает возможность масштабирования полосы пропускания для одного задания в рамках домена CFS посредством расщепления данных одной параллельной файловой системы по нескольким нижележащим файловым системам. Это позволяет параллельно выполнять обращения от различных процессов параллельного задания и обслуживать эти обращения совместно работающими файловыми серверами. Когда параллельная файловая система создается администратором, специфицируются составляющие ее файловые системы и принимаемый по умолчанию размер расщепления. Для программиста PFS использует POSIX-совместимые синтаксис и семантику.
Сетевая файловая система. Также как и обычные SMP-серверы, системы AlphaServer SC могут монтировать файловые системы, экспортируемые другими файл-серверами. Это означает, что пользовательские домашние каталоги могут размещаться вне системы SC, и что возможны обращения к данным, находящимся на других серверах. Можно монтировать несколько внешних файловых систем, а также монтировать различные внешние серверы на разные узлы AlphaServer SC. Узлы, которые монтируют внешние файловые системы, выступают в качестве клиентов по отношению к этим внешним файловым системам. Эти же узлы выступают в качестве серверов импортированной файловой системы для других узлов SC - достаточно смонтировать внешние файловые системы на одном узле и они станут доступными для других узлов.
Взаимодействие с внешними сетями
В системах AlphaServer SC применяется средство, известное как кластерный псевдоним (CA — Cluster Alias), которое позволяет каждому домену CFS быть представленным единственным IP-адресом или именем хоста-узла. Для каждого домена CFS может быть определено несколько псевдонимов. Администратор может определять дополнительные псевдонимы и составляющие их узлы. Администратор может также определять следующие возможности сетевых служб:
- служба может быть назначена для выполнения только на одном узле системы с прозрачным переключением на другой узел, который используется в качестве горячего резерва;
- служба может быть назначена для выполнения на нескольких узлах, при этом средствами CA будет осуществляться балансировка нагрузки между теми узлами, на которых эта служба работает;
- служба может быть определена как доступная только через IP-псевдоним;
- служба может быть определена как доступная только через реальный IP-адрес.
Службы, устанавливающие исходящие соединения, будут в качестве собственного адреса источника по умолчанию использовать псевдоним.
Управление заданиями
Средства управления заданиями (RMS) позволяют администратору рассматривать все множество процессоров AlphaServer SC как один большой пул. Администратор может делить пул на более мелкие разделы для использования различными классами работы. Когда пользователь выполняет задание, система отвечает за выбор множества узлов, которые наилучшим образом соответствуют потребностям этого задания, а также за создание необходимых процессов на каждом узле. Этот процесс называется групповым планированием (gang scheduling) - планированием группы или множества процессов, которые составляют задание для нескольких узлов. Пользователь может быть непосредственно не осведомлен относительно конкретных узлов, на которых выполняется задание.
Предоставляемое узлами системы общее пространство выполнения вычислений может быть поделено на непересекающиеся разделы. Раздел представляет собой некоторую совокупность SMP-узлов, причем ресурсы одного SMP-узла не могут делиться между разделами. Когда пользователь выполняет параллельное задание, можно указать следующие параметры.
- Раздел, который должен использоваться для выполнения задания.
- Число процессов в задании.
- Число процессоров для выполнения каждого процесса.
- Распределение процессов по узлам. Пользователь может специфицировать три степени распараллеливания задания: максимальную, среднюю или вообще ее не определять. В последнем случае групповой планировщик будет выполнять задание до тех пор, пока имеется достаточное количество доступных процессоров.
Если имеется достаточное количество процессорных ресурсов, планировщик создает требуемые процессы на указанных узлах. Выполнение процессов, которые составляют параллельное задание, ограничено множеством процессоров, указанных групповым планировщиком. Если процессы внутри задания порождают процессы-потомки, на последних распространяются те же самые ограничения. Когда задание завершается или откладывается, все процессы обрабатываются сообща вместе со всеми процессами-потомками, созданными после начала работы задания.
Система управления заданиями поддерживает режим разделения времени разделов между заданиями с различной продолжительностью выполнения: система откладывает множество процессов, которые составляют одно задание, и запускает множество процессов для задания, которое должно выполняться. Групповой планировщик практически сам выполняет всю необходимую работу, не оставляя ничего планировщику ОС, гарантируя, что отсутствуют какие-либо другие активные процессы, которые конкурируют за распределение времени процессора.
Если раздел назначен для работы в режиме разделения времени, то групповой планировщик будет осуществлять группировку заданий с равным приоритетом, используя установленный администратором квант времени. Когда задания сгруппированы таким способом, планировщик будет планировать новое задание для выполнения, только если доступно достаточное количество ресурсов для выполнения этого нового задания и уже существующих (работающих) заданий. Считается, что подкачка (замещение) страниц и вообще страничная организация в данном случае оказываются непрактичными из-за огромных размеров реально необходимой памяти и «малой скорости» вызова страниц. Система управления заданиями может использоваться также для организации контроля доступа. Ресурсы каждого раздела управляются диспетчером раздела (Partition Manager), который является посредником и принимает пользовательские запросы, проверяет права доступа и имеющиеся ограничения по ресурсам перед планированием пользовательских заданий. RMS учитывает использование ресурсов каждым заданием. Агрегируется общее использование ресурсов. Для доступа к базе данных RMS используется интерфейс SQL. Система управления заданиями RMS может быть интегрирована с такими системами пакетной обработки, как LSF компании Platform Computing.
Администрирование системы
Интерфейс единой системы управления конфигурацией AlphaServer SC образуется совокупностью программных компонентов Tru64 Unix — SysMan Menu и SysMan Station. Возможность выбора пользовательских графических интерфейсов, интерфейсов, построенных на базе Web, или интерфейса командной строки делает задачи управления и манипулирования файлами более простыми для администратора, увеличивает гибкость решения этих задач в крупных конфигурациях и упрощает работу пользователей.
Системное программное обеспечение обеспечивает необходимый уровень автоматизации процесса инсталляции системы и включает целый ряд поддерживающих компонентов, в частности, программное обеспечение консоли. Системное ПО может выполнять диагностику неисправностей аппаратуры и инициировать исправляющие действия в случае отказа какого-либо узла. События, связанные с отказами аппаратуры, заносятся в журнал и могут наблюдаться с помощью утилит SysMan. Когда необходимо, события могут инициировать консольные функции, которые вызовут автоматическое переключение отказавших аппаратных компонентов на заменяющие компоненты, а затем автоматически перезапустят отказавшую аппаратуру.
Инструментальные средства разработки программ
Программисты могут рассматривать AlphaServer SC или как пул последовательных процессоров, или как пул SMP-систем с общей памятью, или как многопроцессорную систему с распределенной памятью. Каждый из этих подходов к организации системы поддерживается одной или несколькими моделями программирования, компиляторами, библиотеками и инструментальными средствами. Обычно программы пишутся на Фортране, Cи или Си++. Compaq Fortran и Compaq C включают поддержку директив стандарта OpenMP, которые сегодня широко используются для разработки параллельных программ для SMP-систем с общей памятью.
Большинство крупномасштабных заданий, которые должны использовать полный набор возможностей AlphaServer SC, могут программироваться с помощью модели передачи сообщений на базе библиотеки MPI. В некоторых случаях большей производительности можно достичь путем применения гибридной модели программирования, в которой посредством MPI взаимодействует множество многопотоковых процессов. Для достижения наивысшей производительности, правда за счет увеличения сложности, программисты могут использовать средства работы с моделью общей памяти Shmem. Именно эта низкоуровневая библиотека дает возможность прямого использования системы коммутации AlphaServer SC. Библиотека Shmem AlphaServer SC совместима с библиотекой Shmem Cray. Другой альтернативной возможностью для разработки и выполнения параллельных приложений может служить компилятор Compaq Fortran, который включает High Performance Fortran (HPF).
Виктор Шнитман (vzs@ispras.ru) — сотрудник Института системного программирования РАН, (Москва).
Год | Частота процес-соров Alpha | Количество процес-соров в узле | Количество узлов | ТFLOPS |
1999 | 667 | 4 | 128 | 0,8 |
2000 | >700 | 32 | 128 | ~7 |
2001 | >1000 | 64 | 256 | ~30 |
2002 | >1200 | 64 | 256 | ~40 |
2004 | ~1500 | 64 | 256 | ~100 |