Проблемы параллельных вычислений. Часть 4.

Суть архитектуры машин фирмы FPS можно кратко изложить следующим образом. Система управляется командой достаточно большого размера (64 разряда), в которой явно предусмотрен запуск нескольких арифметических устройств, входящих в машину. При этом для каждого арифметического устройства выделены постоянные разряды в команде. Также явно вместе с запуском арифметических устройств предусмотрено обращение к оперативной памяти и запись или считывание в быстрые регистры. Для каждого такого действия предусмотрены свои разряды в команде. Таким образом, система позволяет программисту или транслятору явно распараллеливать как векторные, так и скалярные выражения. Так как распараллеливание явное, вопрос оптимизации загрузки устройств передается транслятору или программисту.

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

С точки зрения получения высокой эффективности очень важно, что при программировании на этой машине нет необходимости векторизовать выражение. Разумеется, если задача представлена в более параллель ном на уровне операций виде, то это облегчит получение лучшего объектного кода. Машины фирмы FPS имеют достаточно высокую архитектурную скорость. Ее грубо можно оценить Следующим образом. Если взять машину Cray-1, архитектурную скорость можно характеризовать пиковой и реальной производительностью.

Пиковая производительность обычно считается следующим образом. В рассматриваемой машине примерно 10 функциональных устройств с тактом синхронизации 12,5 нс. Пиковая производительность определяется тем, что в каждый такт запускаются два устройства (2 флоп/такт или 160 Мфлоп/с).

Реальная производительность, оцененная пользователем, в частности Ливерморской лабораторией в США, получается из пиковой делением на 5 - 7.

Для машин фирмы FPS, имеющих два арифметических устройства, загружаемых каждый такт (160 нс), пиковая производительность определяется исходя из загрузки двух устройств каждый такт и составляет 2 Мфлоп/с (2 флоп/такт). При расчете реальных задач, например в Институте космических исследований АН СССР, достигается производительность в 8 Мфлоп/с (1/3 флоп/такт). Таким образом, для получения реальной производительности пиковую производительность следует разделить всего на 1,5.