Следует отметить, что в приведенном широком классе ММПС особое место занимают проблемно-ориентированные ММПС для цифровой обработки сигналов (ЦОС). Этот класс МППС решает широкий круг задач, связанных с распознаванием образов, моделированием нейронов мозга, гидро- и радиолокационных задач, сейсмографии, радиофизики и т.п.
Главным архитектурным различием между традиционным ЭВМ, предназначенными для обработки коммерческой информации, является что, что мини-, супер-мини-, универсальные и мегауниверсальные ЭВМ имеют, главным образом, скалярную архитектуру, а ЭВМ для научных расчетов (супер, мини-супер ЭВМ, матричные процессоры и ММПС ЦОС) – векторную.
Скалярная ЭВМ (рис. 5.1) имеет традиционную фон-неймановскую (т.е. ОКОД) организацию, для которой характерно наличие одной шины данных и последовательное выполнение обработки элементов одиночных данных.
Рис. 5.1. Структура скалярной ЭВМ
Векторная ЭВМ (см. рис. 5.2) имеет в своем составе раздельные векторные процессоры или конвейеры и одна команда выполняется в ней над несколькими элементами данных (векторами).
Рис. 5.2. Структура векторной ЭВМ
Векторные архитектуры - это, в основном, архитектуры типа ОКМД, но некоторые из них относятся к классу МКМД. Векторная обработка увеличивает производительность процессорных элементов, но требует наличия полного параллелизма в ходе обработки задач.
Параллелизм в ММПС может быть использован для повышения их производительности на нескольких уровнях:
- между работами или фазами работы;
- между частями программы или в пределах циклов;
- между элементами векторной операции;
- на уровне арифметических и логических схем.
Первые две категории образуют область, которая может быть названа классом параллельных ММПС, а третья и четвертая являются более «тонкой» формой параллелизма, которая иногда используется в блоках последовательной обработки и часто реализуется с помощью конвейерных процессоров.
Ниже приведены основные архитектурные формы параллельных ММПС, которые используются или создаются в настоящее время.
Архитектура с потоком управления. Суть ее заключается в том, что отдельный управляющий процессор служит для посылки команд множеству процессорных элементов, каждый из которых состоит из процессора и связанной с ним памяти.
Архитектура с потоком данных. Она децентрализована в очень высокой степени и выполняемые ею параллельные команды посылаются вместе с данными в другие (и очень многие) одинаковые процессоры.
Архитектура с управлением по запросам. Она разбивает решаемые задачи на менее сложные подзадачи и результаты их решения снова объединяются для формирования окончательного результата. Команда, которую следует выполнять, определяется, когда ее результат оказывается нужным для другой активной команды.
Архитектура с управлением наборами условий. Работает аналогично предыдущей архитектуре. Типичное применение такой структуры – распознавание изображений с использованием клеточных матриц процессорных элементов.
Архитектура ЭВМ с общей памятью. В ней используется та или иная система межсоединений для объединения процессоров с памятью. Системы межсоединений могут быть конструктивно оформлены в виде шин, колец, кубов, кэшей.
Архитектура с параллельными процессорами. Здесь используется высокая степень параллелизма, которая допускает независимое выполнение нескольких процессов на нескольких процессорах. Для этого класса ММПС широко используемой формой структур параллельной обработки являются гиперкубы, или двоичные n-кубы, в которых между процессорами имеют место двухпунктовые связи для передачи информации между ними (в 16-вершинном кубе каждый процессорный элемент ММПС соединен с четырьмя соседними).
Необходимо отметить, что повышение производительности ММПС, которое может быть достигнуто за счет параллельной обработки, зависит от доли вычислений, которые могут выполняться параллельно. На рис. 5.3 иллюстрируется повышение производительности, которое может быть достигнуто при использовании различного количества процессоров, работающих параллельно, по сравнению с долей Р вычислений, которые могут выполняться параллельно.
Рис. 5.3. Зависимость производительности параллельных процессов от доли вычислений Р, выполняемых параллельно
На рис. 5.4 приведено соотношение между возможностями ММПС по выполнению векторной, параллельной и скалярной обработки информации. Увеличение производительности ММПС, которое достигается за счет использования векторной и параллельной обработки, является весьма существенным, поэтому скорость реализации алгоритмов, в которых заложены обе указанные формы параллелизма, возрастает.
Мультимикропроцессорные системы, которые являются параллельными ЭВМ, строятся из большого числа процессоров, располагающих собственной памятью, и используют широкий спектр связей между процессорами для обмена. Топологии этих МПС могут быть организованы в соответствии со следующими схемами:
- древовидные сети;
- шины;
- конвейеры;
- процессоры БПФ;
- сети перекрестного обмена;
- гиперкубы;
- сетки (решетки) с одним, двумя, тремя или большим числом измерений;
- кольца;
- цилиндры;
- тороиды;
- пирамидальные сети.
Рис. 5.4. Взаимосвязь между векторной, параллельной и скалярной производительностью ММПС
Перечисленные выше структуры сопоставляются по следующим характеристикам: легкость реализации системы на основе существующих устройств, сложность соединительной сети, наличие предпосылок для расширения структуры, сопоставление используемого алгоритма и структуры системы. На рис. 5.5 приведен набор топологических решений для реализации тех или иных алгоритмов.
Древовидные сети подвержены влиянию переменных задержек, которые имеют место при добавлении узлов к поддереву, когда данные у всех узлов одного поддерева должны быть переданы на другое.
Производительность конвейера ограничивается производительностью самого медленного его участка. Кроме этого в конвейере имеют место затраты времени на посылку сообщений из одного каскада в другой.
Для того, чтобы преодолеть ограничения, присущие традиционным сетям связи, разработаны высокопоточные сети. Для параллельной обработки информации предложены три варианта построения высокопоточных сетей: сеть «бабочка»; сеть с перекрестным обменом и гиперкуб.
Рис. 5.5. Виды топологии параллельных ММПС
Сеть «бабочка», разработанная в конце 60-х годов Рабинером и Гоулдом, повышает скорость вычислений при реализации БПФ, которое требует выполнения 4N2 умножений и 4N2 сложений комплексных чисел (на этой сети необходимо повторить алгоритм N/2log2 N раз).
Сеть перекрестного обмена предложена в конце 60-х годов Пизом и Стоуном и представляет собой альтернативный вариант топологии связной сети по отношению к варианту «бабочка» для выполнения БПФ, которое реализуется за log2 N шагов.
Гиперкуб или бинарный N-куб представляет собой теоретическую концепцию, обосновывающую возможность наращивания структуры за пределами трех измерений (см. рис. 5.6).
Рис. 5.6. Топология ММПС “гиперкуб”
N-размерный куб содержит 2N узлов (узловых процессоров). Концепция гиперкуба удобна для описания универсальных матричных ЭВМ, так как многие другие сетевые топологии могут быть отображены на гиперкуб путем отбрасывания некоторых связей.
Сетки (решетки) представляют собой одномерные, двумерные матрицы или матрицы большей размерности. На их основе реализуются систолические или волновые матрицы, в которых каждая ячейка соединена со своими ближайшими «соседями» во всех измерениях.
Цилиндры и тороиды являются разновидностью решеток, в которых число используемых измерений и топология поверхности выбираются таким образом, чтобы они соответствовали реализуемому прикладному алгоритму.
5.2. Основные перспективные проекты высокопроизводительных ММПС
Высокопроизводительные ММПС (или суперЭВМ) были ориентированы, главным образом, на выполнение больших объемов вычислений с плавающей запятой. Для достижения высокой производительности, существенной для данной области приложений, в суперЭВМ использовалась комбинация быстрых схем и усовершенствования в методах организации архитектуры. Эти усовершенствования вывели производительность машины за те пределы, которые можно было обеспечить только за счет быстродействия схем.
ЭВМ IBM 7030, известная под названием STRETCH, была в 100 раз быстрее, чем более старая IBM 704. Для достижения столь смелой цели был введен ряд архитектурных усовершенствований. Отдельное устройство обработки команд позволяло одновременно обрабатывать до шести команд. Чтобы сгладить различие между длительностью такта ЦП и относительно большим временем доступа к основной памяти, было использовано несколько методов, включая опережающую выборку данных и метод «закорачивания» для предотвращения множественного доступа к одной и той же ячейке памяти.
В ЭВМ CDC 6660 используется много функциональных устройств и схема резервирования, названная «счетной платой». Эта плата поддерживает динамическую информацию о регистрах, функциональных устройствах и шинах. Способность выполнения команд в порядке, отличном от порядка, предписанного программой, ведет к параллельной обработке независимых команд и увеличивает степень параллелизма при работе машины.