Симметричная и асимметричная многопроцессорная обработка: разница и сравнение

Основные выводы

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

Что такое симметричная многопроцессорность?

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

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

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

Читайте также:  VC против C: разница и сравнение

Что такое асимметричная многопроцессорность?

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

Главный процессор в асимметричной многопроцессорной системе управляет всеми задачами, такими как структура данных и планирование задач для других процессоров. Если главный процессор выходит из строя, любой из подчиненных процессоров принимает себя в качестве главного процессора и управляет выполнением процессора. С другой стороны, если какой-либо из подчиненных процессоров выходит из строя, другой подчиненный процессор берет на себя его задачи.

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

Разница между симметричной и асимметричной многопроцессорной обработкой

  1. Симметричные многопроцессорные системы сложны и требуют синхронизации для поддержания баланса нагрузки. С другой стороны, асимметричные многопроцессорные системы довольно просты, поскольку главный процессор имеет доступ ко всем данным и не требует синхронизации.
  2. Все ЦП в симметричной многопроцессорной обработке совместно используют одну и ту же память, в то время как в асимметричной многопроцессорной обработке один главный процессор управляет структурой данных.
  3. Процесс очереди готовности используется в симметричных многопроцессорных системах, в то время как асимметричная многопроцессорная обработка использует подход ведущий-ведомый.
  4. Все процессоры в симметричной многопроцессорной системе взаимодействуют друг с другом через общую память; с другой стороны, при асимметричной многопроцессорной обработке нет связи между процессорами, поскольку ими управляет главный процессор.
  5. В симметричной многопроцессорной обработке все процессоры имеют одинаковый приоритет, а в асимметричной многопроцессорной обработке все процессоры неравны.
Читайте также:  GitHub против GitLab: разница и сравнение

Сравнение симметричной и асимметричной многопроцессорной обработки

Параметр сравненияСимметричная многопроцессорностьАсимметричная многопроцессорность
задача ОСЛюбой процессор выполняет задачи ОС.Главный процессор выполняет только задачи ОС.
ЦенаСимметричные многопроцессорные системы дороже.Асимметричные многопроцессорные системы дешевле.
ПроектированиеСимметричные многопроцессорные системы сложны в проектировании.Асимметричные многопроцессорные системы легче проектировать.
ЦветаСимметричная многопроцессорность подходит для однородных ядер. Асимметричная многопроцессорность подходит для гетерогенных и гомогенных ядер.
Применение Персональные компьютеры.SoC модема для мобильных телефонов
Рекомендации
  1. https://dl.acm.org/doi/abs/10.1145/1654059.1654085
  2. https://www.sciencedirect.com/science/article/pii/S0743731505000882

Последнее обновление: 30 июля 2023 г.

точка 1
Один запрос?

Я приложил столько усилий, чтобы написать этот пост в блоге, чтобы предоставить вам ценность. Это будет очень полезно для меня, если вы подумаете о том, чтобы поделиться им в социальных сетях или со своими друзьями/родными. ДЕЛИТЬСЯ ♥️

Оставьте комментарий

Хотите сохранить эту статью на потом? Нажмите на сердечко в правом нижнем углу, чтобы сохранить в свой собственный блок статей!