Несколько инструкций, одни данные


Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
MISD.svg

В вычислениях несколько инструкций, одиночные данные ( MISD ) — это тип архитектуры параллельных вычислений , в которой множество функциональных блоков выполняют разные операции с одними и теми же данными. Конвейерные архитектуры относятся к этому типу, хотя пуристы могут сказать, что данные различны после обработки на каждом этапе конвейера. Отказоустойчивость , выполняющая одни и те же инструкции с избыточностью для обнаружения и маскирования ошибок способом, известным как репликация задач , может считаться относящейся к этому типу. Приложения для этой архитектуры гораздо менее распространены, чем MIMD и SIMD., так как последние два часто больше подходят для общих методов параллельных данных. В частности, они позволяют лучше масштабировать и использовать вычислительные ресурсы. Однако одним из ярких примеров MISD в вычислительной технике являются компьютеры управления полетом космического корабля "Шаттл ". [2]

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

Систолические массивы (< процессоры волнового фронта ), впервые описанные Х. Т. Кунгом и Чарльзом Э. Лейзерсоном , являются примером архитектуры MISD . В типичном систолическом массиве параллельные входные данные проходят через сеть жестких процессорных узлов , напоминающих человеческий мозг , которые комбинируют, обрабатывают, объединяют или сортируют входные данные в производный результат.

Систолические массивы часто жестко привязаны к конкретной операции, такой как «умножение и накопление», для выполнения массивно- параллельной интеграции, свертки , корреляции , умножения матриц или задач сортировки данных. Систолический массив обычно состоит из большой монолитной сети примитивных вычислительных узлов , которые могут быть аппаратно или программно настроены для конкретного приложения. Узлы обычно фиксированные и идентичные, а межсоединение программируемое. Более общие процессоры волнового фронта , напротив, используют сложные и индивидуально программируемые узлы, которые могут быть или не быть монолитными, в зависимости от размера массива и параметров конструкции. Потому что волна-подобное распространение данных через систолический массив напоминает пульс сердечно-сосудистой системы человека, название систолическое было придумано из медицинской терминологии.

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

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

Хотя систолические массивы официально классифицируются как MISD, их классификация несколько проблематична. Поскольку вход обычно является вектором независимых значений, систолический массив не является SISD . Поскольку эти входные значения объединяются и объединяются в результат (результаты) и не сохраняют свою независимость , как в блоке векторной обработки SIMD , массив не может быть классифицирован как таковой. Следовательно, массив также не может быть классифицирован как MIMD , поскольку MIMD можно рассматривать просто как набор меньших машин SISD и SIMD.

Наконец, поскольку поток данных трансформируется по мере того, как он проходит через массив от узла к узлу, несколько узлов не работают с одними и теми же данными, что делает классификацию MISD неправильной . Другая причина, по которой систолический массив не должен квалифицироваться как MISD , та же, что и та, которая исключает его из категории SISD: входные данные обычно представляют собой вектор, а не отдельное значение данных, хотя можно утверждать, что любой заданный входной вектор представляет собой единый набор данных.

Несмотря на вышесказанное, систолические массивы часто предлагаются в качестве классического примера архитектуры MISD в учебниках по параллельным вычислениям и в инженерных классах. Если массив рассматривается извне как атомарный , его, возможно, следует классифицировать как SFMuDMeR = одна функция, несколько данных, объединенный результат (результаты). [3] [4] [5] [6]

Сноски

  1. ^ Флинн, Майкл Дж. (сентябрь 1972 г.). «Некоторые компьютерные организации и их эффективность» (PDF) . IEEE-транзакции на компьютерах . С-21 (9): 948–960. doi : 10.1109/TC.1972.5009071 .
  2. ^ Спектор, А .; Гиффорд, Д. (сентябрь 1984 г.). «Основная компьютерная система космического корабля». Коммуникации АКМ . 27 (9): 872–900. дои : 10.1145/358234.358246 .
  3. ^ Майкл Дж. Флинн, Кевин В. Радд. Параллельные архитектуры . КПР Пресс, 1996.
  4. ^ Куинн, Майкл Дж. Параллельное программирование на C с MPI и OpenMP . Бостон: Макгроу Хилл, 2004.
  5. ^ Ибаруден, Джаффер. «Параллельная обработка, EG6370G: Глава 1, Мотивация и история». Университет Святой Марии, Сан-Антонио, Техас. Весна 2008 года.
  6. ^ Нуль, Линда; Лобур, Юлия (2006). Основы компьютерной организации и архитектуры . 468: Джонс и Бартлетт.{{cite book}}: CS1 maint: местоположение ( ссылка )
Получено с https://en.wikipedia.org/w/index.php?title=Multiple_instruction,_single_data&oldid=1068474461 "