Что?
Широкий резонанс в прессе получил анонс HP-программы Moonshot и создание в ее рамках серверов Redstone на базе ARM. В качестве поставщика процессоров и системных плат здесь выступает компания Calxeda.
Процессоры Calxeda EnergyCore ECX-1000 Series состоят из четырех ядер ARMCortex A9, работающих на частоте 1.1–1.4 ГГц. В результате
малого энергопотребления и высокой системной плотности в шасси высотой 4U инженерам из HP удалось вместить 288 серверов и достигнуть рекордного показателя – 72 сервера на 1U, что на 20% больше, чем в шасси собственной конструкции Calxeda. В итоге в стандартную стойку можно вместить до 2800 серверов Redstone. Далее вполне естественен следующий шаг, на этот раз в направлении HPC. Но здесь следует заранее сделать оговорку, учитывающую Закон Амдала, согласно которому ограничение по времени выполнения задания в целом определяется скоростью работы наиболее длительного фрагмента. По этой причине будущее приложение суперкомпьютеров, построенных на маломощных серверах, то есть с «тонкими ядрами», ограничивается задачами, естественным образом разделяющимися на большое число потоков. А основном это задачи моделирования (high-end simulations, e-science), имеющиеся в самых разных отраслях науки и техники. Показательно, что на европейском суперкомпьютере, о котором речь пойдет ниже, предполагается выполнять всего 11 крупных приложений.
«Процесс пошел» – очевидным лидером нового тренда стала компания NVIDIA со своим проектом Project Denver. Его цель заключается в создании нескольких поколений серверных плат, включающих в свой состав некоторое количество CPU с архитектурой ARM и ускорителей GPU. Судя по последним сообщениям, примерно такую же позицию намеревается занять AMD, которая тоже задумывается об использовании ARM с собственными решениями GPU в своих продуктах. Тонкими ядрами собирается заняться и Texas Instruments, опираясь на свой опыт в разработке сигнальных процессоров DSP и используя их в той же роли, что и GPU. На самом деле эта идея не нова – еще в начале 1990-х швейцарские ученые объединили вместе 60 DSP и получили производительность 3.8 Гфлопс, что было в несколько раз выше, чем у векторных машин Cray Y-MP и NEC SX-3, и все было бы хорошо, если бы не проблемы программирования. На этот раз Texas Instruments запускает семейство процессоров TMS320C66x, которое поддерживает OpenMP API, что упрощает перенос нагрузки с CPU на GPU, но здесь пока еще нет своей технологии, аналогичной CUDA, со всеми вытекающими выводами. Многообещающими выглядят подходы компаний, производящих специализированные процессоры, такие как Adapteva, Tilera, Calxeda и Applied Micro, – в ближайшие год-полтора они могут предложить новинки, которые заметно повлияют на общий расклад.
Как?
Первый реальный шаг к созданию суперкомпьютера на базе ARM и GPU сделал Барселонский суперкомпьютерный центр BSC (Barcelona Supercomputing Center), объявивший о начале трехлетнего проекта Mont Blanc, где будут использованы процессоры NVIDIA Tegra ARM и сопроцессоры GeForce GPU. Проект получил финансирование от Евросоюза в ноябре минувшего года в сумме 14.5 млн евро и рассчитан до 2014 года. Как утверждается в документах, средства выделены на разработку европейского подхода к созданию компьютера с экзафлопсной производительностью и эффективного с точки зрения использования энергии, что, впрочем, одно и то же, поскольку построить такой компьютер, не обеспечив разумную энергетику, невозможно.
За отмеренные три года необходимо исследовать и обосновать возможность построения мощного вычислителя, собранного из процессоров с низким энергопотреблением, их совместную работу с графическими ускорителями; оценить влияние интерконнекта с относительно невысокой скоростью обмена, а также свойства компьютера с точки зрения написания приложений.
Создание аппаратной платформы разбито на два этапа. В первую очередь предстоит построить экспериментальный прототип HPC-системы с мощностью 50 Пфлопс при потреблении до 7 МВт. Вычислительная мощность следующей, рабочей очереди должна составить 200 Пфлопс при потреблении до 10 МВт, что должно вывести ее в лидирующую часть списка Top500.
Используя ресурсы прототипа, предполагается подготовить 11 приложений, способных использовать такую мощность. В планах – задачи из газовой динамики, сейсмики, гравитационных исследований, биохимии, физики твердого тела и др. Система будет работать под управлением ОС Linux, файловые системы – NFS и Lustre, поддержка параллельного программирования Extrae, Paraver и Scalasca, а для управления кластером – Slurm и Ganglia.
Первая очередь будет строиться на System-on-Chip (SoC) Tegra2, с установленными на плате Q7 процессорами ARM 32-bit Cortex-A9, 1 Гбайтом памяти DDR2 и одним портом Gigabit Ethernet. Плата Q7 обеспечивает 2 Гфлопс, потребляя при этом 4 ватта. 8 плат Q7 собираются в контейнер с суммарной производительностью 16 Гфлопс и потреблением 35 ватт, а 32 контейнера образуют содержимое стандартной стойки с производительностью 512 Гфлопс и потреблением 1.7 Кватт, то есть с удельным потреблением 300 Мфлопс на ватт. Приведенные показатели далеки от рекордных, но, оценивая их, следует учесть, что первая очередь строится лишь ради эксперимента. У второй очереди, создаваемой на базе Tegra3, показатели совсем иные. В том же конструктиве, с теми десятью коммутаторами 1GbE может быть установлено 32 Tegra3 SoC, что дает 1024 ядра ARM Corext-A9 и 256 GPU GT520MX.
Производительность одной подобной стойки составит 38 Тфлопс при потреблении 5 Кватт на стойку. В пересчете на ватты получается 7.5 Гфлопс, что в 12 раз меньше, чем у нынешнего № 1 списке Top500
К Computer и в 3.5 раза меньше, чем у № 1 в списке Green500 Blue Gene/Q Prototype 2.
Почему?
Это, пожалуй, самый интересный вопрос. Почему, используя простые компоненты «с полки» и за смешные деньги (стоит напомнить, что К Computer обошелся в сумму более миллиарда долларов), можно без больших трудностей собрать компьютер экзафопсного диапазона, правда, не без врожденных слабостей (он уж точно не станет лидером в Graph500 и не попадет в категорию High Productive Computing)? Удивительно, но однозначного ответа на этот вопрос нет, зато есть множество объяснений того, почему x86 потребляет намного больше, чем ARM. Есть общее объяснение, что x86 и ARM представляют две разные школы проектирования, а как известно, школа -- вещь чрезвычайно важная: КБ, проектировавшее тяжелые грузовики, не сможет создать легковой автомобиль. Проектировщики х86 были «заточены» на достижение максимальной производительности на одном потоке – таково было
требование альянса Wintel, который после многолетних обещаний, кажется, наконец разваливается. Отсюда непомерное энергопотребление; в то же самое время проектировщики процессоров на базе архитектуры ARM стремились минимизировать тепловую мощность своих изделий. Непоследнюю роль сыграл факт открытости архитектуры ARM, участие в ее развитии сотен коллективов. Им удалось нагрузить чип большей функциональностью при работе на меньшей частоте.
Пример эволюции x86. Дополнительный набор команд SSE (Streaming SIMD Extensions), поддерживающий режим «одна команда – много данных», появился в 1999 году в процессоре Pentium III как ответ на набор 3DNow!, которым с 1998 года снабжала свои процессоры AMD. Но настоящим событием стало расширение SSE2 (2000 год, Pentium 4), оно открыло х86 дорогу в суперкомпьютинг. Через 4 года 50% систем из списка Top500 были построены на этом процессоре, а сейчас их свыше 90%. Один за другим последовали SSE3 и SSE4 от Intel и SSE5 от AMD. Последнее достижение в этом направлении – расширение Advanced Vector Extensions (AVX), реализованное в процессорах Intel Sandy Bridge и AMD Bulldozer. За редким исключением эти процессоры составляют основу современного HPC, но продолжение в будущем той же линии пока под вопросом. Генетически х86 были рассчитаны на работу с одним потоком команд, они дорогие (от нескольких до полутора сотен долларов) и потребляют от 60 до 100 ватт.
Иногда говорят об излишней усложненности системы команд CISC х86, которая объясняется в частности стремлением затруднить обратный инжениринг, и преимуществах системы команд RISC, являющейся основой ARM.
А еще одну из причин можно условно назвать «возрастной технологической деменцией».
Если процессор, операционная система или какое-то приложение эволюционируют в течение многих лет в рамках одной экосистемы, а за это время выходят десятки редакций, ускоряющих, увеличивающих, улучшающих и т. д., то рано или поздно количество таких усовершенствований превышает критическую массу, эти продукты становятся менее эффективны с точки зрения их основной функции.
Выход – переход на другую ОС или на другой процессор, которые попроще, но для конкретных целей адаптированы лучше.
Все вышесказанное звучит заманчиво, осталось подождать до осени 2014 года и посмотреть, что из этого выйдет.



