Реферат: Кластерные системы
Суперкомпьютеры — это всегда очень большие мощности. В сложившейся ситуации уже невозможно рассматривать высокопроизводительные вычислительные системы отдельно от систем их размещения, охлаждения и электропитания. Например, «СКИФ К-1000» потребляет более 89 кВт, и практически все уходит в тепло. Такой мощности было бы достаточно для обогрева небольшого дома, но все 288 узлов формфактора 1U стоят в восьми стойках, и без продуманного теплового дизайна не обойтись. В первых суперкомпьютерах использовалось жидкостное охлаждение, но такие охладительные системы нередко выходили из строя. В современных суперкомпьютерах применяют воздушное охлаждение, и необходимый температурный режим обеспечивается двумя факторами. Во-первых, продуманным тепловым дизайном вычислительного узла: стандартные шасси необходимо модернизировать для того, чтобы воздушный поток, создаваемый внутренними вентиляторами, максимально эффективно охлаждал процессоры. Во-вторых, поддержанием рабочей температуры в помещении: горячий воздух должен быть либо отведен от узлов и кондиционирован, либо направлен за пределы помещения.
Оптимизация энергопотребления — не менее серьезная задача. По мнению мировых экспертов, при современных темпах роста производительности систем и сохранении характеристик их энергопотребления уже к 2010 г. самые мощные суперкомпьютеры будут потреблять столько энергии, что обеспечить ее подачу и отвод тепла будет невозможно. Однако проблема обеспечения бесперебойного питания существует и для систем со средней производительностью, и каждый изготовитель решает ее по-своему.
Классификация кластерных систем
Кластерные системы могут использовать самые разные платформы и типы интерконнектов л, как правило, классифицируются не по набору комплектующих, а по областям применения. Выделяют четыре типа кластерных систем: вычислительные кластеры, кластеры баз данных, отказоустойчивые кластеры и кластеры для распределения загрузки. Самая многочисленная группа — вычислительные кластеры. Она может быть разбита на подгруппы; правда, классификации внутри этой группы подлежат уже не собственно вычислительные машины, а готовые программно-аппаратные кластерные решения. Такие системы «под ключ» имеют предустановленное прикладное ПО, необходимое заказчику для решения его задач. Решения, оптимизированные для разных приложений, различаются подбором компонентов, обеспечивающим наиболее производительную работу именно этих приложений при наилучшем соотношении цена/качество.
Основные типы готовых решений в мировой практике:
промышленные кластеры для инженерных задач;
кластеры для нефте- и газодобывающей промышленности;
кластеры для исследований в области «наук о жизни», или life sciences (поиск новых лекарств, генетика, молекулярное моделирование, биоинформатика);
кластеры для стратегических исследований (исследования погоды и климата, ядерная физика и физика частиц, космические исследования, оборонные программы);
кластеры для индустрии развлечений (компьютерная графика и спецэффекты, компьютерные онлайновые игры);
грид-решения*;
кластеры для высокопроизводительных вычислений в различных областях науки и образования.
Кластеры баз данных появились недавно. Эти системы работают с параллельными версиями баз данных и используются в крупных организациях для работы CRM-и ERP-систем, а также трапзакционных баз данных. Сегодня эти системы — серьезный конкурент традиционным серверам с общей памятью благодаря лучшему соотношению цена/производительность, масштабируемости и отказоустойчивости.
Отказоустойчивые кластеры строят для того, чтобы наилучшим образом обеспечить надежность работы критически важных приложений. Работа приложения дублируется на разных узлах, и в случае ошибки на одном из них приложение продолжает работать или автоматически перезапускается на другом. Такие кластеры не бывают большими, и пользователи часто строят их сами. Кластерные технологии также используются для распределения большого потока запросов по многим серверам. Такие решения часто применяются для поддержки Web-узлов с динамическим содержимым, постоянно обращающихся к базам данных, например, поисковых систем. В зависимости от размеров сервиса кластеры распределения загрузки могут иметь достаточно большое количество узлов.
*Грид (GRID) — перспективное направление развития ИТ технологий. Хотя оно пока не воплощено в индустриальных стандартах, все страны — лидеры ИТ-рынка — имеют государственные программы разработки грид-технологий. Цель этих программ;
интеграция вычислительных мощностей — интеграция разнородных вычислительных систем в единое пространство с динамическим распределением ресурсов между приложениями;
интеграция емкостей хранилищ — нечто подобное территориально распределенным RAID-системам;
интеграция источников данных — например, интеграция в единую виртуальную базу разнородных баз данных, распределенных территориально, реализованных на разных аппаратных платформах и принципах.
Термин «грид» создан по аналогии с понятием «power grid» — система, интегрирующая генерирующие мощности электрических сетей в единое «хранилище» энергии, откуда она перераспределяется вне зависимости от ее источника. Внедрение таких технологий в сфере высокопроизводительных вычислений позволит кардинально упростить доступ к вычислительным ресурсам и сделать их использование на порядок более эффективным. Помимо интеграции вычислительных ресурсов грид-технологии позволят интегрировать разнородные емкости хранения информации и базы данных для создания глобального информационного пространства. Сегодня ясно, что грид-системы получат большое распространение в научных и академических кругах, т. е. в условиях относительной открытости информационных ресурсов. В коммерческом сегменте, где очень остро стоит вопрос обеспечения безопасности обмена информацией и защиты интеллектуальной собственности, такие системы, по-видимому, будут востребованы в меньшей степени.
Специализированное ПО
Работа кластерных систем обеспечивается четырьмя видами специализированных приложений, как то: операционные системы (как правило, Linux), средства коммуникации (для вычислительных кластеров это обычно библиотека MPI), средства разработки параллельных приложений и ПО для администрирования кластеров.
Для написания параллельных приложений, обеспечивающих взаимодействие между узлами кластера, используются библиотеки программирования MPI. MPI стандартизует набор интерфейсов программирования, на которых можно писать приложения, легко переносимые на различные кластерные архитектуры. Существует несколько популярных реализаций MPI, совместимых с различными типами интерконнектов, среди которых есть как свободно распространяемые, так и коммерческие (например, от компаний Scali, Intel, Verari Systems). Некоторые кластерные приложения вместо интерфейса MPI используют стандартный TCP/IP, но, как правило, с меньшей эффективностью.
Средства разработки параллельных приложений содержат компиляторы с различных языков программирования (например, компаний Absoft, Intel, PathScale, Portland Group), отладчики параллельных приложений (компаний Absoft, Allinea, Etnus), а также средства оптимизации параллельных приложений (например, компании PathScale). ПО для администрирования кластеров позволяет контролировать запуск и планирование выполнения пакетных заданий, а также их распределение между вычислительными узлами кластера. Эти программные средства управляют распределением нагрузки и увеличивают эффективность работы высокопроизводительных вычислительных систем. Наиболее распространены пакеты компаний Altair, Platform, Sun и Scali.
Что касается управления и мониторинга кластеров, то это ПО сильно зависит от используемых аппаратных средств и обычно поставляется изготовителем оборудования. Можно также найти немало свободно распространяемых версий различной функциональности. Существует и российская версия такого ПО — разработанный в ИПС РАН программный пакет FLAME SKIP.
Наиболее популярные параллельные прикладные программные пакеты:
1) инженерные:
CFD, CAD, CAE, т. е. гидро- и газодинамика, прочностной анализ, проектирование и расчет конструкций: программные пакеты FLUENT компании Fluent, пакеты STAR-CD и STAR CCM+, созданные CD adapco Group, MAGMASOFT от MAGMA, Altair HyperWorks от Altair Engineering и др., в том числе российская разработка FlowVision компании «ТЕСИС»;
расчеты столкновения конструкций и FF.A (конечно-элементный анализ): LS-DYNA от LSTC, программные пакеты от ABAQUS, ANSYS, MSC.Software;
2) поиск новых лекарств, генетика и др. программные пакеты от TurboWorx;
3) ПО для обработки геофизических данных для нефтедобывающей отрасли: программные средства компаний Paradigm, Schlumberger.
Перспективы развития кластерных технологий на российском рынке