Таксономия Дунканса - Википедия - Duncans taxonomy

Таксономия Дункана это классификация компьютерные архитектуры, предложенный Ральфом Дунканом в 1990 году.[1] Дункан предложил внести изменения в Таксономия Флинна[2] для включения конвейерных векторных процессов.[3]

Таксономия

Таксономия была разработана в 1988–1990 годах и впервые была опубликована в 1990 году. Ее исходные категории указаны ниже.

Синхронные архитектуры

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

Конвейерные векторные процессоры

Конвейерные векторные процессоры характеризуются конвейерными функциональными блоками, которые принимают последовательный поток массива или вектор элементы, так что разные этапы в заполненном конвейере обрабатывают разные элементы вектора в данный момент времени.[4] Параллелизм обеспечивается как конвейерной обработкой отдельных функциональных блоков, описанных выше, так и параллельной работой нескольких блоков такого типа и цепочка вывод одного блока в другой в качестве ввода.[4]

Векторные архитектуры, которые передают векторные элементы в функциональные блоки из специальных векторных регистров, называются зарегистрироваться для регистрации архитектуры, а те, которые питают функциональные блоки из специальных буферов памяти, обозначены как память в память архитектуры.[1] Ранние примеры архитектур «регистр-регистр» 1960-х и начала 1970-х годов включают: Крей-1[5] и Fujitsu VP-200, в то время как Control Data Cyber ​​205 и передовой научный компьютер Texas Instruments[6] являются ранними примерами векторных архитектур типа память-память.

В конце 1980-х и начале 1990-х годов были представлены векторные архитектуры, такие как Cray Y-MP / 4 и Nippon Electric Corporation SX-3, которые поддерживали 4-10 векторных процессоров с общей памятью (см. Архитектура NEC SX ).

SIMD

В этой схеме используется SIMD Категория (Single Instruction Stream, Multiple Data Stream) из Таксономия Флинна как корневой класс для Массив процессора и Ассоциативная память подклассы. SIMD-архитектуры[7] характеризуются тем, что блок управления передает общую команду всем элементам обработки, которые выполняют эту команду синхронно для различных операндов из локальных данных. Общие функции включают в себя возможность для отдельных процессоров отключать команду и возможность распространять результаты выполнения инструкций на непосредственных соседей по сети межсоединений.

Массив процессора
Ассоциативная память

Систолический массив

Систолические массивы, предложенный в 1980-х[8] представляют собой мультипроцессоры, в которых данные и частичные результаты ритмично перекачиваются от процессора к процессору через обычную локальную сеть межсоединений.[1] Систолические архитектуры используют глобальные часы и явные временные задержки для синхронизации потока данных от процессора к процессору.[1] Каждый процессор в систолической системе выполняет инвариантную последовательность инструкций перед отправкой данных и результатов на соседние процессоры.[8]

Архитектуры MIMD

Основываясь на терминологии Флинна «Множественные инструкции-множественные потоки данных», эта категория охватывает широкий спектр архитектур, в которых процессоры выполняют множественные последовательности команд для (потенциально) разнородных потоков данных без строгой синхронизации. Хотя потоки инструкций и данных могут быть разными для каждого процессора, это не обязательно. Таким образом, архитектуры MIMD могут запускать идентичные программы, которые находятся на разных этапах в любой момент времени, запускать уникальные потоки инструкций и данных на каждом процессоре или выполнять комбинацию каждого из этих сценариев. Эта категория подразделяется, прежде всего, на основе организации памяти.[1]

Распределенная память

Общая память

Архитектура MIMD-парадигмы

Категория «Парадигмы на основе MIMD» включает системы, в которых конкретная парадигма программирования или выполнения по крайней мере столь же важна для архитектурного проектирования, как и структурные соображения. Таким образом, конструкция архитектуры потока данных и редукционные машины является как продуктом поддержки их отличительной парадигмы исполнения, так и продуктом соединения процессоров и памяти в стиле MIMD. Подразделения категорий определяются этими парадигмами.[1]

Гибрид MIMD / SIMD

Машина потока данных

Редукционная машина

Массив волнового фронта

Рекомендации

9. Ксавьер, С.С. Айенгар, Введение в параллельное программирование.

  1. ^ а б c d е ж грамм Дункан, Ральф, "Обзор параллельных компьютерных архитектур", IEEE Computer. Февраль 1990 г., стр. 5–16.
  2. ^ Флинн, М.Дж., "Очень высокоскоростные вычислительные системы", Proc. IEEE. Vol. 54, 1966, с. 1901–1909.
  3. ^ Введение в параллельные алгоритмы
  4. ^ а б Hwang, K., ed., Учебное пособие Суперкомпьютеры: дизайн и применение. Computer Society Press, Лос-Аламитос, Калифорния, 1984, особенно. главы 1 и 2.
  5. ^ Рассел, Р.М., "Компьютерная система CRAY-1", Comm. ACM, январь 1978 г., стр. 63–72.
  6. ^ Уотсон, У.Дж., ASC: высокомодульная гибкая суперкомпьютерная архитектура, Proc. AFIPS Fall Joint Computer Conference, 1972, стр. 221-228.
  7. ^ Майкл Юрчик и Томас Шведерски, "Обработка SIMD: концепции и системы", стр. 649-679 в Справочнике по параллельным и распределенным вычислениям, изд. А. Зомая, McGraw-Hill, 1996.
  8. ^ а б Кунг, H.T., "Почему систолические массивы?", Компьютер, Vol. 15, № 1, январь 1982 г., стр. 37-46.