Статья, чтобы понять, что такое MPP?

Большие данные

Это 19-й день моего участия в августовском испытании обновлений.Подробности о событии:Испытание августовского обновления

Как следует классифицировать серверы с точки зрения системной архитектуры?

С точки зрения системной архитектуры современные коммерческие серверы можно условно разделить на три категории, а именно симметричные многопроцессорные системы (SMP) и неравномерный доступ к памяти (неоднородная память). Access, NUMA) и массовая параллельная обработка (MPP).

在这里插入图片描述

SMP(Symmetric Multi-processor)

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

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

Основные функции SMP-сервера:общий, Все ресурсы в системе (такие как ЦП, память, ввод-вывод и т. д.) являются общими.

Также из-за этой особенности основная проблема SMP-сервера заключается в том, что егоОчень ограниченная масштабируемость.

Для SMP-сервера каждая общая ссылка может стать узким местом при расширении SMP-сервера, и самым ограниченным являетсяОЗУ.

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

Эксперименты показывают, что наилучший вариант использования ЦП SMP-сервера2~4 процессора.

NUMA(Non-Uniform Memory Access)

Из-за ограниченности возможностей SMP по расширению люди начали искать способы эффективного расширения технологии для создания крупномасштабных систем, и NUMA — один из результатов этих усилий.

Используя технологию NUMA, в сервере можно объединить десятки (даже сотни) процессоров. Структура модуля ЦП показана на рисунке.

NUMA

Основные характеристики сервера NUMA:Имеет несколько модулей ЦП, Каждый модуль ЦП состоит из нескольких ЦП (например, 4) и имеет независимую локальную память, слоты ввода-вывода и т. д.

Поскольку его узлы могут быть подключены и обмениваться информацией через модули межсоединений (такие как Crossbar Switch), следовательно,Каждый ЦП может получить доступ ко всей памяти системы(Это важное различие между системами NUMA и системами MPP).

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

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

Используя технологию NUMA, проблема расширения исходной системы SMP может быть лучше решена, и один физический сервер может поддерживать сотни ЦП.

Однако технология NUMA также имеет определенные недостатки, связанные сЗадержка доступа к удаленной памяти намного больше, чем доступ к локальной памяти.,следовательно,Когда количество ЦП увеличивается, производительность системы не может увеличиваться линейно..

Например, когда Hewlett-Packard выпустила сервер Superdome, она объявила его относительную производительность по сравнению с другими Unix-серверами HP.Было обнаружено, что относительная производительность 64-процессорного сервера Superdome (структура NUMA) составляла 20, а 8-процессорного сервера Superdome. -способ N4000 (общий SMP) имел относительное значение производительности 20. структура) Относительное значение производительности составляет 6,3. Из этого результата видно, что 8-кратное увеличение количества процессоров означает только 3-кратное повышение производительности.

MPP (Massive Parallel Processing)

В отличие от NUMA, MAA предоставляет еще один способ расширения системы.Он состоит из нескольких SMP-серверов, подключенных через определенную сеть взаимосвязи узлов для совместной работы для выполнения одной и той же задачи.С точки зрения пользователя, это серверная система.

Его основные характеристикиОн состоит из нескольких SMP-серверов (каждый SMP-сервер называется узлом), соединенных через сеть межузловых соединений, и каждый узел имеет доступ только к своим локальным ресурсам (памяти, хранилищу и т. д.).

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

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

В системе MPP каждый узел SMP также может работать со своей собственной операционной системой, базой данных и т. д. Но в отличие от NUMA у него нет проблемы удаленного доступа к памяти. Другими словами, центральный процессор каждого узла не может получить доступ к памяти другого узла. Обмен информацией между узлами осуществляется через сеть межузловых соединений Этот процесс обычно называют перераспределением данных ( Перераспределение данных).

Но серверу MPP нужен сложный механизм дляПланирование и балансировка нагрузки и параллельная обработка отдельных узлов.

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

服务器架构设计

Разница между NUMA и MPP

Архитектурно NUMA имеет много общего с MPP:

  1. Все они состоят из нескольких узлов;
  2. Каждый узел имеет свой собственный ЦП, память, ввод-вывод;
  3. Обмен информацией между узлами может осуществляться через механизм межузлового взаимодействия.

Так в чем же между ними разница?Нетрудно найти разницу, проанализировав внутреннюю архитектуру и принцип работы серверов NUMA и MPP.

Механизм соединения узлов другой.

  1. Механизм межузлового соединения NUMA реализован на одном физическом сервере. Когда процессору требуется доступ к памяти в разных местах, он должен ждать. Это основная причина, по которой серверы NUMA не могут обеспечить линейное увеличение производительности при увеличении нагрузки на ЦП.
  2. Механизм межузлового взаимодействия MPP реализуется через io вне разных SMP-серверов, каждый узел обращается только к локальной памяти и хранилищу, а обмен информацией между узлами осуществляется параллельно с обработкой самих узлов. Следовательно, производительность MPP может в основном достигать линейного расширения при добавлении узлов.

Механизм доступа к памяти другой.

  1. В NUMA-сервере любой ЦП может получить доступ к памяти всей системы, но производительность удаленного доступа к памяти намного ниже, чем при доступе к локальной памяти, поэтому при разработке приложений следует по возможности избегать удаленного доступа к памяти.
  2. На сервере MPP каждый узел имеет доступ только к локальной памяти, и нет проблем с удаленным доступом к памяти.