МИНИСТЕРСТВО ОБРАЗОВАНИЯ РФ
ЧИТИНСКИЙ ИНСТИТУТ ИРКУТСКОЙ ГОСУДАРСТВЕННОЙ
ЭКОНОМИЧЕСКОЙ АКАДЕМИИ
Факультет: Финансово-информационный
Кафедра: ВМ, ВТ и АСУ
Специальность: Прикладная информатика в экономике
Курсовая работа
По дисциплине: Вычислительные системы
На тему: Суперкомпьютеры
Выполнил: Любар А.Ю. студент 2 курса гр. ПивЭ-99
Проверил:
Пригляднов Б.И.
Чита2001
СОДЕРЖАНИЕ
1. ВВЕДЕНИЕ
2. СФЕРЫ ПРИМЕНЕНИЯ СУПЕРКОМПЬЮТЕРОВ
3. СУПЕРКОМПЬЮТЕРЫ В РОССИИ
4. СУПЕРКОМПЮЬТЕРЫ, КАК ЭТО?
5. ВСЕ НОВОЕ – ЭТО ХОРОШО ЗАБЫТОЕ СТАРОЕ
6. АРХИТЕКТУРА СОВРЕМЕННЫХ СУПЕРЭВМ
7. ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ СУПЕРЭВМ
8. ЗАКЛЮЧЕНИЕ
9. ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА
Введение
Диалектическая спираль развития компьютерных технологий совершила свой
очередной виток - опять, как и десять лет назад, в соответствии с
требованиями жизни, в моду входят суперкомпьютерные архитектуры.
Безусловно, это уже не те монстры, которые помнят ветераны - новые
технологии и требовательный рынок коммерческих применений существенно
изменили облик современного суперкомпьютера, Теперь это не огромные шкафы с
уникальной аппаратурой, вокруг которой колдуют шаманы от информатики, а
вполне эргономичные системы с унифицированным программным обеспечением,
совместимые со своими младшими собратьями. Рассмотрим основные области
применения суперЭВМ и проанализируем особенности различных типов
архитектур, характерных для современных суперкомпьютеров.
Что такое суперЭВМ? Оксфордский толковый словарь по вычислительной технике,
изданный почти 10 лет назад, в 1986 году, сообщает, что суперкомпьютер -
это очень мощная ЭВМ с производительностью свыше 10 MFLOPS (миллионов
операций с плавающей запятой в секунду). Сегодня этот результат перекрывают
уже не только рабочие станции, но даже, по крайней мере, по пиковой
производительности, и ПК. В начале 90-х годов границу проводили уже около
отметки в 300 MFLOPS.
Однако такой подход к определению суперЭВМ не совсем корректен. Очевидно,
что, современный двухпроцессорный компьютер Cray C90 любой здравомыслящий
человек назовет суперЭВМ. А тем не менее, его пиковая производительность
меньше 2 GFLOPS. С этим вопросом тесно связаны и ограничения (ранее -
КОКОМ, теперь - Госдепартамента США) на поставку высокопроизводительных
средств вычислительной техники другим странам. Компьютеры с
производительностью свыше 10 000 млн. теоретических операций в сек.
(MTOPS), согласно определению Госдепартамента США, считаются
суперкомпьютерами.
Более корректно перечислить основные признаки, характеризующие суперЭВМ,
среди которых кроме высокой производительности следует отметить:
. самый современный технологический уровень (например, 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 или
N^5, где N условно характеризует размер молекулы. Сейчас многие
молекулярные системы вынужденно исследуются в упрощенном модельном
представлении. Имея в резерве еще более крупные молекулярные образования
(биологические системы, кластеры и т.д.), квантовая химия дает пример
приложения, являющегося "потенциально бесконечным" пользователем
суперкомпьютерных ресурсов.
Есть еще одна проблема применения суперЭВМ, о которой необходимо сказать -
это визуализация данных, полученных в результате выполнения расчетов.
Часто, например, при решении дифференциальных уравнений методом сеток,
приходится сталкиваться с гигантскими объемами результатов, которые в
числовой форме человек просто не в состоянии обработать. Здесь во многих
случаях необходимо обратиться к графической форме представления информации.
В любом случае возникает задача транспортировки информации по компьютерной
сети. Решению этого комплекса проблем в последнее время уделяется все
большее внимание. В частности, знаменитый Национальный центр
суперкомпьютерных приложений США (NCSA) совместно с компанией Silicon
Graphics ведет работы по программе "суперкомпьютерного окружения будущего".
В этом проекте предполагается интегрировать возможности суперкомпьютеров
POWER CHALLENGE и средств визуализации компании SGI со средствами
информационной супермагистрали.
Суперкомпьютеры в России
СуперЭВМ являются национальным достоянием, и их разработка и производство
несомненно должны быть одним из приоритетов государственной технической
политики стран, являющихся мировыми лидерами в области науки и техники.
Блестящим примером глубокого понимания всего комплекса соответствующих
проблем является статья известного нобелевского лауреата в области физики
К. Вильсона. Опубликованная свыше десять лет назад, она и сейчас
представляет интерес для российского читателя.
Практически единственными странами, разрабатывающими и производящими
суперЭВМ в больших масштабах, являются США и Япония. Свои суперкомпьютеры
были созданы в Индии и Китае. Большинство развитых стран, в том числе и ряд
государств Восточной Европы, предпочитают использовать суперкомпьютеры,
произведенные в США и Японии.
Положение с разработками суперкомпьютеров в России, очевидно, оставляет
сегодня желать лучшего. Работы над отечественными суперЭВМ в последние годы
велись сразу в нескольких организациях. Под управлением академика
В.А.Мельникова была разработана векторная суперЭВМ "Электроника 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 года, и вряд ли такие компьютеры
смогут составить основу парка суперЭВМ в создающихся сегодня отечественных
суперкомпьютерных центрах.
Суперкомпьютеры - как это?
Ну что, похоже суперкомпьютеры и в самом деле имеют право на существование.
Теперь нужно прояснить, по всей видимости, основной вертящийся на языке
вопрос - почему они считают так быстро? Вариантов ответа может быть
несколько, среди которых два имеют явное преимущество: развитие элементной
базы и использование новых решений в архитектуре компьютеров.
Попробуем разобраться, какой из факторов является решающим в достижении
современных фантастических показателей производительности. Для разрешения
этого вопроса обратимся к историческим фактам. Известно, что на компьютере
EDSAC (1949 г.), имевшего время такта 2мкс, можно было выполнить 2*n
арифметических операций за 18*n мс, то есть в среднем 100 арифметических
операций в секунду. Сравним с современным суперкомпьютером CRAY C90: время
такта приблизительно 4нс, а пиковая производительность около 1 миллиарда
арифметических операций в секунду.
Что же получается? Производительность компьютеров за этот период выросла в
приблизительно в десять миллионов раз. Уменьшение времени такта является
прямым способом увеличением производительности, однако эта составляющая (с
2мкс до 4нс) в общем объеме дает вклад лишь в 500 раз. Откуда же взялось
остальное? Ответ очевиден - использование новых решений в архитектуре
компьютеров, среди которых основное место занимает принцип параллельной
обработки данных.
Данный принцип, воплощая идею одновременного выполнения нескольких
действий, имеет две разновидности: конвейерность и собственно
параллельность. Оба вида параллельной обработки интуитивно понятны, поэтому
сделаем лишь небольшие пояснения.
Параллельная обработка. Если некое устройство выполняет одну операцию за
единицу времени, то тысячу операций оно выполнит за тысячу единиц. Если
предположить, что есть пять таких же независимых устройств, способных
работать одновременно, то ту же тысячу операций система из пяти устройств
может выполнить уже не за тысячу, а за двести единиц времени. Аналогично
система из N устройств ту же работу выполнит за 1000/N единиц времени.
Подобные аналогии можно найти и в жизни: если один солдат вскопает огород
за 10 часов, то рота солдат из пятидесяти человек с такими же
способностями, работая одновременно, справятся с той же работой за 12 минут
- принцип параллельности в действии!
Конвейерная обработка. Что необходимо для сложения двух вещественных чисел,
представленных в форме с плавающей запятой? Целое множество мелких операций
таких, как сравнение порядков, выравнивание порядков, сложение мантисс,
нормализация и т.п. Процессоры первых компьютеров выполняли все эти
"микрооперации" для каждой пары аргументов последовательно одна за одной до
тех пор, пока не доходили до окончательного результата, и лишь после этого
переходили к обработке следующей пары слагаемых.
Идея конвейерной обработки заключается в выделении отдельных этапов
выполнения общей операции, причем каждый этап, выполнив свою работу,
передавал бы результат следующему, одновременно принимая новую порцию
входных данных. Получаем очевидный выигрыш в скорости обработки за счет
совмещения прежде разнесенных во времени операций. Предположим, что в
операции можно выделить пять микроопераций, каждая из которых выполняется
за одну единицу времени. Если есть одно неделимое последовательное
устройство, то 100 пар аргументов оно обработает за 500 единиц. Если каждую
микрооперацию выделить в отдельный этап (или иначе говорят - ступень)
конвейерного устройства, то на пятой единице времени на разной стадии
обработки такого устройства будут находится первые пять пар аргументов, а
весь набор из ста пар будет обработан за 5+99=104 единицы времени -
ускорение по сравнению с последовательным устройством почти в пять раз (по
числу ступеней конвейера).
Казалось бы конвейерную обработку можно с успехом заменить обычным
параллелизмом, для чего продублировать основное устройство столько раз,
сколько ступеней конвейера предполагается выделить. В самом деле, пять
устройств предыдущего примера обработают 100 пар аргументов за 100 единиц
времени, что быстрее времени работы конвейерного устройства! В чем же дело?
Ответ прост, увеличив в пять раз число устройств, мы значительно
увеличиваем как объем аппаратуры, так и ее стоимость. Представьте себе, что
на автозаводе решили убрать конвейер, сохранив темпы выпуска автомобилей.
Если раньше на конвейере одновременно находилась тысяча автомобилей, то
действуя по аналогии с предыдущим примером надо набрать тысячу бригад,
каждая из которых (1) в состоянии полностью собрать автомобиль от начала до
конца, выполнив сотни разного рода операций, и (2) сделать это за то же
время, что машина прежде находилась на конвейере. Сегодня параллелизмом в
архитектуре компьютеров уже мало кого удивишь. Все современные
микропроцессоры, будь то Pentium II или PA-8200, MIPS R10000 или Power2
SuperChip используют тот или иной вид параллельной обработки. На
презентациях новых чипов и в пресс-релизах корпораций это преподносится как
последнее слово техники и передовой край науки, и это действительно так,
если рассматривать реализацию этих принципов именно в рамках одного
кристалла.
Вместе с тем, сами эти идеи появились очень давно. Изначально они
внедрялись в самых передовых, а потому единичных, компьютерах своего
времени. Затем после должной отработки технологии и удешевления
производства они спускались в компьютеры среднего класса, и, наконец,
сегодня все это в полном объеме воплощается в рабочих станциях и
персональных компьютерах.
Все новое - это хорошо забытое старое.
Для того чтобы убедиться, что все основные нововведения в архитектуре
современных процессоров на самом деле использовались еще со времен, когда
ни микропроцессоров, ни понятия суперкомпьютеров еще не было, совершим
маленький экскурс в историю, начав практически с момента рождения первых
ЭВМ.
Все самые первые компьютеры, например, EDSAC, EDVAC, UNIVAC, сначала
считывали данные последовательно бит за битом из памяти, а затем их
аналогично обрабатывали в арифметическом устройстве.
1953 г. Первым коммерчески доступным компьютером, использующим разрядно-
параллельную память (на CRT) и разрядно-параллельную арифметику, стал
компьютер IBM 701. К слову будет сказано, наибольшую популярность в то
время получила модель IBM 704 (1955 г.), проданной в количестве 150
экземпляров (!), в которой, помимо упомянутых особенностей, была впервые
применена память на ферритовых сердечниках и аппаратное арифметическое
устройство с плавающей точкой.
1958г. Процессоры первых компьютеров сами управляли вводом/выводом. Однако
скорость работы самого быстрого внешнего устройства, а по тем временам это
магнитная лента, была в 1000 раз меньше скорости процессора, поэтому во
время операций ввода/вывода процессор фактически простаивал. В 1958г. к
компьютеру IBM 704 присоединили 6 независимых процессоров ввода/вывода,
которые после получения команд могли работать параллельно с основным
процессором, а сам компьютер переименовали в IBM 709. Данная модель
получилась удивительно удачной, так как вместе с модификациями было продано
около 400 экземпляров, причем последний был выключен в 1975 году - 20 лет
существования!
1961г. Создается компьютер IBM STRETCH, имеющий две принципиально важные
особенности: опережающий просмотр вперед для выборки команд и расслоение
памяти на два банка для согласования низкой скорости выборки из памяти и
скорости выполнения операций.
1963г. В Манчестерском университете разработан компьютер ATLAS,
использующий конвейерный принцип выполнения команд. Выполнение команд
разбито на 4 стадии: выборка команды, вычисление адреса операнда, выборка
операнда и выполнение операции, позволившие уменьшить время выполнения
команд в среднем с 6 мкс до 1,6 мкс. Справедливости ради надо отметить, что
данный компьютер вообще оставил заметный след в истории развития
вычислительной техники: помимо сказанного, в нем впервые была использована
мультипрограммная операционная система, основанная на использовании
виртуальной памяти и системы прерываний.
1964г. Фирма Control Data Corporation (CDC) при непосредственном участии
одного из ее основателей, Сеймура Р.Крэя (Seymour R.Cray) выпускает
компьютер CDC-6600 - первый компьютер, в котором использовалось несколько
независимых функциональных устройств. Для сравнения с сегодняшним днем
приведем некоторые параметры компьютера: время такта 100нс,
производительность 2-3 млн. операций в секунду, оперативная память разбита
на 32 банка по 4096 60-ти разрядных слов, цикл памяти 1мкс, 10 независимых
функциональных устройств. Машина имела громадный успех на научном рынке,
активно вытесняя машины фирмы IBM.
1969г. CDC выпускает компьютер CDC-7600 с восемью независимыми конвейерными функциональными устройствами - сочетание параллельной и конвейерной обработки.
Матричные суперкомпьютеры
В 1967 г. группа Слотника, объединенная в Центр передовых вычислительных
технологий (Center of Advanced Computation) при Иллинойском университете,
приступила к практической реализации проекта векторной суперЭВМ с матричной
структурой ILLIAC IV. Работы финансировались Министерством обороны США, а
изготовление машины взяла на себя фирма Burroughs Corp. Техническая сторона
проекта до сих пор поражает своей масштабностью: система должна была
состоять из четырех квадрантов, каждый из которых включал в себя 64
процессорных элемента (ПЭ) и 64 модуля памяти, объединенных коммутатором на
базе сети типа гиперкуб. Все ПЭ квадранта обрабатывают векторную
инструкцию, которую им направляет процессор команд, причем каждый выполняет
одну элементарную операцию вектора, данные для которой сохраняются в
связанном с этим ПЭ модуле памяти. Таким образом, один квадрант ILLIAC IV
способен одновременно обработать 64 элемента вектора, а вся система из
четырех квадрантов - 256 элементов.
В 1972 г., после преодоления значительных проблем, связанных с практической
реализацией проекта на аппаратном и программном уровнях, первая система
ILLIAC IV была установлена в исследовательском центре NASA в Эймсе.
Результаты ее эксплуатации в этой организации получили неоднозначную
оценку. С одной стороны, использование суперкомпьютера позволило решить ряд
сложнейших задач аэродинамики, с которыми не могли справиться другие ЭВМ.
Даже самая скоростная ЭВМ для научных исследований того времени - Control
Data CDC 7600, которую, к слову сказать, проектировал "патриарх суперЭВМ"
Сеймур Крей (S.Cray), могла обеспечить производительность не более 5 млн.
операций с плавающей точкой в секунду (MFLOPS), тогда как ILLIAC IV
демонстрировала среднюю производительность примерно в 20 MFLOPS.
С другой стороны, ILLIAC IV так и не была доведена до полной конфигурации
из 256 ПЭ; практически разработчики ограничились лишь одним квадрантом.
Причинами явились не столько технические сложности в наращивании числа
процессорных элементов системы, сколько проблемы, связанные с
программированием обмена данными между процессорными элементами через
коммутатор модулей памяти. Все попытки решить эту задачу с помощью
системного программного обеспечения потерпели неудачу, в результате каждое
приложение требовало ручного программирования передач коммутатора, что и
породило неудовлетворительные отзывы пользователей.
Если бы разработчикам ILLIAC IV удалось преодолеть проблемы
программирования матрицы процессорных элементов, то, вероятно, развитие
вычислительной техники пошло бы совершенно другим путем и сегодня
доминировали бы компьютеры с матричной архитектурой.
Однако ни в 60-х годах, ни позднее удовлетворительное и универсальное
решение двух таких принципиальных проблем, как программирование
параллельной работы нескольких сотен процессоров и при этом обеспечение
минимума затрат счетного времени на обмен данными между ними, так и не было
найдено. Выдвинув пионерскую задачу создания компьютера сверхвысокой
производительности, разработчики ILLIAC IV первыми же оказались не в
состоянии ответить на эти два принципиальных вопроса. Потребовалось еще
примерно 15 лет усилий различных фирм по реализации суперЭВМ с матричной
архитектурой, чтобы поставить окончательный диагноз: компьютеры данного
типа не в состоянии удовлетворить широкий круг пользователей и имеют весьма
ограниченную область применения, часто в рамках одного или нескольких видов
задач (например, в системах обработки изображений, как ЭВМ STARAN фирмы
Goodyear Aerospace). "Лебединой песней" матричных суперЭВМ стал компьютер
BSP производства Burroughs, который проектировался как альтернатива
векторно-конвейерным суперЭВМ фирмы Cray Research, но так и не увидел свет
из-за очевидной неконкурентоспособности системы. Конечно, было бы большой
ошибкой утверждать, что развитие суперЭВМ с матричной архитектурой не дало
никаких положительных результатов. Во-первых, удалось доказать возможность
практической реализации параллельной сверхскоростной обработки. Во-вторых,
на волне интереса к матричным структурам была сформулирована достаточно
стройная теоретическая база для построения коммутационных сетей,
объединяющих множество процессорных элементов. В-третьих, в прикладной
математике сформировалось самостоятельное направление по параллельным
вычислениям. По мере освоения средств сверхскоростной обработки данных
разрыв между совершенствованием методов векторизации программ, т.е.
автоматического преобразования в процессе компиляции последовательных
языковых конструкций в векторную форму, и чрезвычайной сложностью
программирования коммутации и распределения данных между процессорными
элементами привел к достаточно жесткой реакции пользователей в отношении
матричных суперЭВМ - широкому кругу программистов требовалась более простая
и "прозрачная" архитектура векторной обработки с возможностью использования
стандартных языков высокого уровня типа FORTRAN. Решение было найдено в
конце 60-х годов, когда фирма Control Data, с которой в то время
сотрудничал Крей, представила машину STAR-100, основанную на векторно-
конвейерном принципе обработки данных. Отличие векторно-конвейерной
технологии от архитектуры матричных ЭВМ заключается в том, что вместо
множества процессорных элементов, выполняющих одну и ту же команду над
разными элементами вектора, применяется единственный конвейер операций,
принцип действия которого полностью соответствует классическому конвейеру
автомобильных заводов Форда. Если в матричном компьютере процессорные
элементы можно представить как группу рабочих- универсалов, каждый из
которых собирает автомобиль от шасси до обивки салона, то векторно-
конвейерная обработка ассоциируется с бригадой узких специалистов, один из
которых умеет привинчивать колеса, другой - устанавливать двигатель, третий
- монтировать корпус, и т.д. Подобно автомобильному конвейеру Форда,
векторно-конвейерная обработка способна обеспечить высокий темп выхода
готовой продукции - результатов выполняемых операций, если каждый из
"рабочих" (т. е. аппаратных блоков конвейера операций) выполняет порученную
ему фазу команды с максимальной скоростью. Даже такая архаичная по
современным понятиям суперЭВМ, как STAR- 100, показала предельную
производительность на уровне 50 MFLOPS, что недоступно для большинства
современных мэйнфреймов. При этом существенно, что векторно-конвейерные
суперЭВМ значительно дешевле своих матричных "родственников". К примеру,
разработка и производство ILLIAC IV обошлись в 40 млн. долл. при расходах
на эксплуатацию порядка 2 млн. долл. в год, тогда как рыночная стоимость
первых суперкомпьютеров фирм CRAY и Control Data находилась в пределах 10 -
15 млн. долл., в зависимости от объема памяти, состава периферийных
устройств и других особенностей конфигурации системы.
Второй существенной особенностью векторно-конвейерной архитектуры является
то, что конвейер операций имеет всего один вход, по которому поступают
операнды, и один выход результата, тогда как в матричных системах
существует множество входов по данным в процессорные элементы и множество
выходов из них. Другими словами, в компьютерах с конвейерной обработкой
данные всех параллельно исполняемых операций выбираются и записываются в
единую память, в связи с чем отпадает необходимость в коммутаторе
процессорных элементов, ставшем камнем преткновения при проектировании
матричных суперЭВМ.
В 1972 году С.Крэй покидает CDC и основывает свою компанию Cray Research,
которая в 1976г. выпускает первый векторно-конвейерный компьютер CRAY-1:
время такта 12.5нс, 12 конвейерных функциональных устройств, пиковая
производительность 160 миллионов операций в секунду, оперативная память до
1Мслова (слово - 64 разряда), цикл памяти 50нс. Главным новшеством является
введение векторных команд, работающих с целыми массивами независимых данных
и позволяющих эффективно использовать конвейерные функциональные
устройства.
На этом означенный экскурс в историю можно смело закончить, поскольку роль
параллелизма и его влияние на развитие архитектуры компьютеров уже
очевидна.
Архитектура современных суперЭВМ
Рассмотрим типичные архитектуры суперЭВМ, широко распространенных сегодня,
и приведем классическую систематику Флинна.
В соответствии с ней, все компьютеры делятся на четыре класса в зависимости
от числа потоков команд и данных. К первому классу (последовательные
компьютеры фон Неймана) принадлежат обычные скалярные однопроцессорные
системы: одиночный поток команд - одиночный поток данных (SISD).
Персональный компьютер имеет архитектуру SISD, причем не важно,
используются ли в ПК конвейеры для ускорения выполнения операций.
Второй класс характеризуется наличием одиночного потока команд, но
множественного nomoka данных (SIMD). К этому архитектурному классу
принадлежат однопроцессорные векторные или, точнее говоря, векторно-
конвейерные суперкомпьютеры, например, Cray-1. В этом случае мы имеем дело
с одним потоком (векторных) команд, а потоков данных - много: каждый
элемент вектора входит в отдельный поток данных. К этому же классу
вычислительных систем относятся матричные процессоры, например, знаменитый
в свое время ILLIAC-IV. Они также имеют векторные команды и реализуют
векторную обработку, но не посредством конвейеров, как в векторных
суперкомпьютерах, а с помощью матриц процессоров.
К третьему классу - MIMD - относятся системы, имеющие множественный поток
команд и множественный поток данных. К нему принадлежат не только
многопроцессорные векторные суперЭВМ, но и вообще все многопроцессорные
компьютеры. Подавляющее большинство современных суперЭВМ имеют архитектуру
MIMD.
Четвертый класс в систематике Флинна, MISD, не представляет практического
интереса,по крайней мере для анализируемых нами компьютеров. В последнее
время в литературе часто используется также термин SPMD (одна программа -
множественные данные). Он относится не к архитектуре компьютеров, а к
модели распараллеливания программ и не является расширением систематики
Флинна. SPMD обычно относится к MPP (т.е. MIMD) - системам и означает, что
несколько копий одной программы параллельно выполняются в разных
процессорных узлах с разными данными.
Интересно также упомянуть о принципиально ином направлении в развитии
компьютерных архитектур - машинах потоков данных. В середине 80-х годов
многие исследователи полагали, что будущее высокопроизводительных ЭВМ
связано именно с компьютерами, управляемыми потоками данных, в отличие от
всех рассмотренных нами классов вычислительных систем, управляемых потоками
команд. В машинах потоков данных могут одновременно выполняться сразу много
команд, для которых готовы операнды. Хотя ЭВМ с такой архитектурой сегодня
промышленно не выпускаются, некоторые элементы этого подхода нашли свое
отражение в современных суперскалярных микропроцессорах, имеющих много
параллельно работающих функциональных устройств и буфер команд, ожидающих
готовности операндов. В качестве примеров таких микропроцессоров можно
привести HP РА-8000 и Intel Pentium Pro.
В соответствии с классификацией Флинна, рассмотрение архитектуры суперЭВМ
следовало бы начать с класса SISD. Однако все векторно-конвейерные (в
дальнейшем - просто векторные) суперЭВМ имеют архитектуру "не меньше" SIMD.
Что касается суперкомпьютерных серверов, использующих современные
высокопроизводительные микропроцессоры, таких как SGI POWER CHALLENGE на
базе R8000 или DEC AlphaServer 8200/8400 на базе Alpha 21164, то их
минимальные конфигурации бывают однопроцессорными. Однако, если не
рассматривать собственно архитектуру этих микропроцессоров, то все
особенности архитектуры собственно серверов следует анализировать в
"естественной" мультипроцессорной конфигурации. Поэтому начнем анализ
суперкомпьютерных архитектур сразу с класса SIMD.
Векторные суперкомпьютеры [SIMD]
Среди современных суперЭВМ эту архитектуру имеют однопроцессорные векторные
суперкомпьютеры. Практически все они выпускаются также в мультипроцессорных
конфигурациях, относящихся к классу MIMD. Однако многие особенности
архитектуры векторных суперЭВМ можно понять, рассматривая даже
однопроцессорные системы.
Типичная схема однопроцессорного векторного суперкомпьютера представлена на
примере FACOM VP-200 японской фирмы Fujitsu . Похожую архитектуру имеют и
другие векторные суперкомпьютеры, например, фирм Cray Research и Convex .
Общим для всех векторных суперкомпьютеров является наличие в системе команд
векторных операций, например, сложение векторов, допускающих работу с
векторами определенной длины, допустим, 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 , а также все векторные компьютеры как от 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 и SGI POWER CHALLENGE . Для них
характерно применение высокопроизводительной системной шины, в слоты
которой вставляются модули трех типов - процессорные, оперативной памяти и
ввода-вывода. Обычные, более медленные шины ввода-вывода, например, 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 . Однако почти
все сказанное в данном разделе сохраняет силу и в этом случае.
Кластеры [MIMD]
Кластеры являются самым дешевым способом наращивания производительности уже
инсталлированных компьютеров. Фактически кластер представляет собой набор
из нескольких ЭВМ, соединенных через некоторую коммуникационную
инфраструктуру. В качестве такой структуры может выступать обычная
компьютерная сеть, однако из соображений повышения производительности
желательно иметь высокоскоростные соединения (FDDI/ATM/HiPPI и т.п.).
Кластеры могут быть образованы как из различных компьютеров (гетперогенные
кластеры), так и из одинаковых (гомогенные кластеры). Очевидно, что все
такие системы относятся к классу MIMD. Кластеры являются классическим
примером слабо связанных систем.
Преимуществом кластерного подхода по сравнению с SMP-серверами является
улучшение возможностей масштабирования. В отличие от серверов SMP-
архитектуры, где наращивание конфигурации ограничено пропускной
способностью шины, добавление компьютеров в кластер позволяет увеличивать
пропускную способность оперативной памяти и подсистем ввода-вывода.
В кластерных системах для организации взаимодействия между процессами,
выполняющимися на разных компьютерах при решении одной задачи, применяются
различные модели обмена сообщениями (PVM, MPI и т.п.). Однако задача
распараллеливания в таких системах с распределенной между отдельными
компьютерами памятью в рамках этих моделей является гораздо более сложной,
чем в модели общего поля памяти, как например, в SMP-серверах. К этому
следует добавить чисто аппаратные проблемы наличия задержек при обменах
сообщениями и повышения скорости передачи данных. Поэтому спектр задач,
которые могут эффективно решаться на кластерных системах, по сравнению с
симметричными сильно связанными системами достаточно ограничен. Для
параллельной обработки запросов к базам данных в подобных системах также
имеются свои собственные подходы.
В кластеры могут объединяться различные суперкомпьютеры, например,
минисуперЭВМ Сгау J90, однако наиболее известными кластерами в мире
суперЭВМ являются IBM SP2 и SGI POWER CHAL ENGEarray. Возможность наличия
большого числа процессорных узлов в SP2 позволяет одновременно отнести этот
компьютер и к классу MPP-систем.
МРР-системы (MIMD)
Основным признаком, по которому систему относят к архитектуре MPP, является
число процессоров (n). Строгой границы не существует, но обычно считается,
что при n >= 128 - это уже МРР, а при n