Мультипроцессоры и мультикомпьютеры
В этой главе мы обсудим мультипроцессоры и мультикомпьютеры.
Межблочные соединения многопроцессорной системы
Параллельная обработка требует использования эффективных системных межсоединений для быстрой связи между устройствами ввода / вывода и периферийными устройствами, мультипроцессорами и общей памятью.
Иерархические шинные системы
Иерархическая шинная система состоит из иерархии шин, соединяющих различные системы и подсистемы / компоненты в компьютере. Каждая шина состоит из ряда сигнальных, управляющих и силовых линий. Различные шины, такие как местные шины, шины объединительной платы и шины ввода-вывода, используются для выполнения различных функций соединения.
Местные шины - это шины, реализованные на печатных платах. Шина объединительной платы - это печатная схема, на которой используется множество разъемов для подключения функциональных плат. Шины, которые соединяют устройства ввода / вывода с компьютерной системой, известны как шины ввода / вывода.
Поперечный переключатель и многопортовая память
Коммутируемые сети обеспечивают динамическое соединение между входами и выходами. В системах малого или среднего размера в основном используются перекрестные сети. Многоступенчатые сети могут быть расширены до более крупных систем, если проблема увеличения задержки может быть решена.
И кроссбарный переключатель, и многопортовая организация памяти представляют собой одноступенчатую сеть. Хотя построение одноступенчатой сети обходится дешевле, для установления определенных соединений может потребоваться несколько проходов. Многоступенчатая сеть имеет более одной ступени распределительных коробок. Эти сети должны иметь возможность подключать любой вход к любому выходу.
Многоступенчатые и комбинированные сети
Многоступенчатые сети или многоступенчатые сети межсоединений представляют собой класс высокоскоростных компьютерных сетей, которые в основном состоят из обрабатывающих элементов на одном конце сети и элементов памяти на другом конце, соединенных коммутирующими элементами.
Эти сети применяются для построения более крупных многопроцессорных систем. Это включает в себя 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 заголовка знает, куда идет пакет.
Тупик и виртуальные каналы
Виртуальный канал - это логическая связь между двумя узлами. Он образован флит-буфером в узле источника и узле приемника и физическим каналом между ними. Когда для пары выделяется физический канал, один буфер источника объединяется с одним буфером приемника для формирования виртуального канала.
Когда все каналы заняты сообщениями и ни один канал в цикле не освобожден, возникает ситуация тупика. Чтобы избежать этого, необходимо следовать схеме предотвращения тупиковых ситуаций.