Эта статья написана как личное размышление, личное эссе или аргументированное эссе , в котором изложены личные чувства редактора Википедии или представлен оригинальный аргумент по теме. ( апрель 2017 г. ) |
Таксономия Флинна |
---|
Единый поток данных |
Несколько потоков данных |
Подкатегории SIMD [1] |
Смотрите также |
В вычислениях несколько инструкций, одиночные данные ( MISD ) — это тип архитектуры параллельных вычислений , в которой множество функциональных блоков выполняют разные операции с одними и теми же данными. Конвейерные архитектуры относятся к этому типу, хотя пуристы могут сказать, что данные различны после обработки на каждом этапе конвейера. Отказоустойчивость , выполняющая одни и те же инструкции с избыточностью для обнаружения и маскирования ошибок способом, известным как репликация задач , может считаться относящейся к этому типу. Приложения для этой архитектуры гораздо менее распространены, чем MIMD и SIMD., так как последние два часто больше подходят для общих методов параллельных данных. В частности, они позволяют лучше масштабировать и использовать вычислительные ресурсы. Однако одним из ярких примеров MISD в вычислительной технике являются компьютеры управления полетом космического корабля "Шаттл ". [2]
Систолические массивы (< процессоры волнового фронта ), впервые описанные Х. Т. Кунгом и Чарльзом Э. Лейзерсоном , являются примером архитектуры MISD . В типичном систолическом массиве параллельные входные данные проходят через сеть жестких процессорных узлов , напоминающих человеческий мозг , которые комбинируют, обрабатывают, объединяют или сортируют входные данные в производный результат.
Систолические массивы часто жестко привязаны к конкретной операции, такой как «умножение и накопление», для выполнения массивно- параллельной интеграции, свертки , корреляции , умножения матриц или задач сортировки данных. Систолический массив обычно состоит из большой монолитной сети примитивных вычислительных узлов , которые могут быть аппаратно или программно настроены для конкретного приложения. Узлы обычно фиксированные и идентичные, а межсоединение программируемое. Более общие процессоры волнового фронта , напротив, используют сложные и индивидуально программируемые узлы, которые могут быть или не быть монолитными, в зависимости от размера массива и параметров конструкции. Потому что волна-подобное распространение данных через систолический массив напоминает пульс сердечно-сосудистой системы человека, название систолическое было придумано из медицинской терминологии.
Существенным преимуществом систолических массивов является то, что все данные операндов и частичные результаты содержатся внутри массива процессора (проходят через него). Нет необходимости обращаться к внешним шинам, оперативной памяти или внутренним кешам во время каждой операции, как в случае со стандартными последовательными машинами. Последовательные ограничения на параллельную производительность, продиктованные законом Амдала, также не применяются таким же образом, поскольку зависимости данных неявно обрабатываются программируемым межузловым соединением.
Таким образом, систолические массивы чрезвычайно хороши в искусственном интеллекте, обработке изображений, распознавании образов, компьютерном зрении и других задачах, с которыми мозг животных справляется исключительно хорошо. Процессоры Wavefront, в целом, также могут быть очень хороши в машинном обучении за счет аппаратной реализации самонастраивающихся нейронных сетей.
Хотя систолические массивы официально классифицируются как MISD, их классификация несколько проблематична. Поскольку вход обычно является вектором независимых значений, систолический массив не является SISD . Поскольку эти входные значения объединяются и объединяются в результат (результаты) и не сохраняют свою независимость , как в блоке векторной обработки SIMD , массив не может быть классифицирован как таковой. Следовательно, массив также не может быть классифицирован как MIMD , поскольку MIMD можно рассматривать просто как набор меньших машин SISD и SIMD.
Наконец, поскольку поток данных трансформируется по мере того, как он проходит через массив от узла к узлу, несколько узлов не работают с одними и теми же данными, что делает классификацию MISD неправильной . Другая причина, по которой систолический массив не должен квалифицироваться как MISD , та же, что и та, которая исключает его из категории SISD: входные данные обычно представляют собой вектор, а не отдельное значение данных, хотя можно утверждать, что любой заданный входной вектор представляет собой единый набор данных.
Несмотря на вышесказанное, систолические массивы часто предлагаются в качестве классического примера архитектуры MISD в учебниках по параллельным вычислениям и в инженерных классах. Если массив рассматривается извне как атомарный , его, возможно, следует классифицировать как SFMuDMeR = одна функция, несколько данных, объединенный результат (результаты). [3] [4] [5] [6]
{{cite book}}
: CS1 maint: местоположение ( ссылка )