Мультипроцессоры и мультикомпьютеры

В этой главе мы обсудим мультипроцессоры и мультикомпьютеры.

Межблочные соединения многопроцессорной системы

Параллельная обработка требует использования эффективных системных межсоединений для быстрой связи между устройствами ввода / вывода и периферийными устройствами, мультипроцессорами и общей памятью.

Иерархические шинные системы

Иерархическая шинная система состоит из иерархии шин, соединяющих различные системы и подсистемы / компоненты в компьютере. Каждая шина состоит из ряда сигнальных, управляющих и силовых линий. Различные шины, такие как местные шины, шины объединительной платы и шины ввода-вывода, используются для выполнения различных функций соединения.

Местные шины - это шины, реализованные на печатных платах. Шина объединительной платы - это печатная схема, на которой используется множество разъемов для подключения функциональных плат. Шины, которые соединяют устройства ввода / вывода с компьютерной системой, известны как шины ввода / вывода.

Поперечный переключатель и многопортовая память

Коммутируемые сети обеспечивают динамическое соединение между входами и выходами. В системах малого или среднего размера в основном используются перекрестные сети. Многоступенчатые сети могут быть расширены до более крупных систем, если проблема увеличения задержки может быть решена.

И кроссбарный переключатель, и многопортовая организация памяти представляют собой одноступенчатую сеть. Хотя построение одноступенчатой ​​сети обходится дешевле, для установления определенных соединений может потребоваться несколько проходов. Многоступенчатая сеть имеет более одной ступени распределительных коробок. Эти сети должны иметь возможность подключать любой вход к любому выходу.

Многоступенчатые и комбинированные сети

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

Эти сети применяются для построения более крупных многопроцессорных систем. Это включает в себя Omega Network, Butterfly Network и многие другие.

Мультикомпьютеры

Мультикомпьютеры - это архитектуры MIMD с распределенной памятью. На следующей диаграмме показана концептуальная модель мультикомпьютера -

Мультикомпьютеры - это машины для передачи сообщений, которые используют метод коммутации пакетов для обмена данными. Здесь у каждого процессора есть собственная память, но нет глобального адресного пространства, поскольку процессор может обращаться только к своей собственной локальной памяти. Итак, коммуникация непрозрачна: здесь программисты должны явно добавлять примитивы коммуникации в свой код.

Отсутствие глобально доступной памяти является недостатком мультикомпьютеров. Это можно решить, используя следующие две схемы -

  • Виртуальная общая память (VSM)
  • Общая виртуальная память (SVM)

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

Виртуальная общая память (VSM)

VSM - это аппаратная реализация. Таким образом, система виртуальной памяти операционной системы прозрачно реализована поверх VSM. Итак, операционная система думает, что она работает на машине с общей памятью.

Общая виртуальная память (SVM)

SVM - это программная реализация на уровне операционной системы с аппаратной поддержкой блока управления памятью (MMU) процессора. Здесь единицей совместного использования являются страницы памяти операционной системы.

Если процессор обращается к определенной области памяти, MMU определяет, находится ли страница памяти, связанная с доступом к памяти, в локальной памяти или нет. Если страницы нет в памяти, в обычной компьютерной системе она выгружается с диска операционной системой. Но в SVM операционная система выбирает страницу с удаленного узла, которому принадлежит эта конкретная страница.

Три поколения мультикомпьютеров

В этом разделе мы обсудим три поколения мультикомпьютеров.

Выбор дизайна в прошлом

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

Что касается схемы соединения, то у мультикомпьютеров есть передача сообщений, прямые сети точка-точка, а не сети с коммутацией адресов. В качестве стратегии управления разработчик нескольких компьютеров выбирает асинхронные операции MIMD, MPMD и SMPD. Cosmic Cube Caltech (Seitz, 1983) - это первый мультикомпьютер первого поколения.

Настоящее и будущее развитие

Компьютеры следующего поколения превратились из мультикомпьютеров со средним и мелким зерном, использующих глобально разделяемую виртуальную память. Мультикомпьютеры второго поколения все еще используются. Но использование более совершенного процессора, такого как i386, i860 и т. Д., Компьютеры второго поколения получили большое развитие.

Компьютеры третьего поколения - это компьютеры следующего поколения, в которых будут использоваться узлы, реализованные на СБИС. Каждый узел может иметь процессор 14 MIPS, каналы маршрутизации 20 Мбайт / с и 16 Кбайт ОЗУ, интегрированных в один кристалл.

Система Intel Paragon

Раньше для создания мультикомпьютеров гиперкуба использовались однородные узлы, поскольку все функции были переданы хосту. Таким образом, это ограничивало пропускную способность ввода-вывода. Таким образом, для решения крупномасштабных проблем эффективно или с высокой пропускной способностью эти компьютеры не могли использоваться. Система Intel Paragon была разработана для преодоления этой трудности. Он превратил мультикомпьютер в сервер приложений с многопользовательским доступом в сетевой среде.

Механизмы передачи сообщений

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

Схемы маршрутизации сообщений

В мультикомпьютере со схемой маршрутизации с сохранением и пересылкой пакеты являются наименьшей единицей передачи информации. В сетях с маршрутизацией через «червоточины» пакеты далее разделяются на порции. Длина пакета определяется схемой маршрутизации и реализацией сети, тогда как на длину пакета влияет размер сети.

В Store and forward routing, пакеты являются основной единицей передачи информации. В этом случае каждый узел использует буфер пакетов. Пакет передается от узла источника к узлу назначения через последовательность промежуточных узлов. Задержка прямо пропорциональна расстоянию между источником и пунктом назначения.

В wormhole routing, передача от узла источника к узлу назначения выполняется через последовательность маршрутизаторов. Все переходы одного и того же пакета передаются в неразрывной последовательности конвейерным способом. В этом случае только flit заголовка знает, куда идет пакет.

Тупик и виртуальные каналы

Виртуальный канал - это логическая связь между двумя узлами. Он образован флит-буфером в узле источника и узле приемника и физическим каналом между ними. Когда для пары выделяется физический канал, один буфер источника объединяется с одним буфером приемника для формирования виртуального канала.

Когда все каналы заняты сообщениями и ни один канал в цикле не освобожден, возникает ситуация тупика. Чтобы избежать этого, необходимо следовать схеме предотвращения тупиковых ситуаций.