Классификация Кришнамарфи
Е.Кришнамарфи для классификации параллельных вычислительных систем предлагает использовать четыре характеристики [19], очень похожие на характеристики классификации А.Базу:
- степень гранулярности;
- способ реализации параллелизма;
- топология и природа связи процессоров;
- способ управления процессорами.
Принцип построения классификации очень прост. Для каждой степени гранулярности будем рассматривать все возможные способы реализации параллелизма. Для каждого полученного таким образом варианта рассмотрим все комбинации топологии связи и способов управления процессорами. В результате получим дерево (см. pисунок), в котором каждый ярус соответствует своей характеристике, каждый лист представляет отдельную группу компьютеров в данной классификации, а путь от вершины дерева однозначно определяет значения указанных выше характеристик. Разберем характеристики подробнее.
Первые два уровня практически один к одному повторяют А.Базу, поэтому останавливаться подробно на них мы не будем. Третий уровень классификации, топология и природа связи процессоров, тесно связан со вторым. Если был выбран аппаратный способ реализации параллелизма, то надо рассмотреть топологию связи процессоров (матрица, линейный массив, тор, дерево, звезда и т.п.) и степень связности процессоров между собой (сильная, слабая или средняя), которая определяется относительной долей накладных расходов при организации взаимодействия процессоров. В случае комбинированной реализации параллелизма, помимо топологии и степени связности, надо дополнительно учесть механизм взаимодействия процессоров: передача сообщений, разделяемые переменные или принцип dataflow (по готовности операндов).
Наконец, последний, четвертый уровень - способ управления процессорами, определяет общий принцип функционирования всей совокупности процессоров вычислительной системы: синхронный, dataflow или асинхронный.
На основе выделенных четырех характеристик нетрудно определить место наиболее известных классов архитектур в данной систематике.
Векторно-конвейерные компьютеры:
- гранулярность - на уровне данных;
- реализация параллелизма - аппаратная;
- связь процессоров - простая топология со средней связностью;
- способ управления - синхронный.
Классические мультипроцессоры:
- гранулярность - на уровне задач
- реализация параллелизма - комбинированная;
- связь процессоров - простая топология со слабой связностью и использованием разделяемых переменных;
- способ управления - асинхронный.
Матрицы процессоров:
- гранулярность - на уровне данных;
- реализация параллелизма - аппаратная;
- связь процессоров - двумерные массивы с сильной связностью;
- способ управления - синхронный.
Систолические массивы:
- гранулярность - на уровне данных;
- реализация параллелизма - аппаратная;
- связь процессоров - сложная топология с сильной связностью;
- способ управления - синхронный.
Архитектура типа wavefront:
- гранулярность - на уровне данных;
- реализация параллелизма - аппаратная;
- связь процессоров - двумерная топология с сильной связностью;
- способ управления - dataflow.
Архитектура типа dataflow:
- гранулярность - на уровне команд;
- реализация параллелизма - комбинированная;
- связь процессоров - простая топология с сильной либо средней связностью и использованием принципа dataflow;
- способ управления - асинхронно-dataflow.
Несмотря на то, что классификация Е. Кришнамарфи построена лишь на четырех признаках, она позволяет выделить и описать такие "нетрадиционные" параллельные системы, как систолические массивы, машины типа dataflow и wavefront. Однако эта же простота является и основной причиной ее недостатков: некоторые архитектуры нельзя однозначно отнести к тому или иному классу, например, компьютеры с архитектурой гиперкуба и ассоциативные процессоры. Для более точного описания таких машин потребуется ввести еще целый ряд характеристик, таких, как размещение задач по процессорам, способ маршрутизации сообщений, возможность реконфигурации, аппаратная поддержка языков программирования и другие. Вместе с тем ясно, что эти признаки формализовать гораздо труднее, поэтому есть опасность вместо ясности внести в описание лишь дополнительные трудности.
© Лаборатория Параллельных информационных технологий НИВЦ МГУ