Сенсация

 

Российская мультипроцессорная система в конце года продана Национальной ядерной лаборатории США

 

Хотя известные западные компании достаточно давно и прочно обосновались на российском рынке вычислительной техники, сообщений о поставках суперкомпьютеров российским потребителям пока нет.

 

На этом фоне недавняя продажа российской мультипроцессорной системы МП-3 Ливерморской национальной лаборатории им. Лоуренса (США) выглядит весьма впечатляюще.

 

По нашим сведениям, в России сегодня существует не более пяти в разной степени “живых” команд, занимающихся разработкой суперкомпьютеров. В ближайших номерах PC Week/RE мы планируем рассказать о достижениях некоторых из них.

 

Мультипроцессор МП-3, созданный в Российском федеральном ядерном центре  -  Всероссийском научно-исследовательском институте экспериментальной физики (РФЯЦ-ВНИИЭФ, Арзамас-16), был представлен на выставке “Информатика-95”, после чего наш корреспондент встретился с разработчиками МП-3, сотрудниками РФЯЦ-ВНИИЭФ  А. Лякишевым, В. Новичихиным, С. Степаненко и совместно с ними подготовил серию статей об элементной базе и программном обеспечении этой и других разработок, выполняемых в ядерном центре.

 

Начало знакомства

 

Когда в 1989 году фирмой Intel был анонсирован новый RISC-процессор  -  i80860, ему прочили большое будущее. Это был первый микропроцессор, содержавший более 1млн. транзисторов на кристалле. Он совместим с промышленным стандартом ANSI/IEEE 754-1985 для арифметики с плавающей запятой, а формат данных и механизм управления виртуальной памятью соответствуют микропроцессорам i386/i486. Первым в семействе i860 появился микропроцессор i80860 XR, имевший рабочую тактовую частоту 33,3 и 40 МГц, а затем и i80860XP, обладающий расширенными возможностями и работающий на частоте до 50 МГц.

 

Этот микропроцессор намного опередил свое время и по многим параметрам (редкий случай!) и сегодня не уступает микропроцессорам, созданным значительно позже. Он имеет внешнюю 64-разрядную шину данных и 32-разрядную шину адреса, работает на тактовой частоте от 33,3 до 50 МГц, основан на параллельной RISC-архитектуре, поддерживающей до трех операций за один такт (одна команда целочисленной арифметики или управления и до двух команд с плавающей запятой).

 

Он содержит на кристалле: 32-разрядное устройство целочисленной арифметики и управления, 32/64-разрядные конвейерные сумматор с плавающей точкой и умножитель, 64-разрядное устройство трехмерной графики, устройство страничного обращения к памяти и буфер ассоциативной трансляции, 4 Кб кэш команд и 8 Кб кэш данных.

 

Из основных технических “изюминок” этого процессора можно отметить:

 

- двухвходовые множественные ассоциативные кэши команд и данных;

 

- использование механизма “обратной записи” в кэше данных;

 

- возможность эмуляции векторных регистров в кэше данных;

 

- поддержка векторных операций при помощи двухкомандного режима;

 

- внутреннюю 128-разрядную шину кэша данных;

 

- малую рассеиваемую мощность;

 

- поддержку мультипроцессорного режима работы.

 

Система команд i860 расширена по сравнению с обычными RISC-процессорами, но именно это и помогает ему выполнять расчеты с плавающей запятой максимально быстро. Его производительность достигает для i860XR на частоте 40 МГц 120 млн. операций в секунду (40 MIPS + 80 MFLOPS) при вычислениях с одинарной точностью и 100 млн. операций в секунду (40 MIPS + 60 MFLOPS) при вычислениях с двойной точностью, для ХР на частоте 50 МГц  -  150 и 125 млн. операций в секунду соответственно. На стандартных тестах Dhyrstones и Whetstones XR показывает скорость 89126 Dhyrstones/с и 30 Mwhetstones/c.

 

Но при всех своих достоинствах микропроцессор i860 программно не совместим с основной продукцией фирмы Intel  -  микропроцессорами ряда i80x86. Существовавшее программное обеспечение, ориентированное на i80x86, не могло быть использовано с этим микропроцессором. Построение эффективных программ для него требовало высококачественных компиляторов, полностью использующих особенности его архитектуры. Программы ядра операционной системы и поддержки интерфейса с пользователем слабо используют процессор с плавающей точкой, выдвигают повышенные требования к целочисленной обработке и скорости вызова подпрограмм, кроме того, от центрального процессора они требуют малого времени реакции на прерывания.

 

Требования высокоскоростной обработки данных и быстрой обработки исключительных ситуаций являются взаимно противоречивыми. Высокоскоростная обработка данных, характерная для i860, обеспечивается благодаря глубокому распараллеливанию вычислений и конвейеризации, а высокая скорость обработки прерываний может быть достигнута в системах, имеющих простую вычислительную часть и аппаратные средства для поддержки сохранения программного контекста. Поэтому очень быстро определилась его основная сфера применения  -  в качестве сопроцессора или ускорителя в составе ПК или в качестве основного процессора в мультипроцессорных системах с массовым параллелизмом.

 

ИЗ ИСТОРИИ

 

Известны разработки системных плат, например фирмы Hauppauge Computer Works, где i860 использовался в качестве сопроцессора под управлением системного центрального процессора i386/i486. Таким образом можно решить проблему программной совместимости и повышения вычислительной мощности на одной плате.

 

Большинство же фирм пошли по пути создания вычислительных модулей-акселераторов, устанавливаемых в разъем стандартной системной шины расширения типа ISA, EISA и т. п. Модуль-акселератор имеет свою системную часть, свою оперативную память и блок интерфейса для той или иной системной шины расширения. Такой модуль отображается на пространство ввода-вывода и памяти конкретной аппаратной платформы.

 

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

 

На сегодняшний день имеется и производится немало модулей-акселераторов различных фирм, например Microway, Alacron и др. Количество процессоров в этих модулях составляет от 1 до 4 при объеме оперативной памяти до 256 Мб, причем в корпусе одного ПК может размещаться несколько таких модулей, работающих параллельно. Одним из представителей этого класса акселераторов является QuadPuter-860 фирмы Microway, содержащий 4 процессора i860XR и имеющий производительность 200 MFLOPS. Он может работать в PC AT совместимых системах, имеющих системную шину EISA, под управлением Extended DOS, OS/2, Windows NT, UNIX V.3/4, Solaris и др. Программное обеспечение для систем на основе i860 включает векторизующие и оптимизирующие компиляторы языков Фортран и Си фирм Microway, MetaWare, Portland Group и др.

 

В настоящее время микропроцессор i860 благодаря высокой производительности при обработке данных с плавающей точкой доминирует на рынке VME-плат цифровой обработки сигналов. По данным фирмы Venture Development Corp., к началу 1995 г. доля продаж систем на основе i860 составляла 62,6 процента всех продаж на этом рынке. Платы и системы на его основе производятся фирмами Alacron, CSPI, Sky Computers и др.

 

(Продолжение в следующем номере)

Версия для печати