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


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

В вычислительной технике несколько инструкций, несколько данных ( MIMD ) — это метод, используемый для достижения параллелизма. Машины, использующие MIMD, имеют ряд процессоров , которые работают асинхронно и независимо. В любой момент разные процессоры могут выполнять разные инструкции для разных фрагментов данных.

Архитектуры MIMD могут использоваться в ряде прикладных областей, таких как автоматизированное проектирование / автоматизированное производство , моделирование , моделирование и в качестве коммутаторов связи . Машины MIMD могут относиться либо к категориям с общей памятью , либо к категориям с распределенной памятью . Эти классификации основаны на том, как процессоры MIMD обращаются к памяти. Машины с общей памятью могут быть шинными , расширенными или иерархическими . Машины с распределенной памятью могут иметь гиперкубические или ячеистые схемы соединения.

Примеры

Примером системы MIMD является Intel Xeon Phi , происходящий от микроархитектуры Larrabee . [2] Эти процессоры имеют несколько вычислительных ядер (до 61 по состоянию на 2015 г.), которые могут выполнять разные инструкции для разных данных.

Большинство параллельных компьютеров по состоянию на 2013 год представляют собой системы MIMD. [3]

Модель общей памяти

В модели с общей памятью все процессоры подключены к «глобально доступной» памяти с помощью программных или аппаратных средств. Операционная система обычно поддерживает связность памяти . [4]

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

Существует много примеров разделяемой памяти (мультипроцессоры): UMA ( унифицированный доступ к памяти ), COMA ( доступ к памяти только для кэша ). [5]

Автобусный

Машины MIMD с общей памятью имеют процессоры, которые совместно используют общую центральную память. В простейшем случае все процессоры подключены к шине, соединяющей их с памятью. Это означает, что каждая машина с общей памятью совместно использует определенный CM, общую систему шин для всех клиентов.

Например, если мы рассмотрим шину с клиентами A, B, C, подключенными с одной стороны, и P, Q, R, подключенными с противоположной стороны, любой из клиентов будет общаться с другим посредством шинного интерфейса между ними.

Иерархический

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

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

В машинах с распределенной памятью MIMD (множество инструкций, несколько данных) каждый процессор имеет свою собственную индивидуальную ячейку памяти. Каждый процессор не имеет прямых сведений о памяти другого процессора. Для совместного использования данных они должны передаваться от одного процессора к другому в виде сообщения. Поскольку разделяемой памяти нет, конфликты на этих машинах не представляют большой проблемы. Подключать большое количество процессоров напрямую друг к другу экономически нецелесообразно. Способ избежать этого множества прямых соединений состоит в том, чтобы соединить каждый процессор только с несколькими другими. Этот тип дизайна может быть неэффективным из-за дополнительного времени, необходимого для передачи сообщения от одного процессора к другому по пути сообщения. Время, необходимое процессорам для выполнения простой маршрутизации сообщений, может быть значительным.гиперкуб и сетка являются одними из двух популярных схем соединения.

Примеры распределенной памяти (несколько компьютеров) включают MPP (массивно-параллельные процессоры) , COW (кластеры рабочих станций) и NUMA ( неравномерный доступ к памяти ). Первое сложно и дорого: множество суперкомпьютеров соединены широкополосными сетями. Примеры включают соединения гиперкуба и сетки. COW - это "домашняя" версия за небольшую цену. [5]

Сеть межсоединений гиперкуба

В машине с распределенной памятью MIMD с гиперкубомсеть межсоединений системы, содержащая четыре процессора, процессор и модуль памяти, размещены в каждой вершине квадрата. Диаметр системы — это минимальное количество шагов, которое требуется одному процессору для отправки сообщения самому удаленному процессору. Так, например, диаметр 2-куба равен 2. В системе гиперкуба с восемью процессорами, каждый из которых процессор и модуль памяти размещены в вершине куба, диаметр равен 3. В общем случае система, содержащая 2 ^N процессоров, где каждый процессор напрямую подключен к N другим процессорам, диаметр системы равен N. Одним из недостатков системы гиперкуба является то, что она должна быть сконфигурирована в степени двойки, поэтому должна быть построена машина, которая потенциально может иметь гораздо больше процессоров, чем это действительно необходимо для приложения.

Ячеистая сеть взаимосвязи

В машине с распределенной памятью MIMD с ячеистой сетью взаимосвязей процессоры размещены в двумерной сетке. Каждый процессор связан со своими четырьмя непосредственными соседями. По краям сетки могут быть предусмотрены соединения с обертыванием. Одним из преимуществ ячеистой сети межсоединений по сравнению с гиперкубом является то, что ячеистую систему не нужно конфигурировать в степени двойки. Недостатком является то, что диаметр ячеистой сети больше, чем у гиперкуба для систем с более чем четырьмя процессорами.

Смотрите также

  • СМП
  • НУМА
  • Тор межсоединение
  • Таксономия Флинна
  • СПМД
  • Суперскаляр
  • Очень длинное слово инструкции

использованная литература

  1. ^ Флинн, Майкл Дж. (сентябрь 1972 г.). «Некоторые компьютерные организации и их эффективность» (PDF) . IEEE-транзакции на компьютерах . С-21 (9): 948–960. doi : 10.1109/TC.1972.5009071 .
  2. ^ «Опасности параллелизма: Ларраби против Nvidia, MIMD против SIMD» . 19 сентября 2008 г.
  3. ^ "Архивная копия" . Архивировано из оригинала 16 октября 2013 г .. Проверено 16 октября 2013 г. .{{cite web}}: CS1 maint: заархивированная копия как заголовок ( ссылка )
  4. ^ a b Ибаруден, Джаффер. «Параллельная обработка, EG6370G: Глава 1, Мотивация и история». Слайды лекций. Университет Святой Марии , Сан-Антонио, Техас . Весна 2008 года.
  5. ^ б Эндрю С. Таненбаум ( 1997). Структурированная компьютерная организация (4-е изд.). Прентис-Холл. стр. 559–585. ISBN 978-0130959904. Архивировано из оригинала 01.12.2013 . Проверено 15 марта 2013 г. .
Получено с https://en.wikipedia.org/w/index.php?title=Multiple_instruction,_multiple_data&oldid=1086195569 "