Открыть сервисСервис

МПС — многопроцессорная система

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

Общие сведения

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

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

Классификация

МПС классифицируют по нескольким признакам.

По типу организации памяти:

  • Системы с общей (разделяемой) памятью (SMP — Symmetric Multiprocessing) — все процессоры имеют доступ к единому физическому адресному пространству. Операционная система равномерно распределяет задачи между процессорами. Наиболее распространённый тип МПС в серверах и рабочих станциях.
  • Системы с распределённой памятью (NUMA — Non-Uniform Memory Access) — память физически распределена между узлами, обращение к локальной памяти быстрее, чем к удалённой. Каждый узел содержит процессоры и свой блок памяти, соединённые высокоскоростной шиной или интерконнектом.
  • Кластерные системы (MPP — Massively Parallel Processing) — множество автономных узлов, связанных сетью, память каждого узла недоступна напрямую другим узлам.

По степени симметрии:

  • SMP (симметричные) — все процессоры равноправны, выполняют одинаковые функции.
  • ASMP (асимметричные) — один процессор выполняет функции ведущего (мастера), остальные — ведомые.

По типу процессоров:

  • Однородные (гомогенные) — все процессоры одинаковой архитектуры и модели.
  • Гетерогенные — включают процессоры разных типов (например, CPU и GPU, или процессоры с разными наборами инструкций).

Устройство и принцип работы

В симметричной многопроцессорной системе процессоры обращаются к общей памяти через системную шину или кроссбар-коммутатор. Для согласованной работы кэш-памяти процессоров применяется протокол когерентности кэшей (наиболее распространённые — MESI, MOESI, MESIF). Этот протокол обеспечивает, чтобы все процессоры видели согласованные данные при обращении к общим областям памяти.

Операционная система должна поддерживать многопроцессорную обработку: планировщик распределяет потоки между процессорами, механизмы синхронизации (мьютексы, семафоры, атомарные операции) защищают разделяемые данные от гонок. Поддержка SMP реализована во всех основных ОС — Linux, Windows Server, FreeBSD, Solaris.

Аппаратная часть МПС включает несколько процессорных сокетов, набор микросхем северного моста (или его эквивалент в архитектуре без северного моста), каналы памяти и интерконнект. Современные серверные платформы поддерживают от 2 до 32 и более процессорных сокетов на одну плату.

Применение

МПС используются там, где требуется высокая производительность вычислений, обработка больших объёмов данных или высокая доступность:

  • серверы баз данных и корпоративные информационные системы;
  • высокопроизводительные вычисления (HPC) — научные расчёты, моделирование;
  • виртуализация — один физический сервер обслуживает множество виртуальных машин;
  • критичные к отказам системы — при выходе из строя одного процессора система продолжает работу (fault tolerance).

Достоинства и недостатки

Достоинства МПС:

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

Недостатки:

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

МПС в России

Российские производители многопроцессорных серверов — компания «Ядро» (серийные серверы на базе процессоров «Эльбрус»), «Баобаб» и «Открытые системы». Процессоры «Эльбрус-16С» и «Эльбрус-23+» (разработаны в НИИЭС, входят в холдинг «Росэлектроника») поддерживают многопроцессорную конфигурацию и используются в отечественных серверах для государственных и корпоративных заказчиков. Развитие отечественных МПС связано с курсом на импортозамещение в сфере информационных технологий и создание суверенного программно-аппаратного стека.

Историческая справка

Первыми коммерческими многопроцессорными системами считаются машины серии IBM System/360 Model 65 (1965) и Soviet-era ЭВМ «Электроника Ц-1000». Широкое распространение МПС получили в 1990-е годы с развитием архитектуры SMP и появлением многопроцессорных версий Unix-систем. В 2000-е годы развитие многоядерных процессоров привело к тому, что многопроцессорность стала реализовываться на уровне одного чипа (chip-level multiprocessing), однако многопроцессорные серверы с несколькими сокетами сохраняют значение для задач, требующих максимальной производительности.

Источники

  • Таненбаум Э. Современные операционные системы.
  • Скотт С., Скотт Дж. Параллельное программирование: концепции и примеры на C++.
  • Сайт компании «Ядро» — описание серверов на процессорах «Эльбрус».
  • Материалы НИИЭС по архитектуре процессоров «Эльбрус».
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru