|
Современные суперЭВМ
Диалектическая спираль развития
компьютерных технологий совершила свой очередной виток - опять, как и десять лет
назад, в соответствии и с требованиями жизни, в моду входят суперкомпьютерные
архитектуры. Безусловно, это уже не те монстры, которые помнят ветераны - новые
технологии и требовательный рынок коммерческих применений существенно изменили
облик современного суперкомпьютера, Теперь это не огромные шкафы с уникальной
аппаратурой, вокруг которой колдуют шаманы от информатики, а вполне эргономичные
системы с унифицированным программным обеспечением, совместимые со своими
младшими собратьями. Что такое суперЭВМ? Компьютеры с производительностью
свыше 10 000 млн. теоретических операций в сек. (MTOPS), согласно определению
Госдепартамента США, считаются суперкомпьютерами. Следует отметить и другие
основные признаки, характеризующие суперЭВМ, среди которых кроме высокой
производительности: • специфические архитектурные решения, направленные на
повышение быстродействия (например, наличие операций над векторами); Вместе с тем, существуют компьютеры, имеющие все
перечисленные выше характеристики суперЭВМ, за исключением цены, которая для них
составляет от нескольких сотен до 2 млн. долларов. Речь идет о мини-суперЭВМ,
обладающим высокой производительностью, уступающей, однако, большим суперЭВМ.
При этом у минисуперкомпьютеров, как правило, заметно лучше соотношение
цена/производительность и существенно ниже эксплуатационные расходы: система
охлаждения, электропитания, требования к площади помещения и др. С точки зрения
архитектуры минисуперкомпьютеры не представляют собой некоторое особенное
направление, поэтому в дальнейшем они отдельно не
рассматриваются. Для
каких применений нужна столь дорогостоящая техника?Может показаться, что с
ростом производительности настольных ПК и рабочих станций, а также серверов,
сама потребность в суперЭВМ будет снижаться. Это не так. С одной стороны, целый
ряд приложений может теперь успешно выполняться на рабочих станциях, но с другой
стороны, время показало, что устойчивой тенденцией является появление все новых
приложений, для которых необходимо использовать суперЭВМ. Прежде всего
следует указать на процесс проникновения суперЭВМ в совершенно недоступную для
них ранее коммерческую сферу. Речь идет не только скажем, о графических
приложениях для кино и телевидения, где требуется все та же высокая
производительность на операциях с плавающей запятой, а прежде всего о задачах,
предполагающих интенсивную (в том числе, и оперативную) обработку транзакций для
сверхбольших БД. В этот класс задач можно отнести также системы поддержки
принятия решений и организация информационных складов. Конечно, можно сказать,
что для работы с подобными приложениями в первую очередь необходимы высокая
производительность ввода-вывода и быстродействие при выполнении целочисленных
операций, а компьютерные системы, наиболее оптимальные для таких приложений,
например, MPP-системы Himalaya компании Tandem, SMP-компьютеры SGI CHAL ENGE,
AlphaServer 8400 от DEC - это не совсем суперЭВМ. Но следует вспомнить, что
такие требования возникают, в частности, со стороны ряда приложений ядерной
физики, например, при обработке результатов экспериментов на ускорителях
элементарных частиц. А ведь ядерная физика - классическая область применения
суперЭВМ со дня их возникновения. Как бы то ни было, наметилась явная
тенденция к сближению понятий "мэйнфрейм", "многопроцессорный сервер" и
"суперЭВМ". Нелишне заметить, что это происходит на фоне начавшегося во многих
областях массированного перехода к централизации и укрупнению в
противоположность процессу разукрупненияи децентрализации. Традиционной
сферой применения суперкомпьютеров всегда были научные исследования: физика
плазмы и статистическая механика, физика конденсированных сред, молекулярная и
атомная физика, теория элементарных частиц, газовая динамика и теория
турбулентности, астрофизика. В химии - различные области вычислительной химии:
квантовая химия (включая расчеты электронной структуры для целей конструирования
новых материалов, например, катализаторов и сверхпроводников), молекулярная
динамика, химическая кинетика, теория поверхностных явлений и химия твердого
тела, конструирование лекарств. Естественно, что ряд областей применения
находится на стыках соответствующих наук, например, химии и биологии, и
перекрывается с техническими приложениями. Так, задачи метеорологии, изучение
атмосферных явлений и, в первую очередь, задача долгосрочного прогноза погоды,
для решения которой постоянно не хватает мощностей современных суперЭВМ, тесно
связаны с решением ряда перечисленных выше проблем физики. Среди технических
проблем, для решения которых используются суперкомпьютеры, укажем на задачи
аэрокосмической и автомобильной промышленности, ядерной энергетики, предсказания
и разработки месторождений полезных ископаемых, нефтедобывающей и газовой
промышленности (в том числе проблемы эффективной эксплуатации месторождений,
особенно трехмерные задачи их исследования), и, наконец, конструирование новых
микропроцессоров и компьютеров, в первую очередь самих суперЭВМ.
Суперкомпьютеры традиционно применяются для военных целей. Кроме очевидных задач
разработки оружия массового уничтожения и конструирования самолетов и ракет,
можно упомянуть, например, конструирование бесшумных подводных лодок и др. Самый
знаменитый пример - это американская программа СОИ. Уже упоминавшийся MPP-
компьютер Министерства энергетики США будет применяться для моделирования
ядерного оружия, что позволит вообще отменить ядерные испытания в этой
стране. Анализируя потенциальные потребности в суперЭВМ существующих сегодня
приложений, можно условно разбить их на два класса. К первому можно отнести
приложения, в которых известно, какой уровень производительности надо достигнуть
в каждом конкретном случае, например, долгосрочный прогноз погоды. Ко второму
можно отнести задачи, для которых характерен быстрый рост вычислительных затрат
с увеличением размера исследуемого объекта. Например, в квантовой химии
неэмпирические расчеты электронной структуры молекул требуют затрат
вычислительных ресурсов, пропорциональных N^4 или И^5, где N условно
характеризует размер молекулы. Сейчас многие молекулярные системы вынужденно
исследуются в упрощенном модельном представлении. Имея в резерве еще более
крупные молекулярные образования (биологические системы, кластеры и т.д.),
квантовая химия дает пример приложения, являющегося "потенциально бесконечным"
пользователем суперкомпьютерных ресурсов. Есть еще одна проблема применения
суперЭВМ, о которой необходимо сказать - это визуализация данных, полученных в
результате выполнения расчетов. Часто, например, при решении дифференциальных
уравнений методом сеток, приходится сталкиваться с гигантскими объемами
результатов, которые в числовой форме человек просто не в состоянии обработать.
Здесь во многих случаях необходимо обратиться к графической форме представления
информации. В любом случае возникает задача транспортировки информации по
компьютерной сети. Решению этого комплекса проблем в последнее время уделяется
все большее внимание. В частности, знаменитый Национальный центр
суперкомпьютерных приложений США (NCSA) совместно с компанией Silicon Graphics
ведет работы по программе "суперкомпьютерного окружения будущего". В этом
проекте предполагается интегрировать возможности суперкомпьютеров POWER
CHALLENGE и средств визуализации компании SGI со средствами информационной
супермагистрали. В соответствии с ней, все
компьютеры делятся на четыре класса в зависимости от числа потоков команд и
данных. К первому классу (последовательные компьютеры фон Неймана) принадлежат
обычные скалярные однопроцессорные системы: одиночный поток команд - одиночный
поток данных (SISD). Персональный компьютер имеет архитектуру SISD, причем не
важно, используются ли в ПК конвейеры для ускорения выполнения операций.
Второй класс характеризуется наличием одиночного потока команд, но
множественного nomoka данных (SIMD). К этому архитектурному классу принадлежат
однопроцессорные векторные или, точнее говоря, векторно-конвейерные
суперкомпьютеры, например, Cray-1. В этом случае мы имеем дело с одним потоком
(векторных) команд, а потоков данных - много: каждый элемент вектора входит в
отдельный поток данных. К этому же классу вычислительных систем относятся
матричные процессоры, например, знаменитый в свое время ILLIAC-IV. Они также
имеют векторные команды и реализуют векторную обработку, но не посредством
конвейеров, как в векторных суперкомпьютерах, а с помощью матриц процессоров.
К третьему классу - MIMD - относятся системы, имеющие множественный поток команд
и множественный поток данных. К нему принадлежат не только многопроцессорные
векторные суперЭВМ, но и вообще все многопроцессорные компьютеры. Подавляющее
большинство современных суперЭВМ имеют архитектуру MIMD. Четвертый класс в
систематике Флинна, MISD, не представляет практического интереса,по крайней мере
для анализируемых нами компьютеров. В последнее время в литературе часто
используется также термин SPMD (одна программа - множественные данные). Он
относится не к архитектуре компьютеров, а к модели распараллеливания программ и
не является расширением систематики Флинна. SPMD обычно относится к MPP (т.е.
MIMD) - системам и означает, что несколько копий одной программы параллельно
выполняются в разных процессорных узлах с разными данными. Среди современных суперЭВМ эту архитектуру
имеют однопроцессорные векторные суперкомпьютеры. Типичная схема
однопроцессорного векторного суперкомпьютера представлена на примере FACOM VP-
200 японской фирмы Fujitsu . Похожую архитектуру имеют и другие векторные
суперкомпьютеры, например, фирм Cray Research и Convex . Общим для всех
векторных суперкомпьютеров является наличие в системе команд векторных операций,
например, сложение векторов, допускающих работу с векторами определенной длины,
допустим, 64 элемента по 8 байт. В таких компьютерах операции с векторами обычно
выполняются над векторными регистрами, что, однако, совсем не является
обязательным. Наличие регистров маски позволяет выполнять векторные команды не
над всеми элементами векторов, а только над теми, на которые указывает маска.
Со времен Cray-1 многие векторные суперкомпьютеры, в том числе ЭВМ серии VP от
Fujitsu и серии S компании Hitachi, имеют важное средство ускорения векторных
вычислений, называемое зацепление команд. Рассмотрим, например, следующую
последовательность команд, работающих с векторными V-регистрами в компьютерах
Cray: Ясно, что вторая команда не может начать
выполняться сразу вслед за первой - для этого первая команда должна сформировать
регистр V2, что требует определенного количества тактов. Средство зацепления
позволяет, тем не менее, второй команде начать выполнение, не дожидаясь полного
завершения первой: одновременно с появлением первого результата в регистре V2
его копия направляется в функциональное устройство сложения, и запускается
вторая команда. Разумеется, детали возможностей зацепления разных векторных
команд отличаются у разных ЭВМ. Что касается скалярной обработки, то
соответствующая подсистема команд в японских суперкомпьютерах Fujitsu и Hitachi
совместима с IBM/370, что имеет очевидные преимущества. При этом для буферизации
скалярных данных используется традиционная кэш-память. Напротив, компания Cray
Research, начиная с Сгау-1, отказалась от применения кэш-памяти. Вместо этого в
ее компьютерах используются специальные программно-адресуемые буферные В- и Т-
регистры. И лишь в последней серии, Cray T90, была введена промежуточная кэш-
память для скалярных операций. Отметим, что на тракте оперативная память -
векторные регистры промежуточная буферная память отсутствует, что вызывает
необходимость иметь высокую пропускную способность подсистемы оперативной
памяти: чтобы поддерживать высокую скорость вычислений, необходимо быстро
загружать данные в векторные регистры и записывать результаты обратно в память.
Но некоторые векторные суперЭВМ, например, IBM ES/9000, работают с операндами-
векторами, расположенными непосредственно в оперативной памяти. Скорее всего,
такой подход является менее перспективным с точки зрения производительности, в
частности, потому, что для поддержания высокого темпа вычислений для каждой
векторной команды требуется быстрая выборка векторных операндов из памяти и
запись результатов обратно. В архитектуре многопроцессорных векторных
компьютеров можно отметить две важнейшие характеристики: симметричность
(равноправность) всех процессоров системы и разделение всеми процессорами общего
поля оперативной памяти. Подобные компьютерные системы называются сильно
связанными. Если в однопроцессорных векторных ЭВМ для создания эффективной
программы ее надо векторизовать, то в многопроцессорных появляется задача
распараллеливания программы для ее выполнения одновременно на нескольких
процессорах. Задача распараллеливания является, пожалуй, более сложной,
поскольку в ней необходимо организовать синхронизацию параллельно выполняющихся
процессов. Практика показала возможности эффективного распараллеливания большого
числа алгоритмов для рассматриваемых сильно связанных систем. Соответствующий
подход к распараллеливанию на таких компьютерах называется иногда моделью
разделяемой общей памяти. Производительность некоторых современных
микропроцессоров RISC-архитектуры стала сопоставимой с
производительностьюпроцессоров векторных компьютеров. Как следствие этого,
появились использующие эти достижения суперЭВМ новой архитектуры, - сильно
связанные компьютеры класса MIMD, представляющие собой симметричные
многопроцессорные серверы с общим полем оперативной памяти. В модулях памяти
обычно используется технология DRAM, что позволяет достигнуть больших объемов
памяти при относительно низкой цене. Однако скорость обмена данными между
процессорами и памятью в таких серверах во много раз ниже, чем пропускная
способность аналогичного тракта в векторных суперЭВМ, где оперативная память
строится на более дорогой технологии ЯВАМ. В этом состоит одно из основных
отличий в подходах к суперкомпьютерным вычислениям, применяемым для
многопроцессорных векторных ЭВМ и SMP-серверов. В первых обычно имеется
относительно небольшое число векторных регистров, поэтому, как уже отмечалось,
для поддержания высокой производительности необходимо быстро загружать в них
данные или, наоборот, записывать из них информацию в оперативную память. Таким
образом, требуется высокая производительность тракта процессор-память.
Кластеры являются самым дешевым способом наращивания производительности уже
инсталлированных компьютеров. Фактически кластер представляет собой набор из
нескольких ЭВМ, соединенных через некоторую коммуникационную инфраструктуру. В
качестве такой структуры может выступать обычная компьютерная сеть, однако из
соображений повышения производительности желательно иметь высокоскоростные
соединения (FDDI/ATM/HiPPI и т.п.). Кластеры могут быть образованы как из
различных компьютеров (гетперогенные кластеры), так и из одинаковых (гомогенные
кластеры). Очевидно, что все такие системы относятся к классу MIMD. Кластеры
являются классическим примером слабо связанных систем. В кластерных системах для
организации взаимодействия между процессами, выполняющимися на разных
компьютерах при решении одной задачи, применяются различные модели обмена
сообщениями (PVM, MPI и т.п.). Однако задача распараллеливания в таких системах
с распределенной между отдельными компьютерами памятью в рамках этих моделей
является гораздо более сложной, чем в модели общего поля памяти, как например, в
SMP-серверах. К этому следует добавить чисто аппаратные проблемы наличия
задержек при обменах сообщениями и повышения скорости передачи данных. Поэтому
спектр задач, которые могут эффективно решаться на кластерных системах, по
сравнению с симметричными сильно связанными системами достаточно ограничен. Для
параллельной обработки запросов к базам данных в подобных системах также имеются
свои собственные подходы. В кластеры могут объединяться различные
суперкомпьютеры. Возможность наличия большого числа процессорных узлов в SP2
позволяет одновременно отнести этот компьютер и к классу Mpp-систем.MPP-системы
принадлежат к классу MIMD. Если говорить об MPP-компьютерах с распределенной
памятью и отвлечься от организации ввода-вывода, то эта архитектура является
естественным расширением кластерной на большое число узлов. Поэтому для таких
систем характерны все преимущества и недостатки кластеров. Благодаря
масштабируемости, именно 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]. Сегодня в
суперкомпьютерном мире наблюдается новая волна, вызванная как успехами в области
микропроцессорных технологий, так и появлением нового круга задач, выходящих за
рамки традиционных научно-исследовательских лабораторий. Налицо быстрый прогресс
в производительности микропроцессоров RISC-архитектуры, которая растет заметно
быстрее, чем производительность векторных процессоров. Например, микропроцессор
HP РА-8000 отстает от Cray T90 всего примерно в два раза. В результате в
ближайшее время вероятно дальнейшее вытеснение векторных суперЭВМ компьютерами,
использующими RISC-микропроцессоры, такими, как, например, IBM SP2, Convex/HP
SPP, DEC AlphaServer 8400, SGI POWER CHALENGE. Подтверждением этого стали
результаты рейтинга ТОР500, где лидерами по числу инсталляций стали системы
POWER CHALLENGE и SP2, опережающие модели ведущего производителя
суперкомпьютеров - компании Cray Research.
| |