В инициированной Агентством перспективных оборонных исследований Пентагона программе «вездесущих» супервычислений UHPC (Ubiquitous High Performance Computing) ставится задача разработки новых комплексных технологий, позволяющих создать единую линейку унифицированных систем c удельной эффективностью реальной производительности около 50 GFLOPS/Вт при автономном охлаждении и общем энергопотреблении не более 57 кВт, начиная от одноплатных модулей бортовых комплексов до крупномасштабной стойки (1 PFLOPS на стойку). Такой показатель на два-три порядка превышает параметры всех ныне существующих компьютерных систем; например, лучшие суперкомпьютеры списка Top500 с июня 2008 по ноябрь 2010 года остаются в диапазоне от 0,25 до 0,62 GFLOPS/Вт. Для рекордных образцов суперкомпьютеров предыдущее увеличение этого показателя в 100 раз было достигнуто за 20 лет, когда закон Мура еще непосредственно влиял на повышение производительности. В соответствии с программой UHPC, следующий рывок по стократному увеличению производительности предстоит выполнить немногим более чем за пять лет, причем когда закон Mура будет действовать лишь благодаря росту количества ядер.
Приведенные данные по удельной эффективности относились к тесту Linpack, выполнявшемуся на суперкомпьютерах с большим количеством процессоров, и, хотя реальная производительность на этом тесте обычно близка к пиковой, на деле она меньше из-за накладных расходов на организацию параллельного счета. Если эти потери не учитывать и даже рассмотреть считающиеся лучшими по удельной эффективности микропроцессоры, то оценки удельного энергопотребления современных систем весьма низки. Например, для графического микропроцессора Fermi это около 2 GFLOPS/Вт, а для микропроцессоров встроенных систем — около 1 GFLOPS/Вт.
Основные положения UHPC
В программе UHPC выделяются следующие основные проблемы, которые предстоит решить при создании вычислительных систем обеспечения национальной безопасности:
- проблема потребления энергии;
- проблема устойчивости вычислительных систем как к обычным сбоям и отказам, так и к информационным атакам;
- проблема продуктивности разработки программ.
В программе также указаны характерные черты приложений, которые предполагается выполнять на системах, созданных в рамках UHPC: обработка массовых потоковых данных от сенсорных устройств, работа с большими динамическими графами, поддержка принятия решений. Такие особенности приложений значительно усложняют архитектуру системы, поскольку в точности соответствуют задачам, предусматривающим интенсивную работу с данными (DIC-задачи), главным препятствием к эффективному решению которых, как известно, является проблема преодоления “стены памяти”, так и не решенная в рамках программы предыдущего десятилетия — HPCS. Сегодня началось внедрение результатов этой программы — суперкомпьютеров Cray Baker, Blue Waters, а также Cray Granite c векторно-мультитредовым сопроцессором SCORPIO и коммуникационной сетью нового поколения Aries.
Программу UHPC можно считать продолжением HPCS, но уже с новой целью – достижением реальной экзафлопсной производительности и преодолением «стены памяти» с дополнительным условием жестких ограничений по энергетике. Принципиально новым в программе является то, что ее цели планируется достигать путем развития технологий встроенных систем, для которых в первую очередь требуется энергетическая экономичность и которые, согласно новой доктрине, имеют наивысший приоритет.
Кроме трех главных проблем, программа направлена на решение ряда связанных с ними конкретных инженерных задач, обусловленных особенностями развития микроэлектроники, материаловедения и других областей.
Ослабление закона Мура. Закон больше не влияет явно на повышение производительности процессорного ядра, рост ее идет теперь только за счет увеличения количества ядер. Такой подход может быть использован лишь при условии оптимизации энергопотребления ядер и организации эффективного внутреннего параллелизма.
Увеличивающаяся плотность транзисторов на кристалле. Независимо от плотности размещения транзисторов, процесс передачи данных по-прежнему остается весьма энергоемким и медленным.
Низкая отказоустойчивость. До сих пор для повышения отказоустойчивости применялись корректирующие коды и троекратный резерв оборудования, однако сегодня эти подходы выглядят как недопустимое расточительство энергии и исчерпали себя, поскольку кроме возросших проблем надежности устройств из-за перехода на новые технологические нормы появились проблемы защиты от информационных атак и обеспечения информационной безопасности. Должны быть реализованы новые интеллектуальные средства обеспечения отказоустойчивости, причем они должны присутствовать на всех уровнях и изначально встраиваться в систему, а не после изготовления суперкомпьютера, как это принято сейчас.
Для решения перечисленных общих и инженерных проблем в программе UHPC выделены следующие направления работ:
- создание архитектур, технологий и моделей вычислений для систем экстремального типа (систем, которые при сопоставимой потребляемой энергии и габаритах с обычными системами обладают в 1000 раз большими возможностями по производительности и другим показателям);
- создание архитектуры и протоколов работы логических схем и памяти, позволяющих добиться низкого энергопотребления при доступе к данным и их передаче;
- реализация свойств динамичности, позволяющих системе адаптироваться к достижению заданных целевых характеристик выполнения приложений;
- создание средств управления параллелизмом и эффективного использования массивно-параллельных ресурсов;
- создание архитектур самонастройки локализации данных для снижения интенсивности передач данных;
- создание самонастраивающейся операционной системы, управляющей работой систем в реальном времени с заданным уровнем отказоустойчивости и максимальной утилизацией имеющихся ресурсов;
- создание нового стека программного обеспечения, в частности компилятора, ориентированного на новые модели программ и обеспечивающего простоту программирования UHPC-систем.
В процессе разработки на протяжении всего времени выполнения программы необходимо предоставить открытый доступ к инновационным решениям, сделанным в рамках проекта, организовать совместную разработку аппаратных средств и программного обеспечения. Созданные в рамках программы UHPC системы должны предоставлять современные высокоскоростные возможности для проведения научных и инженерных расчетов и обладать следующими свойствами.
Эффективность. Применение новых аппаратных и программных подходов к минимизации энергопотребления на одну выполненную операцию, а также к повышению энергетической эффективности вычислений без ущерба масштабируемости, требуемой для военных приложений ультравысокой производительности.
Программируемость. Разработка новых архитектур экстремального масштаба и соответствующих технологий, не требующих от прикладного программиста явного управления поведением системы, усилий по локализации данных и распараллеливания выполнения для повышения производительности.
Отказоустойчивость. Разработка новых системных подходов к достижению отказоустойчивости посредством технологий управления парированием отказов, что позволило бы приложениям корректно выполняться при наличии сбоев и информационных атак, гарантируя конфиденциальность и целостность информации. Реализация этих механизмов должна быть проведена на всех уровнях и быть прозрачной для пользователя.
Организация выполнения
Выполнение программы UHPC будет производиться в четыре этапа несколькими группами разработчиков и одной группой контролеров.
Этап 1 (24 месяца), пять групп, составленных из университетов и промышленных предприятий. Ожидаемые результаты: концептуальная и начальная разработка систем, включая начальную отработку моделей вычислений; определение требуемых критических технологий и подсистем, которые не разрабатываются в рамках программы UHPC; анализ и начальные работы по моделированию/эмуляции предложенных систем; архитектурный обзор и анализ для дальнейшего уточненного выбора.
Этап 2 (24 месяца), пять групп, составленных из университетов и промышленных предприятий. Ожидаемые результаты: предварительная разработка и проверка предложенных систем; моделирование/эмуляция, позволяющие работать с прототипами программного обеспечения новых систем; составление обзора предварительной разработки.
Этапы 3 и 4, три группы из представителей промышленных предприятий, но с участием некоторых университетов. Ожидаемые результаты: формирование предложений для выбора разработок на этапах 3 и 4; построение прототипов систем, включая программное обеспечение; демонстрация достижения поставленных целей программы.
Работа контролеров и исполнителей программы UHPC в части разработки приложений, оценочных тестовых программ, метрик и контроля разработок также будет разбита на четыре этапа. Ожидаемые результаты: разработка моделей и спецификаций выделенных проблемных задач программы UHPC для конкретизации заданий разработчикам UHPC-систем; разработка SSCA-кодов (масштабируемых синтетических компактных тестовых приложений); разработка тестовых программ и метрик для оценки производительности; организация и координация работы корпоративного форума групп разработчиков с целью разработки и распространения общих стандартов и документов.
Группы исполнителей
На данный момент сформировано четыре группы исполнителей с головными разработчиками: компании nVidia и Intel, Лаборатория компьютерных наук и искусственного интеллекта Массачусетского технологического института, Национальная лаборатория в Сандии Министерства энергетики США. Общий объем финансирования пока составляет 76,6 млн долл., из которых на долю nVidia приходится 25 млн. В качестве организации, контролирующей процесс разработки, формирующей оценочные программы, метрики и влияющей на разработку приложений, выбран Технологический институт Джорджии.
Группы неравноправны, что следует, в частности, из выделенных им средств, однако явно прослеживается планомерность работ по разным направлениям, с разными сроками и гарантиями получения результатов, с разной глубиной охвата проблем и разными рисками. Группы nVidia и Intel на данный момент наиболее продвинуты, и здесь наименьший риск в отношении получения результатов, но не гарантируется революционность. На создаваемые решения, вероятнее всего, окажут влияние графические ускорители типа Fermi и платы с многоядерно-мультитредовыми MIC-микропроцессорами (десятки ядер с асинхронными тредами). Группы МТИ и Сандии более революционны, но их работы имеют большие риски, особенно это касается последней. В каждую группу входят промышленные организации или крупные государственные лаборатории, а кроме этого, еще обязательно и университеты, что при выполнении предыдущих программ не практиковалось.
Группа NVIDIA
Состав: Cray, Национальная Лаборатория Окриджа, Технологический институт Джорджии, Иллинойский университет, Принстонский университет, Питсбургский университет.
О совместных планах Cray и nVidia упоминалось в выступлениях главного конструктора Cray Стива Скотта в июне 2010 года на конференции в Гамбурге и в июле на SciDAC’10. В этих выступлениях сообщалось о шагах по разработке экзафлопсных технологий, упоминалось о работах по UHPC, но основное внимание было уделено подходу, который можно в большей степени охарактеризовать как эволюционный. Основной упор делается на эффективное использование “акселераторов” в виде модернизированных графических процессоров NVIDIA, которые должны совместно работать с обычными многоядерно-мультитредовыми процессорами. Кроме того, Cray совместно с Северо-западной тихоокеанской лабораторией Пентагона, Национальной лабораторией в Сандии и Технологическим институтом Джорджии ведут работы по освоению массово-мультитредового суперкомпьютера с глобально адресуемой памятью Cray XMT в Центре CASS-MT. Круг решаемых при этом задач сильно пересекается с теми, которые определены в качестве проблемных приложений в программе UHPC.
Группа Intel
Состав: SGI, Cray, Lockheed Martin, Университет Делавера, Иллинойский университет, Университет Калифорнии в Сан-Диего.
В Intel впервые заговорили о платформе MIC (Many Integrated Core) в конце мая 2010 года, и первым экспериментальным MIC-продуктом стала карта расширения Knight Ferry, содержащая один 32-ядерный микропроцессор с тактовой частотой 1,2 ГГц. Каждое ядро выполняет четыре потока одновременно, а микропроцессор реализован по 320-нанометровой технологии. Таким образом, возможно выполнение 128 потоков команд, а пиковая производительность достигает 500 GFLOPS. Ядра Knight Ferry имеют по 32 Кбайт кэша команд и кэша данных первого уровня, а также 256 Кбайт кэш-памяти второго уровня. В целом размер кэша второго уровня микропроцессора составляет 8 Мбайт. Карта ускорителя может иметь 1 или 2 Гбайт памяти GDDR5, а для установки этой карты требуется слот PCI Express 2.0. Это экспериментальный образец, а коммерческие продукты MIC — ускорители Knight Corner — появятся в 2011 году, они будут насчитывать более 50 ядер в чипе и производиться по технологии 22 нм.
Группа МТИ
Группу МТИ курирует лаборатория информатики и искусственного интеллекта (Computer Science and Artificial Intelligence Laboratory, CSAIL). Судя по косвенным данным, в группу также войдут компании Tilera и Boeing, а также Университет Калифорнии в Беркли.
На данный момент можно лишь предположить, что работы этой группы будут связаны с развитием многоядерного микропроцессора RAW в компаниях Tilera и Boeing. Первая разработала 64-ядерные микропроцессоры TilePr064, а сейчас завершает разработку 100- и 200-ядерных микропроцессоров серии Gx. Boeing же разработала на базе архитектуры Tilera радиационно стойкий 49-ядерный микропроцессор для космических систем. Наиболее близка к этому направлению тематика в МТИ, прежде всего это работы группы Carbon, в которую входит Анант Агарвал, профессор из МТИ и основатель компании Tilera, а текущие темы группы включают: разработку оптических внутрикристальных сетей для многоядерных микропроцессоров; разработку операционной системы нового типа, предназначенной для многоядерных систем и позволяющей распределять сервисы не во времени для одного ядра, а одновременно в пространстве по множеству ядер; создание высокоскоростных средств параллельного имитационного моделирования.
Группа Сандиа
Состав: компании Micron Technology и LexisNexis Special Services, Университет Луизианы, Иллинойский университет, Университет Нотр-Дамм, Университет Южной Калифорнии в Пало-Альто, Мэрилендский университет, Технологический институт Джорджии, Стэнфордский университет, Университет Северной Каролины.
Данная группа необычна, прежде всего из-за большого количества участвующих в ней университетов и именитых специалистов. По-видимому, здесь ожидаются наиболее революционные решения и тут идут на наибольшие риски. Sandia – мощная междисциплинарная лаборатория, ориентированная на разработку систем оружия, по тематике экзафлопсных технологий работающая в тесном сотрудничестве с Лос-Аламосской лабораторией, имеет вместе с ней ряд институтов, технологических центров, в том числе и по наноэлектронике (Center for Integrated Nanotechnology), а также с Национальной лабораторией Окриджа в лице IAA (Institute for Advanced Architecture and Algorithms), образованного в 2008 году по указанию президента США, и с Северо-западной тихоокеанской лабораторией (Центр CASS-MT). Лаборатория Сандиа обладает возможностями работы по всем направлениям, требуемым в программе UHPC: архитектура высокопроизводительных вычислительных систем; разработка алгоритмов; суперкомпьютинг; системное программное обеспечение; средства программирования; приложения; микроэлектроника направлений 3D-сборки и кремниевой оптики.
Лидером работ по программе UHPC, насколько можно пока понять, будет Ричард Мэрфи, ученик и последователь известного гуру в области компьютерных архитектур Питера Когги. Эта школа на протяжении ряда лет развивает направление интеллектуализации памяти посредством добавления в модули памяти процессоров обработки данных (архитектура PIM, processor in memory). Сильнейшее влияние на эти работы оказывают взгляды давнего коллеги Когги – Томаса Стерлига, работающего в Университете Луизианы и пропагандирующего подходы своего проекта ParallelX.
Адекватный ответ
Полноценной и адекватной реакции на программу UHPC можно ожидать прежде всего от Китая, как это уже было ранее с программой DARPA HPCS. Руководство КНР приняло в 2006 году пятилетний проект China National Initiative of High Productivity Computer and Grid Service Environment, который выполнялся в рамках программы 863 по высоким технологиям.
За последний год было несколько ярких результатов, связанных с попаданием китайских суперкомпьютеров в Top500 (Tianhe-1 осенью 2009, Nebulae летом 2010), а в ноябре 2010 года суперкомпьютер Tianhe-1A вообще возглавил список. Особенности этого суперкомпьютера требуют отдельного обсуждения, а пока стоит отметить, что, несмотря на то что в Tianhe-1A применяются микропроцессоры Intel Westmere и NVIDIA Fermi, следует обратить внимание на два других заказных компонента этой системы, о которых почти ничего не сообщается.
Работа над данными компонентами велась по специальному направлению программы 863 – это восьмиядерные гигагерцевые микропроцессоры FT-1000 и коммуникационная сеть собственной разработки Arch. Микропроцессоры FT-1000 пока не учитываются при подсчете пиковой производительности Tianhe-1A и, тем более еще не использовались при выполнении тестовой задачи Linpack. Скорее всего, FT-1000 — это новейшая версия микропроцессоров FT-64 («Фей Тенг» – прорыв) потокового типа, модернизированных для работы как с регулярными, так и нерегулярными потоками данных. Их суммарная мощность при обработке потоковых данных, по-видимому, будет не хуже 0,5 PFLOPS. Сеть Arch похожа на многосвязную сеть Клоса с модификациями, введенными для снижения диаметра сети, и напоминает сеть PERCS из суперкомпьютера IBM BlueWaters, который разработан по программе DARPA HPCS. Такая сеть способна эффективно поддержать работу с глобально адресуемой системной памятью в несколько петабайтов.
Таким образом, вовремя начатая концентрация усилий и средств в области специальных информационных технологий позволила Китаю не только выйти на высшую позицию в рейтинговом списке Top500, но и создать суперкомпьютер, способный решать гораздо более серьезные задачи, чем Linpack, и известно, что это еще не все китайские сюрпризы. На очереди внедрение многоядерных микропроцессоров Godson-3 на многосокетных платах, представляющих собой мощные SMP-узлы, а также массово-мультитредовые микропроцессоры, которые позволят создать суперкомпьютеры с глобально адресуемой памятью в десятки петабайтов и которые займут господствующее положение в новом рейтинговом списке Graph500 решения графовых задач, отличающихся нерегулярной работой с памятью. Да и это, вероятно, не все наработки, достаточно посмотреть на публикуемые работы китайских специалистов. Легко представить, какие стратегические задачи обеспечения национальной безопасности, научно-технической и социально-экономической сферы, обеспечения жизнедеятельности граждан (медицина, фармакология и биология) можно решать с применением таких систем.
***
Программа UHPC – далеко не первая программа, которая требовала хотя бы комментария и оценки со стороны отечественных структур, имеющих отношение к модернизации в области ИТ, однако даже две предыдущие, менее революционные программы прошедшего десятилетия DARPA HPCS (суперкомпьютеры) и DARPA PCA (бортовые компьютеры) таких комментариев не удосужились, не говоря уже о поддержке инициативных российских разработок в этой области. Однако отрадно, что некоторое понимание важности вопроса все-таки имеется и, надеюсь, в ближайшее время ситуация изменится.
Леонид Эйсымонт (verger-lk@yandex.ru) – сотрудник «ВТ-Консалтинг» (Москва).
В качестве основных организаторов работ по программе DARPA UHPC и предыдущей программе HPCS выступают Министерство энергетики США, в частности, департамент перспективных исследований в области научных вычислений и Агентство национальной ядерной безопасности, а также Министерство обороны США в лице Агентства перспективных оборонных исследований и Агентства по снижению военных угроз. Последнее до сих пор не ступало на поле ИТ, но недавно стало финансировать проект разработки технологий 90 нм для радиационно стойкого 49-ядерного бортового суперкомпьютера космических систем, выполняемый концерном Boeing. Теневыми постановщиками задач, организаторами и финансовыми источниками для работ по программам типа UHPC всегда были Агентство национальной безопасности США и ряд других разведслужб США.
Перечисленные организаторы работ по суперкомпьютерной тематике делят их на два направления: эволюционное и революционное. Эволюционное базируется на применении коммерчески доступных на открытом и закрытом рынке компонентов, но если нужно, то и некоторых заказных компонентов. Революционное поддерживается DOD, и понимание “революционности” программы DARPA UHPC весьма прозрачно дано в первых же абзацах ее спецификации: «Эволюционные решения на базе коммерчески доступных компонентов в программе не рассматриваются».
Последние два года на Западе активно ведется концептуальная проработка вопросов создания после 2015 года суперкомпьютеров экзафлопсного уровня производительности, и уже сегодня ясно, что применение экстенсивных методов повышения производительности, как это наблюдается в гонке за место в Top500, ничего не даст. Какие трудности поджидают здесь разработчиков?
Стратегические ИТ: китайский сюрприз № 863
Пять лет назад Китай приступил к реализации проекта, сопоставимого с аналогичными американскими и японскими проектами DARPA HPCS/PCA, NGSP и федеральным планом США фундаментальных работ по суперкомпьютерам. Каковы шансы Поднебесной создать перспективные системы с реальной производительностью экзафлопсного уровня, оставив позади США и Японию?