Архитектура современных суперЭВМРефераты >> Программирование и компьютеры >> Архитектура современных суперЭВМ
Архитектура современных суперЭВМ
Приведем классическую систематику Флинна.
В соответствии с ней, все компьютеры делятся на четыре класса в зависимости от числа потоков команд и данных. К первому классу (последовательные компьютеры фон Неймана) принадлежат обычные скалярные однопроцессорные системы: одиночный поток команд - одиночный поток данных (SISD). Персональный компьютер имеет архитектуру SISD, причем не важно, используются ли в ПК конвейеры для ускорения выполнения операций.
Второй класс характеризуется наличием одиночного потока команд, но множественного nomoka данных (SIMD). К этому архитектурному классу принадлежат однопроцессорные векторные или, точнее говоря, векторно-конвейерные суперкомпьютеры, например, Cray-1. В этом случае мы имеем дело с одним потоком (векторных) команд, а потоков данных - много: каждый элемент вектора входит в отдельный поток данных. К этому же классу вычислительных систем относятся матричные процессоры, например, знаменитый в свое время
ILLIAC-IV. Они также имеют векторные команды и реализуют векторную обработку, но не посредством конвейеров, как в векторных суперкомпьютерах, а с помощью матриц процессоров.
К третьему классу - MIMD - относятся системы, имеющие множественный поток команд и множественный поток данных. К нему принадлежат не только многопроцессорные векторные суперЭВМ, но и вообще все многопроцессорные компьютеры. Подавляющее большинство современных суперЭВМ имеют архитектуру MIMD.
Четвертый класс в систематике Флинна, MISD, не представляет практического интереса,по крайней мере для анализируемых нами компьютеров. В последнее время в литературе часто используется также термин SPMD (одна программа - множественные данные). Он относится не к архитектуре компьютеров, а к модели распараллеливания программ и не является расширением систематики Флинна. SPMD обычно относится к MPP (т.е. MIMD) - системам и означает, что несколько копий одной программы параллельно выполняются в разных процессорных узлах с разными данными.
Векторные суперкомпьютеры [SIMD]
Среди современных суперЭВМ эту архитектуру имеют однопроцессорные векторные суперкомпьютеры. Типичная схема однопроцессорного векторного суперкомпьютера представлена на примере FACOM VP-200 японской фирмы Fujitsu . Похожую архитектуру имеют и другие векторные суперкомпьютеры, например, фирм Cray Research и Convex . Общим для всех векторных суперкомпьютеров является наличие в системе команд векторных операций, например, сложение векторов, допускающих работу с векторами определенной длины, допустим, 64 элемента по 8 байт. В таких компьютерах операции с векторами обычно выполняются над векторными регистрами, что, однако, совсем не является обязательным. Наличие регистров маски позволяет выполнять векторные команды не над всеми элементами векторов, а только над теми, на которые указывает маска.
Со времен 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, была введена промежуточная кэш-память для скалярных операций. Отметим, что на тракте оперативная память - векторные регистры промежуточная буферная память отсутствует, что вызывает необходимость иметь высокую пропускную способность подсистемы оперативной памяти: чтобы поддерживать высокую скорость вычислений, необходимо быстро загружать данные в векторные регистры и записывать результаты обратно в память. Но некоторые векторные суперЭВМ, например, IBM ES/9000, работают с операндами-векторами, расположенными непосредственно в оперативной памяти. Скорее всего, такой подход является менее перспективным с точки зрения производительности, в частности, потому, что для поддержания высокого темпа вычислений для каждой векторной команды требуется быстрая выборка векторных операндов из памяти и запись результатов обратно.
Многопроцессорные векторные суперкомпьютеры (MIMD)
В архитектуре многопроцессорных векторных компьютеров можно отметить две важнейшие характеристики: симметричность (равноправность) всех процессоров системы и разделение всеми процессорами общего поля оперативной памяти. Подобные компьютерные системы называются сильно связанными. Если в однопроцессорных векторных ЭВМ для создания эффективной программы ее надо векторизовать, то в многопроцессорных появляется задача распараллеливания программы для ее выполнения одновременно на нескольких процессорах.
Задача распараллеливания является, пожалуй, более сложной,поскольку в ней необходимо организовать синхронизацию параллельно выполняющихся процессов. Практика показала возможности эффективного распараллеливания большого числа алгоритмов для рассматриваемых сильно связанных систем. Соответствующий подход к распараллеливанию на таких компьютерах называется иногда моделью разделяемой общей памяти.
Производительность некоторых современных микропроцессоров RISC-архитектуры стала сопоставимой с производительностью процессоров векторных компьютеров. Как следствие этого, появились использующие эти достижения суперЭВМ новой архитектуры, - сильно связанные компьютеры класса MIMD, представляющие собой симметричные многопроцессорные серверы с общим полем оперативной памяти. В модулях памяти обычно используется технология DRAM, что позволяет достигнуть больших объемов памяти при относительно низкой цене. Однако скорость обмена данными между процессорами и памятью в таких серверах во много раз ниже, чем пропускная способность аналогичного тракта в векторных суперЭВМ, где оперативная память строится на более дорогой технологии ЯВАМ. В этом состоит одно из основных отличий в подходах к суперкомпьютерным вычислениям, применяемым для многопроцессорных векторных ЭВМ и SMP-серверов. В первых обычно имеется относительно небольшое число векторных регистров, поэтому, как уже отмечалось, для поддержания высокой производительности необходимо быстро загружать в них данные или, наоборот, записывать из них информацию в оперативную память. Таким образом, требуется высокая производительность тракта процессор-память.