Кластер по-российски

Анатолий Ковалевский (С.-Петербург)

В 2002 году российская кластерная система МВС-1000М стояла на 64-м месте в списке Тор500. К 2003 году она опустилась до 97-й, а потом и до 189-й позиции. В HP SuperDome Сбербанка РФ увеличили число процессоров со 192 до 256, но все равно он опустился с 357-й до 396-й позиции, а на 407-м место вошел суперкомпьютер К-500, разработанный в рамках программы «Скиф». В этом году SuperDome Сбербанка РФ и К-500 выбыли из списка. МВС-1000М опустилась еще ниже, лишь Скиф-1000 занял 98-е место.

Маленькие, но гордые

Существует общемировой рейтинг Top500, где два раза в год приводится список из 500 самых быстрых суперкомпьютеров (не по максимальной производительности, а на основании теста Linpack). С весны этого года в СНГ действует нечто похожее, только чуть меньшего масштаба — Межведомственный суперкомпьютерный центр РАН и МГУ им. М.В. Ломоносова объявил о выпуске первой версии списка самых мощных суперкомпьютеров СНГ — Тор50.

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

Сайт рейтинга является единственным источником информации о том, какими высокопроизводительными вычислительными мощностями располагает Россия. До недавнего времени, как это часто у нас бывает, данная информация была полностью закрытой. Этот список обновляется так же два раза в год (пока еще 4 раза), производительность оценивается при помощи того же теста Linpack.

С целью пропаганды суперкомпьютерных вычислений в центре ИВВиБД РФ создана кластерная система «ПАРИТЕТ» с пиковой производительностью 3,2 Gflops (4 двухпроцессорных узла с Pentium II 450 MHz, 2 Gb оперативной памяти, 40 Gb дисковой памяти на интерфейсе Ultra Wide SCSI, сеть Myrinet/Fast Ethernet, ОС Linux Red Hat 5.2). Но самое интересное — вся кластерная система собрана на базе стандартных комплектующих для персональных компьютеров и стандартного операционного и сетевого ПО. Добавлено лишь ПО для выполнения параллельных пользовательских приложений. Конечно, с полученными показателями даже в Top50 не попадешь. Хотя…

Последнее, 50-е место в суперкомпьютерном списке занимает, с позволения сказать, кластер из 6 узлов: (Pentium 4 2.2 GHz, 1 Gb RAM, сеть Gigabit Ethernet), то есть просто некий админ не поленился настроить распределенные вычисления и запустить тест Linpack. В списке есть еще с десяток подобных кластеров.

А что же надо, чтобы собрать такой «кластер»? Давайте прикинем исходя из того, что каждой комплектующей нам надо с десяток — возьмем материнскую плату с интегрированным Gigabit Ethernet и возможностями разгона ($800), да под процессор Athlon 64 ($1300), кулеры на медной подошве ($150), 1 Gb RAM 400 MHz ($1600), флоп ($100), источники питания ($500), винчестер-RAID на host-компьютере ($200), монитор ($200), ну и провода, единый корпус-стойка с хорошей (!) общей системой охлаждения, клавиатура, мышь и прочие мелочи ($100). В результате примерно за 5 тыс. долларов получаем суперкомпьютер. Можно удешевить его в два раза, собрав на 32-разрядных процессорах, сделать кластер меньше, обойтись без флопа, загружая ПО по сети… В конце концов, если вы — админ, можете взять офисные компьютеры, выделить часть винчестера под Unix-OC и по вечерам иметь персональный кластер. Регистрируетесь на www.supercomputers.ru, предоставляете временный доступ для проверки производительности и получаете именной сертификат о том, что у вас есть суперкомпьютер. Вуаля!

Данная выкладка показывает, что несмотря на впечатляющие успехи с 98 общемировым местом (система СКИФ-1000) в целом мы находимся на очень низком уровне развития суперкомпьютеров. При том, что 5 тысяч долларов для сборки суперкомпьютеров — это траты на 1 узел, а не на весь комплекс, в нашей стране отсутствуют даже такие, с позволения сказать, суперкомпьютеры.

Американская суперкомпьютерная индустрия уже потратила 6 млрд долларов, а на СКИФ весь бюджет за все четыре года работы — 35 млн долларов. Можно посчитать, во сколько раз они мощнее профинансированы. Именно это и показывает сравнительный анализ оснащенности в странах СНГ (по Тор50) и в мире (по Тор500): больше половины систем первой версии списка (26) установлено в Москве, 4 системы в Минске, по 2 в Киеве и Ростове-на-Дону, а остальные 16 представляют свои города в единственном числе. Среди разработчиков систем списка Top50 лидером является… «собственная сборка» (в мировом масштабе из 500 суперкомьютеров таких только 4).

Другой небезынтересный факт — в начале зимы суперкомпьютер BlueGene/L от IBM достигл 70,72 Tflops (триллион операций с плавающей запятой в секунду) на стандарте Linpack. Сборщик утверждает, что это только четверть мощности. Earth Simulator от NEC окончательно потеряет свое лидерство, поскольку проектируемый Supercomputer SX-8 Series будет иметь производительность 65 Tflops… Но эти игры еще очень далеки от нас. В сводной таблице Тор50 лишь 23 компьютера имеют производительность больше 1 Gflops, а Тор500 начинается с сотен Gflops. Первая десятка Тор500 обеспечивает более 50% общей производительности, более 50% суперкомпьютеров установлено в США, 92% всех систем произведено там же.

Но давайте обо всем по порядку.

Скибры, скифы, фениксы и прочий зоопарк

Суперкомпьютерная программа России (Объединенный институт проблем информатики Национальной Академии Наук) и Беларуси (Институт программных систем Академии Наук) реализуется на основании постановления №43 от 21.10.99. На первом этапе название было СКИБР (поначалу все было секретно и нужен был шифр). Но по звучанию это очень уж напоминало «киборг», и название сменили на Феникс. Этот вариант как-то мало понравился разработчикам, и в результате прижилось нынешнее название СКИФ (СуперКомпьютерная Инициатива Феникс).

В основе программы «СКИФ» лежит концепция создания семейства вычислительных систем с широким спектром моделей и возможностью выбора конфигурации, оптимальной для заданного применения. Программа ориентирована на открытые пакеты, так как решаются вопросы цены, авторского права и информационной безопасности. Помимо того, что коммерческое ПО — это «черный ящик», который неизвестно как себя поведет в том или ином случае, а свободное ПО с исходными текстами позволяет самому что-то подкрутить, подправить. Архитектура суперкомпьютеров, разрабатываемых по программе, является открытой и масштабируемой. Не накладывается никаких жестких ограничений на аппаратную платформу вычислительных модулей кластерного уровня, к аппаратуре и типологии системной сети, конфигурации и к диапазону производительности.

В начале прошлого года был запущен СКИФ К-500 — кластер из 64 узлов на базе 128 процессоров Intel Xeon 2.8 GHz, сеть SCI 3D, тест Linpack показал 475,3 Gflops, что обеспечило К-500 в 2003 году, на момент запуска, 407-место в общемировом рейтинге (правда, сегодня он уже выбыл из списка).

Затем встал вопрос дальнейшего наращивания мощности. Тут разработчики отмечают, что AMD, причем даже без подписания официальных бумаг, пошла им навстречу, обеспечив оборудованием для тестирования. По сути им просто выдали на две недели несколько типов материнских плат и несколько типов процессоров в нужном количестве. И именно благодаря этому удалось найти комбинацию, которая хорошо работает с сетью SCI. В результате было принято решение делать апгрейд первой установки именно из этих комплектующих. И результат получился потрясающий — удалось не только сохранить полностью старый кластер, но и собрать новый. При этом все характеристики «подросли» в от двух до трех раз: память — в 2 раза, объемы винчестеров — в 3 раза, скорострельность SCI — в 2 раза. Сама платформа оказалась настолько продуманной, что для сегодняшних заказов это является лучшим решением в отношении производительности.

В результате компания «Т-Платформы» за 3,5 месяца (рекордно короткий срок для построения подобной системы — общемировой нормой является 1-1,5 года) построила кластер СКИФ К-1000 на базе 576 процессоров AMD Opteron (перекомпилированное под параллельные вычисления ядро OC Linux, параллельная файловая система PVFS-SKIF). Пиковая производительность кластера составляет 2,5 Tflops, на тесте Linpack — 2,032 Tflops. В результате суперкомпьютер СКИФ К-1000 стал наиболее мощной из всех вычислительных систем, установленных не только в России или СНГ, но и во всей Восточной Европе, и входит в число 100 наиболее мощных компьютеров мира по итогам 24 редакции Top500 (от 9 ноября 2004 года), занимая 98-е место.

Темпы роста производительности по программе СКИФ тоже невиданные: за последние 4 года мощность установок, замыкавших первую сотню рейтинга Тор500, выросла в 16 раз, а реальная производительность суперкомпьютеров семейства СКИФ за этот же срок выросла в 185 раз). Производительность топовых суперкомпьютерных установок СКИФ в течение 4 лет возрастала каждый год примерно в 3,7 раза. Иными словами, программа СКИФ набрала очень хороший вектор скорости, который позволяет полагать, что рост нашей суперкомпьютерной индустрии скоро достигнет общемировых стандартов. Грамотность реализации выбранной стратегии подтверждает и тот факт, что кластер СКИФ К-1000 представляет собой легко масштабируемую систему, которая позволяет создавать установки мощностью до 15 Tflops простым объединением стандартных модулей. Сейчас в рамках проекта уже построено 11 образцов и установок моделей.

Другой отечественный суперкомпьютер МВС представляет собой целое архитектурное семейство. Сначала в Москве был построен МВС-100 — отечественная мультипроцессорная система второго поколения, в настоящий момент она заменяется на МВС-1000. Под МВС-1000 понимают уже целое семейство — МВС-1000/16, МВС-1000К, МВС-1000М, МВС-5000, каждая из систем построена не только на разных процессорах, но и разными производителями (Intel, HP и IBM). О том, насколько это разные системы, можно судить по следующим примерам:

1. МВС-1000/16 — к базовой машине (16 PIII-800, 256 Мb, 10 Gb диск, две 100 Мbit сетевые платы) присоединены 8 более слабых машин (PIII-700, 128 Мb, 14 Gb диск, соединенных 100 Мbit EtherNet).

2. МВС-1000М — 786 процессоров Alpha 21164 500 MHz имеют каждый 128 Mb оперативной памяти и соеденены между собой в узлы. Процессорные узлы через коммуникационные процессоры TMS320C44 (Texas Instruments) связаны друг с другом по оригинальной схеме, сходной с топологией двухмерного тора.

Правда, обычно имеют в виду кластер МВС из Межведомственного суперкомпьютерного Центра РАН, который занимает 210-е место в последней редакции Тор500. Подробности можно посмотреть в таблице и в реальности, через веб-камеру на www.jscc.ru/hard/scroombg.html. Чтобы стать пользователем вычислительного комплекса НИВЦ, надо заполнить регистрационную форму по адресу http://cluster.parallel.ru/cgi-bin/register и согласовать вопросы доступа к кластеру. Разумеется, такой облегченный доступ открыт только для научных подразделений. Интересен факт связи МВС-1000 с… Интернетом — достаточно рисковое и спорное решение. Думаю, что мы когда-нибудь услышим, как кто-то из хакеров использовал систему для перебора хешей к паролям.

Ты помнишь, как все начиналось?

Раньше в компьютеростроении существовали два практически непересекающихся рынка — персональных компьютеров и серверов/рабочих станций. Наиболее выразительно это соотношение можно представить словами руководителя Intel, который в 1995 году сказал: «Что мне эти RISC, я за один квартал выпускаю микропроцессоров больше, чем все RISC вместе взятые за всю историю их существования».

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

Немного теории

Неймановская модель вычислений, реализованная в обычных компьютерах, соответствует последовательному исполнению программы. Упрощенно такую модель вычислений можно охарактеризовать как последовательно-временное выполнение программы: код ее выполняется последовательно, а программа распределена по времени.

Кластерные вычисления предлагают другую модель -параллельно-пространственную. Такая архитектура позволяет сохранять часть кода (или весь код) в специальной реконфигурируемой среде, объединяющей в себе множество процессорных элементов и коммутационную среду. Иными словами, на время выполнения сохраненной части кода пользователь получает спецвычислитель, реализующий заданный алгоритм. Обратите внимание, в реконфигурируемую среду загружается не отдельная команда, а программа, размер которой и определяется вычислительной мощностью среды. Вместе с тем очевидно, что реконфигурируемые системы эффективны прежде всего на задачах, связанных с регулярной обработкой больших массивов. Поэтому наиболее перспективными вычислительными системами признаны гибридные системы, объединяющие как реконфигурируемые среды, так и последовательные архитектуры.

Примером такой гибридности служит российская архитектура высокопроизводительных вычислительных систем с параллельной обработкой данных «МиниТера» (и Скиф, и МВК в какой-то степени реализуют эту гибридность). Она представляла собой двухуровневую масштабируемую архитектуру, обеспечивающую возможность совместного (в рамках одной вычислительной системы) использования двух разных архитектурных (аппаратных) решений, позволяя разбивать данные на крупноблочные фрагменты со сложной логикой вычисления и мелкоблочные фрагменты с простой логикой вычисления. Для управления работой модуля РВМ «МиниТера» введен управляющий процессор. Он имеет доступ ко всем банкам памяти, не занятым в данный момент ни одним процессором памяти, и может осуществлять загрузку в них исходных данных и выгрузку результатов. Можно объединить несколько модулей «МиниТера» в кластер для увеличения производительности. Вычислительная система «МиниТера» состоит из вычислительных блоков двух типов:

  • модули на основе серийных процессоров
  • модули на основе процессоров специального применения

Для связи процессорных узлов между собой используются 5 основных типов коммуникаций:

1. Gigabit Ethernet — оптимальное решение для недорогих кластеров и решения задач, не требующих интенсивных обменов данными; пропускная способность 120 Мбит/с (на практике около 90); время задержки достаточно велико — около 50 мкс; топология коммутируемая.

2. Myrinet — большая часть кластеров Top500 построена с его помощью; пропускная способность 250 Мбит/с; время задержки — около 10 мкс; топология коммутируемая.

3. SCI — используется при решении задач, требующих большого количества пересылок коротких сообщений, так как в таких задачах время задержки (4 мкс) играет решающую роль; пропускная способность как физическая скорость — 667 Мбит/с (реализованная — до 325 Мбит/с); топология: кольцо, двух- или трехмерный тор, а также коммутируемые кольца.

4. QsNet — дорогостоящая коммуникационная среда, обеспечивающая низкую латентность (3 мкс) и пропускную способность до 900 Мбит/с (QsNet-II), топология Fat Tree; поддерживает до 1024/4096 узлов (QsNet-I/QsNet-II).

5. InfiniBand — интенсивно развивающаяся среда, позволяющая обеспечивать соединение на скорости 30 Гбит/с (пропускная способность 800 Мбит/с); время задержки — 5-7 мкс; топология коммутируемая с использованием Fat Tree.

Что могут короли?

Могут многое, если не наступят на грабли. А грабли лежат, заботливо повязанные бантиком, о них столкнулась еще AMD, когда придумала технологию снижения расхода электроэнергии для мобильных процессоров, но воплощаться она стала только тогда, когда Intel предложила много позже то же самое, но уже в виде законченного решения Centrino. Лежат грабли, ждут нас. Дело в том, что рынок не готов.

Кто же реальный пользователь СКИФов? Во-первых, конечно, оборонная промышленность. И, конечно, научные организации, но этот рынок надо формировать. Сейчас фирмы, которые занимаются инженерными расчетами, ездят по стране, приезжают на заводы… но вместо конструктивного диалога приходится вообще доказывать, что эти задачи надо считать. И хотя придется заплатить за такой счет, это выйдет предприятию гораздо дешевле, чем мучиться самим годами и без результата. Иногда доходит просто до идиотизма. Было предложение одному предприятию (не будем пальцем показывать) посчитать реальную задачу для большой компрессорной установки. Там отказались: «Да ладно, мы сами как-нибудь…» А дошло до испытания — разнесло все на куски, несколько человек остались живы лишь чудом. Но все равно считать не хотят.

Конечно, можно жить и не считая ничего на суперкомпьютере, как мы живем сейчас. Но вот пример: многим хочется иметь отечественный автомобиль с расходом 5л на 100 км. Однако без хорошего обсчета на суперкомпьютере такой автомобиль просто не создать. А пока он будет поедать 12 литров все более дорогого топлива на каждые 100 км, потребитель будет голосовать рублем за иномарки, которые, к тому же, реже ломаются.

А пока российские кластеры все-таки начинают применять для решения задач, требующих высокопроизводительных вычислений в наукоемких отраслях промышленности, биотехнологиях, медицине, генетике, геологоразведке, для контроля за окружающей средой, прогнозирования погоды и многих других задач. Несколько конкретных примеров:

1. Создано законченное изделие под названием Кардиологический Комплекс, можно сказать, рабочее место врача-кардиолога. Это небольшой кластер, к которому подсоединяются датчики. Идет обсчет различных сигналов, а на выходе — экспертная система, которая выдает аргументированный диагноз.

2. Россия участвует в европейском проекте HIISC (Highly Intelligent Internet Searching Computer — высокоинтеллектуальная поисковая машина для Интернета). Думаю, что актуальность проекта объяснять нет необходимости.

3. Суперкомпьютер МВС-1000М обеспечивает качественный прорыв в практическое моделирование нанотехнологических процессов: уменьшает время счета в 30 раз (!), увеличивает размер систем в 5-10 раз (до 2000 атомов), справляется с рекордно сложными наносистемами.

4. На www.research.att.com/projects/tts/demo.html и www.minitera.ru/srlab/rus/index.php можно набрать текст и послушать, как он звучит. Програм-мный пакет на базе суперкомпьютера представляет собой синтезатор речи Natural Voices, он успешно конвертирует текст в аудиосообщения с весьма качественным североамериканским английским, латиноамериканским испанским, немецким и французским акцентом; разными мужскими и женскими голосами. Есть и обратная разработка — распознавание речи.

Между тем, суперкомпьютеры нам приходится собирать самостоятельно. И не только потому, что готовые системы стоят дорого. До сих пор действуют ограничения на поставку в Россию вычислительных систем с производительностью более 10 Gflops (если раньше это были соображения военно-политического характера, то теперь -экономического). С другой стороны, крупные научно-технические проекты могут быть реализованы только в случае международной кооперации, и Россия должна участвовать в этом процессе не только как генератор идей, но и как полноправный член научного сообщества.

Например, компания «Т-Платформы» и Институт программных систем РАН объявили о создании четырехузлового кластера T-Bridge8i на базе процессоров Itanium 2 и технологии InfiniBand для дальнейшего развития в рамках суперкомпьютерной программы СКИФ. Наши разработчики успешно конкурируют с западными производителями на самом высоком технологическом уровне и имеют все необходимое для лидерства на отечественном рынке. Осталось только научиться всем этим пользоваться.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *