stringtranslate.com

Множественные инструкции, множественные данные

В вычислительной технике множественные инструкции, множественные данные ( 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 Transactions on Computers . C-21 (9): 948–960. doi :10.1109/TC.1972.5009071.
  2. ^ «Опасности параллелизма: Larrabee против Nvidia, MIMD против SIMD». 19 сентября 2008 г.
  3. ^ "MIMD | Intel® Developer Zone". Архивировано из оригинала 2013-10-16 . Получено 2013-10-16 .
  4. ^ ab Ibaroudene, Djaffer. "Параллельная обработка, EG6370G: Глава 1, Мотивация и история". Слайды лекций. Университет Св. Марии , Сан-Антонио, Техас . Весна 2008 г.
  5. ^ ab Andrew S. Tanenbaum (1997). Структурированная компьютерная организация (4-е изд.). Prentice-Hall. стр. 559–585. ISBN 978-0130959904. Архивировано из оригинала 2013-12-01 . Получено 2013-03-15 .