Смекни!
smekni.com

Суперкомпьютеры (стр. 4 из 6)

Второй существенной особенностью векторно-конвейерной архитектуры является то, что конвейер операций имеет всего один вход, по которому поступают операнды, и один выход результата, тогда как в матричных системах существует множество входов по данным в процессорные элементы и множество выходов из них. Другими словами, в компьютерах с конвейерной обработкой данные всех параллельно исполняемых операций выбираются и записываются в единую память, в связи с чем отпадает необходимость в коммутаторе процессорных элементов, ставшем камнем преткновения при проектировании матричных суперЭВМ.

В 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.