Кластерная система на базе оборудования Dolphinics WulfKit и программного обеспечения SCALI
В широком смысле под кластером понимается группа независимых систем, функционирующих вместе как единое целое. Клиент взаимодействует с кластером так же, как и с обыкновенным одиночным сервером. Если какая-либо система в составе кластера дает сбой, программное обеспечение в качестве ответной меры перераспределяет рабочую нагрузку между остальными системами кластера.
Кластерная система состоит из:
— стандартных вычислительных узлов;
— высокоскоростной сети передачи данных SCI;
— управляющей сети Fast Ethernet/Gigabyte Ethernet;
— программного обеспечения управления кластером SSP (Scali Software Platform);
— управляющего "головного" компьютера.
За счет использования достаточно мощных современных вычислительных узлов достигается очень хороший показатель производительность/стоимость. Такие системы могут строиться в широком диапазоне производительности от двухузловых систем до суперкомпьютерных систем очень высокой производительности, включающих сотни вычислительных узлов.
Вычислительные узлы объединяются в общую сеть с помощью адаптеров Dolphin WulfKit, которые обеспечивают высокоскоростную передачу данных между узлами.
Для управления узлами кластера, для передачи служебных сообщений и загрузки задач на кластер используется сеть FastEthernet или Gigabit Ethernet.
Программное обеспечение Scali превращает множество объединенных узлов в единую вычислительную систему (параллельный компьютер). Это программное обеспечение управления кластером называется Scali Software Platform (SSP).
Управляющий компьютер по сети Fast Ethernet или Gigabit Ethernet обеспечивает управление всеми узлами кластера, установки программного обеспечения, загрузки задач на кластер.
Рис. 1 Принципиальная схема кластера
принципы работы кластера
Кластер представляет собой несколько компьютеров, называемых узлами, на которых работает операционная система на базе UNIX или Windows. Эти серверы по отношению к остальной части сети выступают в роли единого объекта: мощного виртуального сервера. Клиенты подключаются к кластеру, не зная о том, какой именно компьютер будет на самом деле заниматься их обслуживанием.
Бесперебойность доступа, обеспечиваемая кластерами, достигается за счет своевременного выявления нарушений в работе аппаратных и программных средств и автоматического переноса процессов обработки данных на исправный узел. Поскольку кластер идентифицируется в сети как один объект, можно передавать сервисные задачи с узла на узел и даже полностью заменять какие-либо узлы — клиенты при этом будут по-прежнему видеть только один сетевой объект.
В стандартном кластере каждый узел отвечает за размещение у себя определенного числа ресурсов. В случае отказа узла или ресурсов система передает часть ресурсов на другой узел и обеспечивает их доступность клиентам. При этом клиенты, в зависимости от выполняемых операций, либо будут работать практически без прерывания, либо должны повторно подключиться к кластеру.
При штатной работе кластера все ресурсы распределены по узлам и активизированы. Важно подчеркнуть, что в каждый момент конкретный ресурс управляется одним из узлов кластера — каким именно, определено в конфигурации ресурса или задано в процессе работы администратором.
Управляющая консоль позволяет администратору контролировать состояние всех ресурсов кластера. Можно переносить рабочую нагрузку с одного сервера на другой в пределах кластера. Такая возможность открывает путь к равномерному распределению вычислительной нагрузки между узлами кластера, а также высвобождает один из серверов кластера, например, для проведения плановых профилактических работ, сохраняя при этом доступность.
описание оборудования Dolphinics WulfKit
SCI (Scalable Coherent Interface) является международным стандартом (IEEE 1596) высокоскоростных соединений. Фирма Dolphin Interconnect Solutions производит различное оборудование для SCI и в том числе PCI-SCI адаптеры, которые применяются в кластерных системах Scali.
В настоящее время используются два поколения адаптеров PCI-SCI: старая серия D31x и новая серия D33x. Главное различие между ними в том, что новые адаптеры поддерживают использование PCI 64бит / 66 Мгц и топологию сети типа 3D-тор. Излишне говорить, что новые кластерные системы Scali комплектуются адаптерами нового поколения, но программное обеспечение SSP продолжает поддержку и старой серии D31x.
В зависимости от модели, адаптеры SCI поддерживают до трех SCI-линков (соединений), которые будем обозначать L0, L1, L2. На новых адаптерах коннекторы линков имеют ясную маркировку. В любом случае надо помнить, что номера коннекторов начинаются с коннекторной пары L0, наиболее близкой к материнской плате адаптера.
Основные характеристики:
Высокая производительность— пропускная способность превышает 300 Мб/сек, латентность (время ожидания) для ScaMPI — менее 3,5 мксек.
Безопасная многопоточность— многопоточные приложения могут полностью использовать ScaMPI, возможен одновременный запрос средств и коммуникация между потоками с использованием ScaMPI.
Автоматический выбор транспортного механизма— ScaMPI автоматически выбирает транспортную среду, наиболее подходящую для передачи сообщений MPI. В симметричных мультипроцессорах (SMP) совместно используется память, в коммуникационной среде SCI — используется связь между узлами.
Отказоустойчивость— ScaMPI устойчив к ошибкам в сетях, изменениям таблиц маршрутизации.
Копирование командных строк UNIX — командная строка, относящаяся к определенному приложению, автоматически представляется всем соответствующим MPI-процессам, избегая длительного анализа и трансляции параметров другим MPI-процессам.
Точное определение размера сообщений— ScaMPI определяет размер полученных и переданных сообщений, хотя этого и не требуют технические условия MPI.
Поддержка MIMD— ScaMPI поддерживает систему множественного потока команд и множественного потока данных (MIMD — совокупность компьютеров, работающих по своим программам и со своими исходными данными) с возможностью запуска различных исполняемых файлов, составляющих приложение MPI.
Гетерогенные кластеры— ScaMPI поддерживает приложения, состоящие из MPI-процессов, расположенных на различных узлах, использующих разные операционные системы.
Графический интерфейс— программы ScaMPI могут быть запущены через mpimon (MPI-монитор — пользовательский интерфейс для запуска MPI-программ), с помощью mpirun скриптов, совместимых с MPICH, или с помощью графического интерфейса Scali.
Режим запуска вручную— помимо режима автоматического запуска MPI процессов, ScaMPI предусматривает возможность запуска отдельных MPI процессов вручную.
описание программного обеспечения управления кластером Scali SSP
Программное обеспечение управления кластером SCALI MPI обеспечивает работу в следующих основных направлениях:
— администрирование/поддержка работоспособности;
— средства параллельной установки программного обеспечения (ScaPkg);
— конфигурирование/управление коммуникационной средой SCI (ScaConf);
— удаленное управление питанием узлов (ScaPowd);
— управление консолями (ScaCons);
— параллельное выполнение команд ОС на кластере (ScaSH);
— диагностика системы (ScaDiag);
— параллельное выполнение команд ОС на кластере (ScaSH);
— выполнение параллельных программ, использующих функции MPI (ScaMPI, MPICH);
— мониторинг производительности и состояния системы (ScaMon);
— планирование выполнения заданий (ScaOPBS).
принципы построения кластеров на базе серверов PC
В зависимости от количества узлов кластера используются различные типы соединений: кольцо, 2D и 3D торы.
В небольших системах, имеющих небольшое количество узлов (до 8), эффективно использовать топологию простого кольца (см. рис. 2).
Рис.2
Топология 2D-тор состоит из колец по двум измерениям. При этом для соединения каждого кольца 2D-тора можно использовать ту же схему, что и для простого кольца. Этот тип соединения следует использовать в системах, имеющих до 24 узлов.
Рис. 3
Для топологии 3D-тор кабельные соединения становятся еще более сложными, поскольку эту трехмерную топологию достаточно затруднительно отобразить на двумерное расположение физических узлов. Нужно больше усилий, чтобы найти оптимальное расположение узлов и избежать применения длинных кабелей. Этот тип соединения следует использовать в системах, имеющих 300 и более узлов.
Рис. 4 Принципиальная схема соединения узлов в трехмерную решетку
Рис. 5 Пример соединения узлов кластера по топологии 3D-тор
аппаратное обеспечение для построения кластеров
Наибольшая производительность была достигнута на оборудовании:
— 2 процессора Intel Itanium — 2 c архитектурой LA64, чипсет 460GX. При данной конфигурации достигнута максимальная производительность, скорость передачи данных между узлами составила 326 MB/s;
— процессор AMD Athlon c архитектурой 64bit, чипсет AMD 760 MPX (283MB/s).
Для процессоров Intel Pentium 3, Xeon, и 4 рекомендуется использовать следующие системные платы и чипсеты:
— ServerWorks ServerSet III HE;
— ServerWorks ServerSet III HE-sl;
— Intel i840 и i 860.
Для организации менее производительных кластеров на базе системных плат, имеющих шину PCI 33 MHz / 32 Bit PCI, рекомендуется использовать следующее оборудование:
Для процессоров AMD Athlon:
— AMD 760 MP (163MB/s);
— AMD K7 Athlon:
— ViA KT133 (рекомендован для кластеров с однопроцессорными узлами);
— ViA KX133.
Для процессоров Intel P2 and PIII:
— ViA Apollo Pro 133A (both SMP and UP);
— Intel 440GX;
— Intel 440BX.
Для организации кластеров на базе серверов Sun SPARC каких-либо ограничений не предусмотрено.
По материалам компании Redlab (Россия).
Сетевые решения. Статья была опубликована в номере 05 за 2003 год в рубрике решения