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