Введение В ИСП РАН ведутся исследования по параллельному программированию и высокопроизводительным кластерным технологиям, поддерживаемые Российским Фондом Фундаментальных Исследований, Министерством промышленности науки и технологии Российской Федерации, Российской Академией наук и др. В рамках этих проектов ведутся работы, связанные с проектированием и построением высокопроизводительных кластерных систем, разработкой системного программного обеспечения и средств параллельного программирования для таких систем. Кроме того, ведутся работы связанные с интеграцией кластерных ресурсов в инфраструктуру Grid. В данной работе затрагиваются вопросы архитектуры, проектирования и др. особенности построения высокопроизводительных кластерных систем, приводится обзор системного ПО, используемого при построении в ИСП РАН кластеров, а также рассказывается о высокопроизводительных кластерах построенных в ИСП РАН. Особенности архитектуры вычислительных кластерных систем На современном этапе в тех областях, интенсивное развитие которых невозможно представить без высокопроизводительных вычислений широко используются модульные вычислительные системы, построенные на базе компонент общего назначения с использованием свободно распространяемого системного программного обеспечения с открытым исходным кодом называемые кластерами. Архитектура таких вычислительных систем представляет собой множество однородных по аппаратуре и настройкам системного ПО модулей, объединенных специальной высокопроизводительной коммуникационной средой, имеющих единый центр доступа, администрирования, мониторинга и работающих под управление специального системного программного обеспечения. Благодаря открытости и модульности архитектуры, использования распространенных на рынке компонент (процессоров, материнских плат, оперативной памяти, дисковой памяти и т.д.), свободно распространяемого ПО такие вычислительные системы имеют рад преимуществ: высокая производительность, эффективность, простота наращиваемости мощностей, простота эксплуатации и обслуживания и т.д. однако наиболее привлекательным свойством таких вычислительных систем является оптимальное соотношения цена/производительность. Однако для того чтобы на практике получить описанные преимущества при использовании вычислительной системы для решения задач конкретной прикладной области на конкретном программном комплексе необходимо решить ряд задач еще на этапе проектирования вычислительной системы. Так архитектура вычислительного кластера должна учитывать особенности, используемой прикладным пакетом модели вычислительной системы, параметры аппаратуры кластера должны быть согласованны с требованиями прикладного пакета к производительности узлов и характеристикам коммуникационного оборудования, используемые системные библиотеки установленные на кластере должны поддерживать оптимизации прикладного пакета и т.д. Решение данных задач требует глубокого понимания внутренней архитектуры прикладного пакета, используемых вычислительных параллельных алгоритмов, исследования современных технологий (многоядерных мультитредовых микропроцессоров, многопроцессорных платформ, высокопроизводительных сетевых технологий и т.д.) исользуемых при построении кластерных систем, разработки аналитисеских моделей позволяющих прогнозировать характеристики кластера для конкретного прикладного продукта, практического опыта построения таких систем. Таким образом, построение высокопроизводительного кластера представляет собой комплексную задачу, которая включает в себя несколько этапов. Одним из наиболее важных является этап проектирования кластера. На этом этапе требования к кластерной вычислительной системе рассматриваться как его характеристики (производительность, эффективность, масштабируемость и т.д.) [1]. В этом случае, в соответствии с требуемыми характеристиками кластера и дополнительными требованиями заказчика (в том числе и бюджетом проекта), производится проектировочный расчет, и выбираются значения параметров аппаратной части кластера: выбор параметров вычислительного узла (разрядность, количество процессоров, объем памяти, объем кэша и др.), количество вычислительных узлов, характеристики коммуникационного оборудования, выбираются управляющий узел и правляющая сеть. В общем случае при проектировании кластера его характеристики задаются для теста HPL (High Performance Linpack). Для случаев, когда кластер проектируется под определенный пакет прикладных программ, вместо теста HPL используются тесты, характеризующие соответствующий класс задач. После определения проектных параметров и с учетом дополнительных требований (например, бюджет проекта) принимаются конструкционные решения о компоновке, системе энергоснабжения и охлаждения кластера. Следующим важным этапом при построении кластера является установка и настройка системного программного обеспечения. Системное программное обеспечение кластера Важной частью вычислительного кластера является его системного программное обеспечение, от выбора которого, правильной установки и конфигурации зависят не только его технические характеристики (производительность, эффективность масштабируемость), но и такие потребительские качества как удобство эксплуатации, надежность, безопасность. Известно, что не существует специализированных операционных систем для кластеров. Узлы кластерной вычислительной системы работают под управлением собственной независимой локальной копии операционной системы, в качестве которой, как правило, используется тот или иной дистрибутив ОС Linux. С учетом этих особенностей, для решения задачи по обеспечению возможности пользователей работать с кластером как с единой вычислительной системой коллективного пользования в настоящее время предлагается использовать специализированные системы управления кластерами. Такие системы работают совместно с базовой, установленной на узлы операционной системой и предлагают средства по инсталляции кластера, централизованного управления и мониторинга кластером, по обеспечению управления потоком заданий пользователей, выделению ресурсов кластера для их решения и т.д. В своих работах связанных с построением высокопроизводительных кластеров мы используем системное программное обеспечение, построенное на базе операционной системы Linux RedHat и системы управления кластерами OSCAR[2]. В состав OSCAR входят средства позволяющие решать следующие задачи: 1. Инсталляция и модернизация кластера. Поддержание целостности системного окружения Системное окружение (ОС и средства обеспечивающие работу кластера), вычислительных узлов кластера устанавливается с использованием средств, входящих состав OSCAR. Особенностью используемых пакетов является то, что инсталляция операционного окружения осуществляется с единого, заранее настроенного по производительности и надежности работы образа ОС. Это позволяет: • обеспечить максимально возможную однородность системного окружения вычислительных узлов; • проводить модернизацию кластера, обеспечивая принцип однородности системного окружения; • обеспечить максимально быстрое восстановление системного окружения вычислительных узлов в случаях сбоев. 2. Централизованное управление и администрирование OSCAR предлагает средства, которые позволяют управлять кластером и производить его администрирование из единого центра – управляющего узла. Это обеспечивает централизованное:
• выполнение коллективных операций; • управление параллельным окружением; • управление бюджетами пользователей. 3. Коллективный доступ к ресурсам кластера Коллективный доступ к ресурсам кластера в OSCAR обеспечивается использованием системы пакетной обработки заданий OpenPBS и планировщик заданий MAUI, особенностями которых являются: • поддержка системы очередей заданий; • возможность разделять общее вычислительное поле кластера на логические подмножества; • возможности реализации гибких политик по выделению ресурсов в зависимости от требований задачи к ресурсам, загрузки кластера, времени суток, дня недели и т.д.; • существующая система приоритетов позволяет реализовать различные сценарии доступа к ресурсам кластера для разных групп пользователей; • наличие backfill алгоритмов обеспечивающих максимально равномерную загрузку ресурсов кластера. 4. Мониторинг кластера Система управления кластером OSCAR предоставляет средства мониторинга уровня операционной системы и уровня системы пакетной обработки заданий. Первое обеспечивается системой Ganglia и позволяет получать информацию о загрузке процессоров вычислительных узлов, памяти, сетевых интерфейсов использовании локальных дисков и т.д. В качестве средств мониторинга кластера уровня системы пакетной обработки в OSCAR предлагается система CLUMON которая работает совместно с OpenPBS и позволяет получать информацию о занятости ресурсов кластера, состоянии очередей заданий, прохождении заданий пользователей, и т.д. Обе системы имеют Web интерфейс. Как член ассоциации Gelato [3] ИСП РАН ведет работу по интеграции собственных программных продуктов в систему управления OSCAR. В дополнение к стандартным, входящим в OSCAR пакетам на кластеры устанавливаются разработанные в ИСП РАН средства: • активного мониторинга аппаратуры кластера; • обеспечения доступа к ресурсам кластера через Web. Система активного мониторинга аппаратной части кластера позволяет определять параметры аппаратуры кластера влияющие на его работоспособность: температуры процессоров, материнской платы, винчестеров и др., частоту вращения вентиляторов процессоров, корпуса, и др., наиболее критичные рабочие напряжения: напряжение ядра процессора, и пр. Администратор кластера имеет возможность выбрать интересующие его параметры аппаратуры кластера, выбрать узел или узлы кластера и передав запрос получить таблицу в которой отражаются режимы работы узлов кластера. При этом зеленый фон в таблице означает то, что параметр находится в допустимых пределах, красный цвет фона сигнализирует об аварийной ситуации, желтый говорит о том, что информация, о данном параметре не доступна. В настоящее время, для того чтобы получить ресурсы кластера пользователь должен иметь непосредственный доступ к управляющему узлу кластера через один из протоколов удаленного доступа, например ssh. При этом взаимодействие с кластером происходит через терминальный вызов процедур командного интерпретатора и системы пакетной обработки заданий. Это не всегда удобно и безопасно. Для повышения удобства и безопасности эксплуатации кластера, необходимо обеспечить более высокий уровень абстракции взаимодействия пользователя и системы управления кластером. Clusterweb – система разработана в ИСП РАН и обеспечивает доступ к ресурсам кластера в нотациях функционирующей системы пакетной обработки заданий, при этом внутренняя архитектура кластера для пользователя остается «черным ящиком» [4]. Поскольку система имеет Web интерфейс, нет необходимости, заботится об организации терминального доступа на управляющую машину кластера по тем или иным протоколам, решать административные вопросы, связанные с возможностью их использования, достаточно иметь Web-броузер. Clusterweb позволяет: создавать сценарии выполнения задания пользователя, выбирать требуемое параллельное окружение, обеспечить отправку и постановку в очередь на выполнение заданий пользователя, транспортировку стандартных потоков вывода на рабочую станцию пользователя. Clusterweb реализован на основе Java и XML с использованием сервера Tomcat. ClusterWeb может использоваться с различными системами управления кластерами, которые имеют интерфейс командной строки или API. 4. Высокопроизводительные кластеры, построенные ИСП РАН ИСП РАН совместно с компанией C.I.Technology были разработаны и построены несколько высокопроизводительных кластерных систем малой и средней мощности [5]. Построение кластеров включает в себя полный цикл работ связанных с проектированием, наладкой аппаратной части, установкой и настройкой системного программного обеспечения, тестирования, документирования, введения в эксплуатацию, обучения персонала, обеспечения дальнейшей поддержки функционирования и развития систем. Первый кластер был установлен и введен в ИСП РАН в марте 2002 г. Система построена на базе процессоров AMD Athlon 1800+ с использованием в качестве вычислительной сети Myrinet 2000. Кластер имеет 8 двухпроцессорных вычислительных узлов (всего 16 процессоров), 8 GB оперативной памяти, 72 GB дисковой памяти на управляющем узле и 160 GB на локальных дисках вычислительных узлов. Пиковая производительность (Rpic) кластера составляет 48 Gflops, максимальная производительность по HPL(Rmax) составляет 29.5 Gflops и эффективность (Rmax/Rpic) 61,4%. В июне 2003 построен и введен в эксплуатацию кластер Вычислительного центра им. А . А . Дородницына РАН. Кластер построен на базе процессоров Intel Xeon 2.6 с использованием в качестве вычислительной сети Myrinet 2000. Кластер состоит из 8 двухпроцессорных вычислительных узлов (всего 16 процессоров), 32 GB оперативной памяти, 144 GB дисковой памяти на управляющем узле и 288 GB дисковой памяти на локальных накопителях вычислительных узлов. Пиковая производительность (Rpic) кластера составляет 83.2 Gflops, максимальная производительность по HPL (Rmax) составляет 59.27 Gflops и эффективность (Rmax/Rpic) 71,2%. В 2003 году был выигран государственный тендер и построен кластер для Кубанского Университета. Система построена на базе процессоров AMD Athlon 2400+ с использованием в качестве вычислительной сети Myrinet 2000. Кластер состоит из 8 двухпроцессорных вычислительных узлов (всего 16 процессоров), 16 GB оперативной памяти, 40 GB дисковой памяти на управляющем узле и 320 GB на локальных дисках вычислительных узлов. Пиковая производительность (Rpic) кластера составляет 64 Gflops, максимальная производительность по HPL(Rmax) составляет 35,54 Gflops и эффективность (Rmax/Rpic) 55%. В марте 2004 года был выигран международный конкурс на получение гаранта МНТЦ (Международный научно-технический центр) на построение кластера для Национальной академии наук Армении. В мае 2004 года кластер построен и введен в эксплуатацию. Кластер установлен в Институте информатики и проблем автоматизации Национальной Академии Наук Армении. Система построена на базе процессоров Intel Xeon 3.06 с использованием в качестве вычислительной сети Myrinet 2000. Вычислительные узлы построены на базе серверной материнской платы SW7501CW2, важной особенностью которой является наличие высокоскоростной шины PCI–X (64-bit/133MHz), обеспечивающей эффективное согласование производительности узлов с вычислительной сетью Myrinet 2000, а также наличие интегрированного интерфейса Gigabit Ethernet. Вычислительные узлы собраны в конструкционных модулях размерностью 2U. При построении вычислительных узлов кластера было применено оригинальное техническое решение, позволяющее исключить использование «райзеров», что значительно повысило надежность. Кластер состоит из 64 двухпроцессорных вычислительных узлов (всего 128 процессоров), 64 GB оперативной памяти, 240 GB дисковой памяти на управляющем узле и 2.56 TB на локальных дисках вычислительных узлов. Пиковая производительность (Rpic) кластера составляет 783,36 Gflops, максимальная производительность по HPL(Rmax) составляет 483,6 Gflops и эффективность (Rmax/Rpic) 61,7%. В ближайшее время планируется расширить оперативную память кластера, что позволит достичь эффективности 70%. В настоящее время ведутся работы по построению высокопроизводительного вычислительного Myrinet кластера для Тамбовского Государственного Университета, который планируется ввести в эксплуатацию до конца текущего года. Литература 1. Sergey Gaissaryan, Arutyun Avetisyan, Oleg Samovarov, Dmitry Grushin. Comparative Analysis of High-Performance Clusters' Communication Environments Using HPL Test. // High Performance Computing and Grid in Asia Pacific Region, Seventh International Conference on (HPCAsia'04), July 20-22, IEEE Computer Society, 2004. Omiya Sonic City, Tokyo, Japan, pp. 473-476. 2. Arutyun Avetisyan, Oleg Samovarov, Dmitry Grushin, Andrey Ryzhov. «Clusterweb – a WEB-based cluster management interface». M. Estrada, A. Gelbukh (Eds.) // Avances en la Ciencia de la Computacion, ENC'04, Colima, Mexico, pp. 489-495
|