Диалектическая спираль развития компьютерных технологий совершила свой очередной виток - опять, как и десять лет назад, в соответстви и с требованиями жизни, в моду входят суперкомпьютерные архитектуры. Безусловно, это уже не те монстры, которые помнят ветераны - новые технологии и требовательный рынок коммерческих применений существенно изменили облик современного суперкомпьютера, Теперь это не огромные шкафы с уникальной аппаратурой, вокруг которой колдуют шаманы от информатики, а вполне эргономичные системы с унифицированным программным обеспечением, совместимые со своими младшими собратьями. В статье дан обзор современного состояния и возможных перспектив развития суперкомпьютеров. Рассмотрены основные области их применения и проанализированы особенности различных типов архитектур, характерных для современных суперкомпьютеров.
Что такое суперЭВМ? Оксфордский толковый словарь по вычислительной технике, изданный почти 10 лет назад, в 1986 году, сообщает, что суперкомпьютер - это очень мощная ЭВМ с производительностью свыше 10 MFLOPS (миллионов операций с плавающей запятой в секунду). Сегодня этот результат перекрывают уже не только рабочие станции, но даже, по крайней мере, по пиковой производительности, и ПК. В начале 90-х годов границу проводили уже около отметки в 300 MFLOPS. В этом году, судя по появившимся в печати сообщениям, специалисты двух ведущих "суперкомпьютерных" стран, - США и Японии, - договорились о подъеме планки до 5 GFLOPS.
Однако такой подход к определению суперЭВМ не совсем корректен. Очевидно, что, современный двухпроцессорный компьютер Cray C90 любой здравомыслящий человек назовет суперЭВМ. А тем не менее, его пиковая производительность меньше 2 GFLOPS. С этим вопросом тесно связаны и ограничения (ранее - КОКОМ, теперь - Госдепартамента США) на поставку высокопроизводительных средств вычислительной техники другим странам. Компьютеры с производительностью свыше 10 000 млн. теоретических операций в сек. (MTOPS), согласно определению Госдепартамента США, считаются суперкомпьютерами [1].
Более корректно, на наш взгляд, перечислить основные признаки, характеризующие суперЭВМ, среди которых кроме высокой производительности следует отметить:
- самый современный технологический уровень (например, GaAs-технология);
- специфические архитектурные решения, направленные на повышение быстродействия (например, наличие операций над векторами);
- цена, обычно свыше 1-2 млн. долл.
В телеконференции USENET по суперкомпьютерам в связи с быстрым прогрессом в технологии RISC-микропроцессоров и соответствующим ростом их производительности был как-то задан вопрос: когда рабочая станция превратится в суперЭВМ? На что последовал ответ: "Когда она будет стоить свыше 1 млн. долларов". Для иллюстрации можно отметить, что компьютер Cray-1 в свое время стоил около 8 млн. долларов, а анонсированные в этом году суперкомпьютеры Сгау Т90, имеющие намного более высокую производительность, - от 2.5 до 35 млн. долл. Стоимость создания суперкомпьютерной MPP-системы в проекте лаборатории Sandia Министерства энергетики США составляет около 46 млн. долларов.
Вместе с тем, существуют компьютеры, имеющие все перечисленные выше характеристики суперЭВМ, за исключением цены, которая для них составляет от нескольких сотен до 2 млн. долларов. Речь идет о мини-суперЭВМ, обладающим высокой производительностью, уступающей, однако, большим суперЭВМ. При этом у минисуперкомпьютеров, как правило, заметно лучше соотношение цена/производительность и существенно ниже эксплуатационные расходы: система охлаждения, электропитания, требования к площади помещения и др. Данные компьютеры ориентированы на менее крупные вычислительные центры - уровня факультета, а не всего университета или корпорации. Примеры таких ЭВМ - Cray J90, Convex C38XX и, возможно, C4/XA. К ним можно отнести, также и современные суперкомпьютерные системы на базе RISC-микропроцессоров, например, IBM SP2, SGI POWER CHALLENGE, DEC AlphaServer 8200/8400 и др.
С точки зрения архитектуры минисуперкомпьютеры не представляют собой некоторое особенное направление, поэтому в дальнейшем они отдельно не рассматриваются.
Сферы применения суперкомпьютеров
Для каких применений нужна столь дорогостоящая техника? Может показаться, что с ростом производительности настольных ПК и рабочих станций, а также серверов, сама потребность в суперЭВМ будет снижаться. Это не так. С одной стороны, целый ряд приложений может теперь успешно выполняться на рабочих станциях, но с другой стороны, время показало, что устойчивой тенденцией является появление все новых приложений, для которых необходимо использовать суперЭВМ.
Прежде всего следует указать на процесс проникновения суперЭВМ в совершенно недоступную для них ранее коммерческую сферу. Речь идет не только скажем, о графических приложениях для кино и телевидения, где требуется все та же высокая производительность на операциях с плавающей запятой, а прежде всего о задачах, предполагающих интенсивную (в том числе,и оперативную) обработку транзакций для сверхбольших БД. В этот класс задач можно отнести также системы поддержки принятия решений и организация информационных складов. Конечно, можно сказать, что для работы с подобными приложениями в первую очередь необходимы высокая производительность ввода-вывода и быстродействие при выполнении целочисленных операций, а компьютерные системы, наиболее оптимальные для таких приложений, например, MPP-системы Himalaya компании Tandem, SMP-компьютеры SGI CHAL ENGE, AlphaServer 8400 от DEC - это не совсем суперЭВМ. Но следует вспомнить, что такие требования возникают, в частности, со стороны ряда приложений ядерной физики, например, при обработке результатов экспериментов на ускорителях элементарных частиц. А ведь ядерная физика - классическая область применения суперЭВМ со дня их возникновения.
Как бы то ни было, наметилась явная тенденция к сближению понятий "мэйнфрейм", "многопроцессорный сервер" и "суперЭВМ". Нелишне заметить, что это происходит на фоне начавшегося во многих областях массированного перехода к централизации и укрупнению в противоположность процессу разукрупненияи децентрализации.
Традиционной сферой применения суперкомпьютеров всегда были научные исследования: физика плазмы и статистическая механика, физика конденсированных сред, молекулярная и атомная физика, теория элементарных частиц, газовая динамика и теория турбулентности, астрофизика. В химии - различные области вычислительной химии: квантовая химия (включая расчеты электронной структуры для целей конструирования новых материалов, например, катализаторов и сверхпроводников), молекулярная динамика, химическая кинетика, теория поверхностных явлений и химия твердого тела,конструирование лекарств. Естественно, что ряд областей применения находится на стыках соответствующих наук, например, химии и биологии, и перекрывается с техническими приложениями. Так, задачи метеорологии, изучение атмосферных явлений и, в первую очередь, задача долгосрочного прогноза погоды, для решения которой постоянно не хватает мощностей современных суперЭВМ, тесно связаны с решением ряда перечисленных выше проблем физики. Среди технических проблем, для решения которых используются суперкомпьютеры, укажем на задачи аэрокосмической и автомобильной промышленности, ядерной энергетики, предсказания и разработки месторождений полезных ископаемых, нефтедобывающей и газовой промышленности (в том числе проблемы эффективной эксплуатации месторождений, особенно трехмерные задачи их исследования), и, наконец, конструирование новых микропроцессоров и компьютеров, в первую очередь самих суперЭВМ.
Суперкомпьютеры традиционно применяются для военных целей. Кроме очевидных задач разработки оружия массового уничтожения и конструирования самолетов и ракет, можно упомянуть, например, конструирование бесшумных подводных лодок и др. Самый знаменитый пример - это американская программа СОИ. Уже упоминавшийся MPP-компьютер Министерства энергетики США будет применяться для моделирования ядерного оружия, что позволит вообще отменить ядерные испытания в этой стране.
Анализируя потенциальные потребности в суперЭВМ существующих сегодня приложений, можно условно разбить их на два класса. К первому можно отнести приложения, в которых известно, какой уровень производительности надо достигнуть в каждом конкретном случае, например, долгосрочный прогноз погоды. Ко второму можно отнести задачи, для которых характерен быстрый рост вычислительных затрат с увеличением размера исследуемого объекта. Например, в квантовой химии неэмпирические расчеты электронной структуры молекул требуют затрат вычислительных ресурсов, пропорциональных N^4 или И^5, где N условно характеризует размер молекулы. Сейчас многие молекулярные системы вынужденно исследуются в упрощенном модельном представлении. Имея в резерве еще более крупные молекулярные образования (биологические системы, кластеры и т.д.), квантовая химия дает пример приложения, являющегося "потенциально бесконечным" пользователем суперкомпьютерных ресурсов.
Есть еще одна проблема применения суперЭВМ, о которой необходимо сказать - это визуализация данных, полученных в результате выполнения расчетов. Часто, например, при решении дифференциальных уравнений методом сеток, приходится сталкиваться с гигантскими объемами результатов, которые в числовой форме человек просто не в состоянии обработать. Здесь во многих случаях необходимо обратиться к графической форме представления информации. В любом случае возникает задача транспортировки информации по компьютерной сети. Решению этого комплекса проблем в последнее время уделяется все большее внимание. В частности, знаменитый Национальный центр суперкомпьютерных приложений США (NCSA) совместно с компанией Silicon Graphics ведет работы по программе "суперкомпьютерного окружения будущего". В этом проекте предполагается интегрировать возможности суперкомпьютеров POWER CHALLENGE и средств визуализации компании SGI со средствами информационной супермагистрали.
Суперкомпьютеры в России
СуперЭВМ являются национальным достоянием, и их разработка и производство несомненно должны быть одним из приоритетов государственной технической политики стран, являющихся мировыми лидерами в области науки и техники. Блестящим примером глубокого понимания всего комплекса соответствующих проблем является статья известного нобелевского лауреата в области физики К. Вильсона [2]. Опубликованная свыше десять лет назад, она и сейчас представляет интерес для российского читателя.
Практически единственными странами, разрабатывающими и производящими суперЭВМ в больших масштабах, являются США и Япония. Свои суперкомпьютеры были созданы в Индии и Китае. Большинство развитых стран, в том числе и ряд государств Восточной Европы, предпочитают использовать суперкомпьютеры, произведенные в США и Японии.
Положение с разработками суперкомпьютеров в России, очевидно, оставляет сегодня желать лучшего. Работы над отечественными суперЭВМ в последние годы велись сразу в нескольких организациях. Под управлением академика В.А.Мельникова была разработана векторная суперЭВМ "Электроника CC-100" с архитектурой, напоминающей Сгау-1. В ИТМиВТ РАН проводятся работы по созданию суперкомпьютеров "Эльбрус-3". Этот компьютер может иметь до 16 процессоров с тактовой частотой 10 нс. По оценкам разработчиков, на тестах LINPACK при N = 100 быстродействие процессора составит 200 MFL0PS, при N = 1000 - 370 MFLOPS. Другая разработка, выполненная в этом институте, - Модульный Конвейерный Процессор (МКП), в котором используется оригинальная векторная архитектура, однако по быстродействию он, вероятно, должен уступать "Эльбрус-3".
Другим центром работ над отечественными суперкомпьютерами является известный своими работами по ЕС ЭВМ НИЦЭВТ. Там был выполнен ряд интересных разработок - различные модели векторных суперЭВМ ЕС 1191 на ECL-технологии и идут работы над новым суперкомпьютером "АМУР", в котором используется КМОП-технология. Ряд организаций во главе с ИПМ РАН ведут работы по созданию MPP-компьютера МВС-100, в процессорных элементах которого используются микропроцессоры i860XP, а для организации коммуникаций применяются транспьютеры Т805. Хотя в наличии имеются опытные образцы некоторых из вышеупомянутых отечественных компьютеров, ни один из них промышленно не производится.
Положение с оснащенностью российских организаций суперкомпьютерами, пожалуй, еще хуже. Мы ограничимся информацией о состоянии дел и перспективах на будущее в исследовательских институтах и вузах, которые, как было сказано выше, являются одними из основных потенциальных пользователей суперЭВМ.
В большинстве инсталляций суперкомпьютеров используется вероятно, продукция фирмы Convex. В нескольких организациях эксплуатируются старые модели минисуперкомпьютеров серий Clxx, С2хх, которые по производительности уже уступают современным рабочим станциям. В Санкт-Петербурге в системе Госкомвуза инсталлирована минисуперЭВМ Convex серии С3800, в Москве в ИПМ РАН недавно установлена суперкомпьютерная система SPP 1000/CD. Имеются планы инсталляции и других суперкомпьютеров (например, SGI POWER CHALLENGE) в ряде институтов РАН.
Между тем отсутствие возможностей применения суперЭВМ сдерживает развитие отечественной науки и делает принципиально невозможным успешное развитие целых направлений научных исследований. Приобретение одногодвух, даже очень мощных, суперкомпьютеров не поможет решить данную проблему. И дело не только в стоимости их приобретения и затрат на поддержание работоспособности (включая электропитание и охлаждение). Существует еще целый ряд причин (например, доставка информации по компьютерной сети), препятствующих эффективному использованию суперЭВМ.
Более целесообразным представляется подход, предложенный российским Фондом фундаментальных исследований. Разработанная "Программа создания комплексных сетей связи и баз данных фундаментальной науки и образования" на 1995-1998 гг. предусматривает организацию целого ряда региональных и предметно-ориентированных суперкомпьютерных центров. В таких центрах могут быть инсталлированы, например, относительно дешевые минисуперкомпьютеры, имеющие лучшее отношение стоимость/производительность. Собственно говоря, достаточно только обратиться к списку ТОР500, чтобы обнаружить явную тенденцию к вытеснению больших (и дорогих) суперЭВМ относительно недорогими суперкомпьютерами, которым уже сейчас под силу решение львиной доли потенциальных задач.
Что касается отечественных суперЭВМ, то без необходимой государственной поддержки проектов по их разработке не приходиться рассчитывать на создание промышленных образцов в ближайшие 1-2 года, и вряд ли такие компьютеры смогут составить основу парка суперЭВМ в создающихся сегодня отечественных суперкомпьютерных центрах.
Архитектура современных суперЭВМ
В этом обзоре не имеет смысла останавливаться на деталях классификации архитектуры суперкомпьютеров [3,4], ограничимся только рассмотрением типичных архитектур суперЭВМ, широко распространенных сегодня, и приведем классическую систематику Флинна [5].
В соответствии с ней, все компьютеры делятся на четыре класса в зависимости от числа потоков команд и данных. К первому классу (последовательные компьютеры фон Неймана) принадлежат обычные скалярные однопроцессорные системы: одиночный поток команд - одиночный поток данных (SISD). Персональный компьютер имеет архитектуру SISD, причем не важно, используются ли в ПК конвейеры для ускорения выполнения операций.
Второй класс характеризуется наличием одиночного потока команд, но множественного nomoka данных (SIMD). К этому архитектурному классу принадлежат однопроцессорные векторные или, точнее говоря, векторно-конвейерные суперкомпьютеры, например, Cray-1 [6]. В этом случае мы имеем дело с одним потоком (векторных) команд, а потоков данных - много: каждый элемент вектора входит в отдельный поток данных. К этому же классу вычислительных систем относятся матричные процессоры, например, знаменитый в свое время ILLIAC-IV. Они также имеют векторные команды и реализуют векторную обработку, но не посредством конвейеров, как в векторных суперкомпьютерах, а с помощью матриц процессоров.
К третьему классу - MIMD - относятся системы, имеющие множественный поток команд и множественный поток данных. К нему принадлежат не только многопроцессорные векторные суперЭВМ, но и вообще все многопроцессорные компьютеры. Подавляющее большинство современных суперЭВМ имеют архитектуру MIMD.
Четвертый класс в систематике Флинна, MISD, не представляет практического интереса,по крайней мере для анализируемых нами компьютеров. В последнее время в литературе часто используется также термин SPMD (одна программа - множественные данные). Он относится не к архитектуре компьютеров, а к модели распараллеливания программ и не является расширением систематики Флинна. SPMD обычно относится к MPP (т.е. MIMD) - системам и означает, что несколько копий одной программы параллельно выполняются в разных процессорных узлах с разными данными.
Интересно также упомянуть о принципиально ином направлении в развитии компьютерных архитектур - машинах потоков данных[7]. В середине 80-х годов многие исследователи полагали, что будущее высокопроизводительных ЭВМ связано именно с компьютерами, управляемыми потоками данных, в отличие от всех рассмотренных нами классов вычислительных систем, управляемых потоками команд. В машинах потоков данных могут одновременно выполняться сразу много команд, для которых готовы операнды. Хотя ЭВМ с такой архитектурой сегодня промышленно не выпускаются, некоторые элементы этого подхода нашли свое отражение в современных суперскалярных микропроцессорах, имеющих много параллельно работающих функциональных устройств и буфер команд, ожидающих готовности операндов. В качестве примеров таких микропроцессоров можно привести HP РА-8000 [8] и Intel Pentium Pro [9].
В соответствии с классификацией Флинна, рассмотрение архитектуры суперЭВМ следовало бы начать с класса SISD. Однако все векторно-конвейерные (в дальнейшем - просто векторные) суперЭВМ имеют архитектуру "не меньше" SIMD. Что касается суперкомпьютерных серверов, использующих современные высокопроизводительные микропроцессоры, таких как SGI POWER CHALLENGE на базе R8000 или DEC AlphaServer 8200/8400 на базе Alpha 21164, то их минимальные конфигурации бывают однопроцессорными. Однако, если не рассматривать собственно архитектуру этих микропроцессоров, то все особенности архитектуры собственно серверов следует анализировать в "естественной" мультипроцессорной конфигурации. Поэтому начнем анализ суперкомпьютерных архитектур сразу с класса SIMD.
Векторные суперкомпьютеры [SIND]
Среди современных суперЭВМ эту архитектуру имеют однопроцессорные векторные суперкомпьютеры. Практически все они выпускаются также в мультипроцессорных конфигурациях, относящихся к классу MIMD. Однако многие особенности архитектуры векторных суперЭВМ можно понять, рассматривая даже однопроцессорные системы.
Типичная схема однопроцессорного векторного суперкомпьютера представлена на примере FACOM VP-200 японской фирмы Fujitsu [7]. Похожую архитектуру имеют и другие векторные суперкомпьютеры, например, фирм Cray Research [10] и Convex [11]. Общим для всех векторных суперкомпьютеров является наличие в системе команд векторных операций, например, сложение векторов, допускающих работу с векторами определенной длины, допустим, 64 элемента по 8 байт. В таких компьютерах операции с векторами обычно выполняются над векторными регистрами, что, однако, совсем не является обязательным. Наличие регистров маски позволяет выполнять векторные команды не над всеми элементами векторов, а только над теми, на которые указывает маска.
Конечно, в конкретных реализациях векторной архитектуры в различных суперкомпьютерах имеются свои модификации этой общей схемы. Так, например, в вычислительных системах серии VP компании Fujitsu аппаратно реализована поддержка возможности реконфигурации файла векторных регистров - можно, например, увеличить длину векторных регистров с одновременным пропорциональным уменьшением их числа.
Со времен Cray-1 многие векторные суперкомпьютеры, в том числе ЭВМ серии VP от Fujitsu и серии S компании Hitachi, имеют важное средство ускорения векторных вычислений,называемое зацепление команд. Рассмотрим,например, следующую последовательность команд, работающих с векторными V-регистрами в компьютерах Cray:
V2=V0*V1 V4=V2+V3
Ясно, что вторая команда не может начать выполняться сразу вслед за первой - для этого первая команда должна сформировать регистр V2, что требует определенного количества тактов. Средство зацепления позволяет, тем не менее, второй команде начать выполнение, не дожидаясь полного завершения первой: одновременно с появлением первого результата в регистре V2 его копия направляется в функциональное устройство сложения, и запускается вторая команда. Разумеется, детали возможностей зацепления разных векторных команд отличаются у разных ЭВМ.
Что касается скалярной обработки, то соответствующая подсистема команд в японских суперкомпьютерах Fujitsu и Hitachi совместима с IBM/370, что имеет очевидные преимущества. При этом для буферизации скалярных данных используется традиционная кэш-память. Напротив, компания Cray Research, начиная с Сгау-1, отказалась от применения кэш-памяти. Вместо этого в ее компьютерах используются специальные программно-адресуемые буферные В- и Т-регистры. И лишь в последней серии, Cray T90, была введена промежуточная кэш-память для скалярных операций. Отметим, что на тракте оперативная память - векторные регистры промежуточная буферная память отсутствует, что вызывает необходимость иметь высокую пропускную способность подсистемы оперативной памяти: чтобы поддерживать высокую скорость вычислений, необходимо быстро загружать данные в векторные регистры и записывать результаты обратно в память.
До сих пор мы рассматривали векторные ЭВМ, в которых операнды соответствующих команд располагаются в векторных регистрах. Кроме упоминавшихся компьютеров Fujitsu и Hitachi, векторные регистры имеют компьютеры серии SX другой японской фирмы NEC, в том числе наиболее мощные ЭВМ серии SX-4 [12], а также все векторные компьютеры как от Cray Research, включая C90, М90 и Т90, так и от Cray Computer, включая Cray-3 и Cray-4, и векторные минисуперЭВМ фирмы Convex серий Cl, С2, С3 и C4/XA.
Но некоторые векторные суперЭВМ, например, IBM ES/9000, работают с операндами-векторами, расположенными непосредственно в оперативной памяти. Скорее всего, такой подход является менее перспективным с точки зрения производительности, в частности, потому, что для поддержания высокого темпа вычислений для каждой векторной команды требуется быстрая выборка векторных операндов из памяти и запись результатов обратно.
Многопроцессорные векторные суперкомпьютеры (MIMD)
Все упомянутые векторные суперкомпьютеры выпускаются в многопроцессорных конфигурациях, которые относятся уже к классу MIMD.
В архитектуре многопроцессорных векторных компьютеров можно отметить две важнейшие характеристики: симметричность (равноправность) всех процессоров системы и разделение всеми процессорами общего поля оперативной памяти. Подобные компьютерные системы называются сильно связанными. Если в однопроцессорных векторных ЭВМ для создания эффективной программы ее надо векторизовать, то в многопроцессорных появляется задача распараллеливания программы для ее выполнения одновременно на нескольких процессорах.
Задача распараллеливания является, пожалуй, более сложной,поскольку в ней необходимо организовать синхронизацию параллельно выполняющихся процессов. Практика показала возможности эффективного распараллеливания большого числа алгоритмов для рассматриваемых сильно связанных систем. Соответствующий подход к распараллеливанию на таких компьютерах называется иногда моделью разделяемой общей памяти.
Многопроцессорные SMP-серверы на базе микропроцессоров RISC-архитектуры [MIMD]
Производительность некоторых современных микропроцессоров RISC-архитектуры стала сопоставимой с производительностью процессоров векторных компьютеров. Как следствие этого, появились использующие эти достижения суперЭВМ новой архитектуры, - сильно связанные компьютеры класса MIMD, представляющие собой симметричные многопроцессорные серверы с общим полем оперативной памяти. Этим перспективным системам имеет смысл уделить больше внимания, чем другим компьютерным архитектурам, поскольку соответствующий крут вопросов в отечественной компьютерной литературе обсуждался недостаточно полно.
Наиболее известные суперкомпьютерные серверы, имеющие подобную SMP-архитектуру - DEC AlphaServer 8200/8400 [13] и SGI POWER CHALLENGE [14]. Для них характерно применение высокопроизводительной системной шины, в слоты которой вставляются модули трех типов - процессорные, оперативной памяти и ввода-вывода. Обычные, более медленные шины ввода-вывода, например, PCI или VME64, подсоединяются уже к модулям ввода-вывода. Очевидно, что подобная конструкция обладает высокой степенью модульности и легко позволяет производить наращивание конфигурации, которое ограничивается только доступным числом слотов системной шины и ее производительностью.
В модулях памяти обычно используется технология DRAM, что позволяет достигнуть больших объемов памяти при относительно низкой цене. Однако скорость обмена данными между процессорами и памятью в таких серверах во много раз ниже, чем пропускная способность аналогичного тракта в векторных суперЭВМ, где оперативная память строится на более дорогой технологии ЯВАМ. В этом состоит одно из основных отличий в подходах к суперкомпьютерным вычислениям, применяемым для многопроцессорных векторных ЭВМ и SMP-серверов. В первых обычно имеется относительно небольшое число векторных регистров, поэтому, как уже отмечалось, для поддержания высокой производительности необходимо быстро загружать в них данные или, наоборот, записывать из них информацию в оперативную память. Таким образом, требуется высокая производительность тракта процессор-память.
В SMP-серверах пропускная способность модулей памяти гораздо ниже, а общая скорость обмена данными с процессорными модулями ограничивается также (хотя и высокой) пропускной способностью шины. К тому же системная шина может быть занята передачей данных за счет работы модулей ввода-вывода. Для иллюстрации порядков величин можно привести следующие данные: гарантированная пропускная способность системной шины TurboLaser в AlphaServer 8200/8400 составляет 1.6 Гбайт/с и 1.2 Гбайт/с - для шины POWERpath-2 в POWER CHALLENGE, а пропускная способность оперативной памяти в Сгау Т90 равна 800 Гбайт/с. Поэтому в SMP-серверах разработчики стремятся уменьшить саму потребность в обменах данными на тракте процессорыпамять. С этой целью вместо маленького по величине объема памяти векторных регистров (именно поэтому они требуют достаточно частой перезагрузки) микропроцессоры в суперкомпьютерных SMP-системах снабжаются кэш - памятью очень большого размера, например, по 4 Мбайт на микропроцессор в AlphaServer 8200/8400 и POWER CHAL ENGE. В результате для очень широкого спектра приложений удается достичь поставленной цели.
Современные компьютеры SMP-архитектуры и кластеры на их основе имеют во многом характеристики, сравнимые с большими векторными суперЭВМ, за исключением пропускной способности оперативной памяти; Если добавить к этому низкие эксплуатационные расходы на обслуживание SMP-систем, то становится понятно, почему применение этих гораздо более дешевых (по сравнению с векторными) суперкомпьютеров получило за последние 2 года широкое распространение.
Анализируемые здесь SMP-системы не обязаны иметь шинную архитектуру. Вместо шины может использоваться коммутатор. Подобный подход применяется, например, внутри гиперузлов компьютеров Convex Exemplar SPP [15]. Однако почти все сказанное в данном разделе сохраняет силу и в этом случае.
Кластеры [MIMD]
Кластеры являются самым дешевым способом наращивания производительности уже инсталлированных компьютеров. Фактически кластер представляет собой набор из нескольких ЭВМ, соединенных через некоторую коммуникационную инфраструктуру. В качестве такой структуры может выступать обычная компьютерная сеть, однако из соображений повышения производительности желательно иметь высокоскоростные соединения (FDDI/ATM/HiPPI и т.п.). Кластеры могут быть образованы как из различных компьютеров (гетперогенные кластеры), так и из одинаковых (гомогенные кластеры). Очевидно, что все такие системы относятся к классу MIMD. Кластеры являются классическим примером слабо связанных систем. Различным кластерным системам посвящена статья [16].
Преимуществом кластерного подхода по сравнению с SMP-серверами является улучшение возможностей масштабирования. В отличие от серверов SMP-архитектуры, где наращивание конфигурации ограничено пропускной способностью шины, добавление компьютеров в кластер позволяет увеличивать пропускную способность оперативной памяти и подсистем ввода-вывода.
В кластерных системах для организации взаимодействия между процессами, выполняющимися на разных компьютерах при решении одной задачи, применяются различные модели обмена сообщениями (PVM, MPI и т.п.). Однако задача распараллеливания в таких системах с распределенной между отдельными компьютерами памятью в рамках этих моделей является гораздо более сложной, чем в модели общего поля памяти, как например, в SMP-серверах. К этому следует добавить чисто аппаратные проблемы наличия задержек при обменах сообщениями и повышения скорости передачи данных. Поэтому спектр задач, которые могут эффективно решаться на кластерных системах, по сравнению с симметричными сильно связанными системами достаточно ограничен. Для параллельной обработки запросов к базам данных в подобных системах также имеются свои собственные подходы (см., например, [16]).
В кластеры могут объединяться различные суперкомпьютеры, например, минисуперЭВМ Сгау J90 [11], однако наиболее известными кластерами в мире суперЭВМ являются IBM SP2 [17] и SGI POWER CHAL ENGEarray [14]. Возможность наличия большого числа процессорных узлов в SP2 позволяет одновременно отнести этот компьютер и к классу Mpp-систем.
МРР-системн (MIMD)
Основным признаком, по которому систему относят к архитектуре MPP, является число процессоров (n). Строгой границы не существует, но обычно считается, что при n >= 128 - это уже МРР, а при n <= 32 - еще нет.
Вовсе не обязательно, чтобы MPP-система имела распределенную оперативную память, при которой каждый процессорный узел имеет свою локальную память. Так, например, компьютеры SPP1000/XA и SPP1200/XA [15] - пример систем с массовым параллелизмом, память которых физически распределена между гиперузлами, но логически является общей для всей ЭВМ. Тем не менее, большинство MPP-компьютеров имеют как логически, так и физически распределенную память.
В любом случае MPP-системы принадлежат к классу MIMD. Если говорить об MPP-компьютерах с распределенной памятью и отвлечься от организации ввода-вывода, то эта архитектура является естественным расширением кластерной на большое число узлов. Поэтому для таких систем характерны все преимущества и недостатки кластеров. Причем в связи с повышенным числом процессорных узлов как плюсы, так и минусы становятся гораздо весомее (процессорный узел это блок ЭВМ, который может содержать несколько процессоров, например, как в компьютерах SNI/Pyramid RM1000, и сам по себе иметь архитектуру SMP).
Благодаря масштабируемости, именно MPP-системы являются сегодня лидерами по достигнутой производительности компьютера; наиболее яркий пример этому - Intel Paragon. С другой стороны, проблемы распараллеливания в MPP-системах по сравнению с кластерами, содержащими немного процессоров, становятся еще более трудно разрешимыми. Кроме того, приращение производительности с ростом числа процессоров обычно вообще довольно быстро убывает. Легко нарастить теоретическую производительность ЭВМ, но гораздо труднее найти задачи, которые сумели бы эффективно загрузить процессорные узлы.
Сегодня не так уж много приложений могут эффективно выполняться на Mpp-компьютере, кроме этого имеется еще проблема переносимости программ между Mpp-системами, имеющими различную архитектуру. Предпринятая в последние годы попытка стандартизации моделей обмена сообщениями еще не снимает всех проблем. Эффективность распараллеливания во многих случаях сильно зависит от деталей архитектуры Mpp-системы, например топологии соединения процессорных узлов.
Самой эффективной была бы топология, в которой любой узел мог бы напрямую связаться с любым другим узлом. Однако в MPP-системах это технически трудно реализуемо. Обычно процессорные узлы в современных MPP-компьютерах образуют или двумерную решетку (например, в SNI/Pyramid RM1000) или гиперкуб (как в суперкомпьютерах nCube [18]).
Поскольку для синхронизации параллельно выполняющихся в узлах процессов необходим обмен сообщениями, которые должны доходить из любого узла системы в любой другой узел, важной характеристикой является диаметр системы с1 - максимальное расстояние между узлами. В случае двухмерной решетки d ~ sqrt(n), в случае гиперкуба d ~ 1n(n). Таким образом, при увеличении числа узлов архитектура гиперкуба является более выгодной.
Время передачи информации от узла к узлу зависит от стартовой задержки и скорости передачи. В любом случае за время передачи процессорные узлы успевают выполнить много команд, и это соотношение быстродействия процессорных узлов и передающей системы, вероятно, будет сохраняться - прогресс в производительности процессоров гораздо больше, чем в пропускной способности каналов связи. Поэтому инфраструктура каналов связи является одного из главных компонентов Mpp-компьютера.
Несмотря на все сложности, сфера применения MPP-компьютеров понемногу расширяется. Различные MPP-системы эксплуатируются во многих ведущих суперкомпьютерных центрах мира, что наглядно следует из списка ТОР500. Кроме уже упоминавшихся, следует особенно отметить компьютеры Cray T3D и Cray ТЗЕ, которые иллюстрируют тот факт, что мировой лидер производства векторных суперЭВМ, компания Cray Research, уже не ориентируется исключительно на векторные системы. Наконец, нельзя не вспомнить, что новейший суперкомпьютерный проект министерства энергетики США будет основан на MPP-системе на базе Pentium Pro [10].
Оценки производительности суперЭВМ
Поскольку суперкомпьютеры традиционно использовались для выполнения вычислений над вещественными числами, большинство сегодняшних оценочных характеристик производительности связано именно с этими вычислениями. Прежде всего, к ним относится пиковая производительность, измеряемая в млн. операций с плавающей точкой, которые компьютер теоретически может выполнить за 1 сек (MFLOPS). Пиковая производительность - величина, практически не достижимая. Это связано, в частности, с проблемами заполнения функциональных конвейерных устройств, что является типичным не только для векторных суперЭВМ, но и для компьютеров на базе микропроцессоров RISC-архитектуры. Особенно важно это для суперконвейерной архитектуры микропроцессоров, например, DEC Alpha, для которой характерно применение относительно длинных конвейеров. Понятно, что чем больше конвейер, тем больше надо "инициализационного" времени для того, чтобы его заполнить. Такие конвейеры эффективны при работе с длинными векторами. Поэтому для оценки векторных суперЭВМ было введено такое понятие, как длина полупроизводительности - длина вектора, при которой достигается половина пиковой производительности [4].
Более реальные оценки производительности базируются на временах выполнения различных тестов. Конечно же, самыми хорошими тестами являются реальные задачи пользователя. Однако такие оценки, во-первых, весьма специфичны, а, во-вторых, часто вообще недоступны или отсутствуют. Поэтому обычно применяются более универсальные тесты, однако традиционные методики оценки производительности микропроцессоров - SPEC- в мире суперкомпьютеров, как правило, не используются. Это связано, в частности, с их малой информативностью - особенно SPEC 92 - для суперкомпьютерных приложений, хотя новый стандарт SPEC 95 дает более реальную картину производительности. Сегодня имеются оценки SPEC только для суперкомпьютеров, использующих микропроцессоры RISC-архитектуры. Недавно был анонсирован специальный новый стандарт SPEChpc96 для высокопроизводительных вычислений [14].
Поскольку большую часть времени выполнения программ обычно занимают циклы, иногда именно они применяются в качестве тестов, например, известные ливерморские циклы. Наиболее популярным тестом производительности на сегодня следует признать Linpack, который представляет собой решение системы И линейных уравнений методом Гаусса. Поскольку известно, сколько операций с вещественными числами нужно проделать для решения системы, зная время расчета, можно вычислить выполняемое в секунду количество операций. Имеется несколько модификаций этих тестов. Обычно фирмы-производители компьютеров приводят результаты при N 100. Свободно распространяется стандартная программа на Фортране, которую надо выполнить на суперкомпьютере, чтобы получить результат тестирования. Эта программа не может быть изменена, за исключением замены вызовов подпрограмм, дающих доступ к процессорному времени выполнения. Другой стандартный тест относится к случаю N = 1000, предполагающему использование длинных векторов. Эти тесты могут выполняться на компьютерах при разном числе процессоров, давая также оценки качества распараллеливания.
Для MPP-систем более интересным является тест Linpack-parallel, в котором производительность измеряется при больших И и числе процессоров. Здесь лидером является 6768-процессорный Intel Paragon (281 GFLOPS при N = 128600). Что касается производительности процессоров, то при N = 100 лидирует Cray T916 (522 MFLOPS), при N = 1000 и по пиковой производительности - Hitachi S3800 (соответственно 6431 и 8000 MFLOPS). Для сравнения, процессор в AlphaServer 8400 имеет 140 MFLOPS при N =100 и 411 MFLOPS при N=1000.
Для высокопараллельных суперкомпьютеров в последнее время все больше используются тесты NAS parallel benchmark [19], которые особенно хороши для задач вычислительной газо- и гидродинамики. Их недостатком является фиксация алгоритма решения, а не текста программы. Дополнительную информацию о различных тестах можно найти в [20,21].
***
Сегодня в суперкомпьютерном мире наблюдается новая волна, вызванная как успехами в области микропроцессорных технологий, так и появлением нового круга задач, выходящих за рамки традиционных научно-исследовательских лабораторий. Налицо быстрый прогресс в производительности микропроцессоров RISC-архитектуры, которая растет заметно быстрее, чем производительность векторных процессоров. Например, микропроцессор HP РА-8000 отстает от Cray T90 всего примерно в два раза. В результате в ближайшее время вероятно дальнейшее вытеснение векторных суперЭВМ компьютерами, использующими RISC-микропроцессоры, такими, как, например, IBM SP2, Convex/HP SPP, DEC AlphaServer 8400, SGI POWER CHALENGE. Подтверждением этого стали результаты рейтинга ТОР500, где лидерами по числу инсталляций стали системы POWER CHALLENGE и SP2, опережающие модели ведущего производителя суперкомпьютеров - компании Cray Research.
Тем не менее, очевидна, будет продолжаться развитие векторных суперЭВМ, по крайней мере от Cray Research. Возможно, оно начинает сдерживаться из-за требований совместимости со старыми моделями. Так, не нашла потребителя система Cray-4 компании Cray Computer, имеющая характеристики конфигурации и производительность, близкие к новейшей системе Cray T90 от Cray Research при в 2 раза более низкой цене, но несовместимая с компьютерами Cray Research. В результате Cray Computer разорилась.
Успешно развиваются системы на базе Mpp-архитектур, в том числе с распределенной памятью. Появление новых высокопроизводительных микропроцессоров, использующих дешевую КМОП-технологию, существенно повышает конкурентноспособность данных систем.
Относительно новых решений со стороны VLIW-архитектур можно уверенно предположить, что, по крайней мере в ближайшие два года, RISC-процессорам бояться нечего.
Данный обзор не претендует на полноту изложения, а является попыткой представить общую картину состояния дел в области суперкомпьютеров. Для более детального ознакомления с архитектурами конкретных систем можно обратиться к другим публикациям этого выпуска журнала.
Литература
1. ComputerWorld Россия, # 9, 1995.
2. К.Вильсон, в сб. "Высокоскоростные вычисления". М. Радио и Связь, 1988, сс.12-48.
3. Б.А.Головкин, "Параллельные вычислительные системы". М.. Наука, 1980, 519 с.
4. Р.Хокни, К.Джессхоуп, "Параллельные ЭВМ . М.. Радио и Связь, 1986, 390 с.
5. Flynn И.,7., IEEE Trans. Comput., 1972, о.С-21, N9, рр. 948-960.
6. Russel К.М., Commun. АСМ, 1978, v. 21, # 1, рр. 63-72.
7. Т.Мотоока, С.Томита, Х.Танака, Т. Сайто, Т.Уэхара, "Компьютеры на СБИС", m.l. М. Мир, 1988, 388 с.
8. М.Кузьминский, Процессор РА-8000. Открытые системы, # 5, 1995.
9. Открытые системы сегодня, # 11, 1995.
10. ComputerWorld Россия, ## 4, 6, 1995.
11. ComputerWorld Россия, # 8, 1995.
12. Открытые системы сегодня, # 9, 1995.
13. ComputerWorld Россия, # 2, 1995.
14. ComputerWorld Россия, # 12, 1995.
15. Виктор Шнитман, Системы Exemplar SPP1200. Открытые системы, # 6, 1995.
16. Михаил Борисов, UNIX-кластеры. Открытые системы, # 2, 1995, cc.22-28.
17. В. Шмидт, Системы IBM SP2. Открытые системы, # 6, 1995.
18. Наталья Дубова, Суперкомпьютеры nCube. Открытые системы, # 2, 1995, сс.42-47.
19. Дмитрий Французов, Тест оценки производительности суперкомпьютеров. Открытые системы, # 6, 1995.
20. Дмитрий Волков, Как оценить рабочую станцию. Открытые системы, №2, 1994, с.44-48.
21. Андрей Волков, Тесты ТРС. СУБД, # 2, 1995, сс. 70-78.
Михаил Кузьминский, ИОХ РАН. Дмитрий Волков (vlk@osp.ru) -- ИПМ РАН (Москва).