Близость петафлопсного рубежа в суперкомпьютерных вычислениях очевидна, и на этом фоне резко усиливается конкуренция на рынке параллельных систем. Корпорации, национальные и международные организации стремятся “застолбить” место в новой нише, объявить о новых проектах и вовремя “окучить” потенциальных пользователей. Компания Sun завершает создание кластера Sun Constellation System в Техасском центре передовых вычислений г. Остина. Промежуточная версия на базе ОС Solaris 10 из 13 тыс. процессоров AMD покажет скорострельность 500 Тфлопс, а конечный вариант из десятков тысяч четырехпроцессорных чипов AMD Barcelona будет масштабироваться на 2 Пфлопс. Ближайший конкурент, корпорация IBM, также не медлит с ответом — анонсирована новая 72-стоечная модель BlueGene/P из 294 тыс. процессоров PowerPC 450, которая в три раза производительнее нынешней модели Blue Gene/L и, как обещается, достигнет порога в 1 Пфлопс, а в недалекой перспективе — и 3 Пфлопс.
Самой быстрой в мире системой общего назначения стал на днях суперкомпьютер New York Blue из 30 тыс. процессоров на базе архитектуры IBM Blue Gene. Он внедрен в Нью-Йоркском центре вычислительных наук при поддержке университета Стони Брука и министерства энергетики. Ресурсы 100 Тфлопс будут задействованы в нанотехнологических, биологических, медицинских и других проектах. Бюджет работ составил 26 млн. долл.
В августе в калифорнийском суперкомпьютерном центре НАСА NAS в рамках текущего обновления кластерного суперкомпьютера Columbia на базе серверов SGI Altix будет внедрена новая система из 1024 двухпроцессорных чипов Intel Itanium 2, которая покажет 13,1 Тфлопс. Результат по современным меркам не очень внушительный, однако данное решение по-своему уникально: оно стало крупнейшим в мире по объёму общей оперативной памяти – 4 Тб. Ещё один рекорд данной системы — работа под управлением самого объемного образа одной копии Linux, виртуализирующего основные вычислительные ресурсы.
Европа немного отстает от США в петафлопсной гонке, но несильно. Руководство германского суперкомпьютерного центра им. Гаусса обещает уже к осени вывести ресурсы комплекса HLRB-II (кластер IBM Blue Gene из 65 тыс. процессоров) на первое место в Европе по производительности. Его показатель вырастет с 62 до 220 Тфлопс и сделает HLRB-II второй по счёту системой в мире по быстродействию. Одновременно с немцами новый кластер для учёных внедрит этой осенью в университете г. Линчёпинга и Шведский национальный суперкомпьютерный центр. Система из 85 узлов HP ProLiant DL140 G3 (по два четырёхъядерных процессора Intel Xeon) достигнет показателя 60 Тфлопс.
Партнерство во имя петафлопса
В июне 2007 г. Евросоюз и США анонсировали программу Juelich Research on Petaflop Architectures (JuRoPA), которая нацелена на создание недорогих петафлопсных кластеров для нужд европейских организаций. Они будут базироваться на процессорах Intel, технологии межсоединений Quadrics, системном кластерном ПО Partec и архитектуре IBM System x. Первый прикладной проект подразумевает создание кластера из 256 процессоров Intel Xeon 5160, масштабирующегося до 16 384 элементов. В нем будут задействованы узлы IBM x3550 и сетевые решения QsTenG для 10 Гбит/с Ethernet. В качестве кластерного ПО планируется оригинальная разработка ParaStation — плод сотрудничества ParTec и немецкого исследовательского центра г. Юлиха.
Этот центр совместно с Рейн-Вестфальской высшей технической школой в Ахене, университетом Дрездена и американским университетом шт. Теннесси в Кноксвилле вошёл также в состав “виртуального института” VI-HPS, специализирующегося на технологиях отладки сложных программ. Растущий интерес к этой теме понятен — пока что не удается создавать безошибочные программы даже для одного процессора, а с распространением параллельных систем сложность проектов в сфере разработки ПО резко возрастает. Специалисты VI-HPS намерены предложить новые алгоритмы выявления ошибок и оптимизации кода, и недаром идею VI-HPS поддержал Пентагон, заказчик крупнейших ИТ-систем.
В июне был создан консорциум ParMA , в который вошло 17 научных и коммерческих структур из Англии, Германии, Испании и Франции. Они займутся развитием многоядерных архитектур и ПО для высокопроизводительных вычислений. Схожие задачи призвана решать и новая программа Multi-Core Optimization Program корпорации Hewlett-Packard. В её рамках будут организованы исследования по оптимизации многоядерных систем. В частности, продолжится совершенствование средств планирования параллельных задач в Linux и библиотеки обработки сообщений HP-MPI, которые ориентированы на независимых разработчиков. В числе партнёров программы названы Accelrys, AMD, Intel, TotalView Technology и немецкий технологический институт г. Карлсруэ.
Корпорация Intel в конце июня тоже сообщила о новых проектах в этой сфере. Запущена глобальная программа Intel Software Training Program по обучению и подготовке разработчиков ПО для многоядерных систем. А две другие программы Intel Cluster Ready и Intel Connects Cables призваны упростить развертывание массовых кластерных решений. При этом особый акцент сделан на всесторонней стандартизации и ускоренном вводе систем в эксплуатацию. В этом поможет ПО — такое, например, как утилита Cluster Checker, которая выявляет узкие места в кластерной сети, ограничивающие её производительность.
Новое развитие получают связи Hewlett-Packard с Microsoft. Эти корпорации договорились о многомиллионных инвестициях в кластерные технологии и активное продвижение на массовый рынок быстро разворачиваемых (64-узловой кластер — за два часа) и легко администрируемых высокопроизводительных систем. В частности, будут поставляться различные кластерные и лезвийные решения Hewlett-Packard с предустановленной ОС Windows Compute Cluster Server 2003. Упрощается и создание прикладного ПО для данной платформы. Так, компания Allinea Software в содружестве с Microsoft разработала расширение Distributed Debugging Tool (DDTLite) для среды программирования Microsoft Visual Studio, существенно упрощающее процесс отладки параллельных приложений в кластерной версии Windows. Данное решение успешно применяется для отладки многопоточных, MPI- и OpenMP-программ в Linux/Unix. Тем временем конкуренты из TotalView Technologies объявили о совместной с IBM разработке отладчика параллельных систем TotalView Debugger для лезвийного сервера IBM QS20 BladeCenter на базе платформы Cell Broadband Engine. Нынешняя версия TotalView Debugger уже поддерживает архитектуры IBM AIX/Linux на PowerPC, IBM Blue Gene и др.
Суперкомпьютер — в каждый офис
Вычислительные мощности, пусть пока и в специализированных тестах наподобие Linpack, растут очень стремительно. Так, всего 3--4 года назад система с производительностью около 10 Тфлопс обошлась бы в миллион долларов, а сегодня настольный лезвийный суперкомпьютер Nvidia Tesla с производительностью от 2 до 12 Тфлопс, поступающий в продажу в августе, доступен практически любой компании. Базовая конфигурация из четырёх 512-ядерных процессоров для графических вычислений (быстродействие по 518 Гфлопс) и общим ОЗУ 3 Гб обойдётся в 7,5 тыс. долл., а наиболее продвинутая модель из 24 графических чипов — в 60 тыс. долл. В этом настольном суперкомпьютере поддерживается модель программирования CUDA — создание параллельных программ на Си для графических процессоров. Соответствующая библиотека разработчика для Windows XP и Linux выложена в общий доступ в июле (www.developer.nvidia.com/object/cuda.html).
В формате CUDA 1.0 уже реализовано расширение для математического пакета MATLAB фирмы MathWorks. Модуль, созданный специалистами NVIDIA, рассчитан на эксплуатацию ресурсов графических плат и сопроцессоров. В интенсивных числовых расчётах продукт показывает быстродействие на порядок выше, нежели при решении задач обычным кодированием для одного процессора. Схожее решение предлагает и компания Wolfram Research — в виде модуля Parallel Computing Toolkit для математического пакета Mathematica при работе на мультипроцессорных платформах. Разработчикам теперь доступны как параллельные версии многих популярных счётных функций пакета, так и дополнительные команды встроенного сценарного языка для поддержки параллельной работы. Готовится также версия Mathematica для grid-сетей.
Концепция использования графических процессоров для прикладных задач оказалась столь эффективной в определенных нишах (например, при обработке сигналов), что компания Mercury Computer Systems заключила соответствующий альянс с Тихоокеанской северо-западной национальной лабораторией министерства энергетики США PNNL. Они займутся адаптацией ресурсов графических многоядерных процессоров наподобие Cell, активно применяемых в игровых приставках, а также аналого-цифровых преобразователей и программируемых логических матриц для проектов национальной безопасности, биоинформатики и др. Альянс открывает центр компетенции, который возьмется за проектирование аппаратных архитектур, разработку новых алгоритмов, системного и прикладного ПО и обучение персонала. Среди первоочередных проектов, например, названа задача обучения бортовых систем небольших беспилотников оперативному анализу видеоинформации в реальном времени. Исследователи также обещают создать программно-аппаратные решения, надежно защищающие крупные сети от хакеров и оперативно выявляющие подозрительную активность, и даже спроектировать ноутбуки с ресурсами суперкомпьютеров.
Один из хороших способов рекламы и продвижения своих решений — это выпуск для неё общедоступных средств разработки. Руководствуясь этой идеей, корпорация Intel предлагает кросс-платформную библиотеку Threading Building Blocks (TBB, href="http://www.threadingbuildingblocks.org">www.threadingbuildingblocks.org), позволяющую создавать приложения на С++ для многоядерных процессоров. При этом глубокого понимания устройства параллельных архитектур не требуется. К обычной программе пристраивается миниатюрное (120 Кб) ядро поддержки режима параллельного выполнения, а разработчику предоставляется богатый набор функций: планирования задач, управления памятью и временной синхронизации, всевозможных вычислительных распараллеленных алгоритмов. Высокоуровневая архитектура TBB реализована для ряда популярных дистрибутивов Linux, Windows и Mac OS. Для адаптации исходного кода в большинстве случаев достаточно заменить вызовы системных функций на их эквиваленты из TBB, а генерацию параллельного машинного кода берет на себя компилятор.
На очереди экзафлопсы?
Пока инженеры занимаются петафлопсными решениями, исследователи примериваются к новым рубежам. Может быть, дальний барьер в экзафлопс (тысяча петафлопсов) возьмут если и не квантовые, то хотя бы молекулярные или нановычислители? Ученые из Гарвардского и Принстонского университетов уже создали прототип молекулярного компьютера, функционирующий в клетке человека. Он основан на принципе интерференции РНК (включение и выключение процесса синтеза белка), за открытие которого недавно была присуждена Нобелевская премия. На “вход” матричной РНК подаются короткие интерферирующие РНК, а в качестве логического сигнала принято наличие или отсутствие синтезированного белка. По такой схеме удалось реализовать выполнение пяти базовых логических операций.
Серьёзные надежды возлагаются и на нанотехнологии, недаром на традиционном турнире по футболу роботов Robocup 2007, который прошёл в июле в Атланте, впервые проводились соревнования нанофутболистов. Крохи до 300 мкм, созданные по микроэлектромеханической технологии, пока соревновались в умении обводить защитников на поле длиной 2 мм и забивать в ворота мяч диаметром 100 мкм. Может, в следующем году на Robocup 2008, где нанофутбол уже войдёт в официальную программу, появятся и команды из России — дабы поддержать международный престиж страны в этой сфере?