Рекомендуем, 2024

Выбор редакции

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

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

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

Сравнительная таблица

Основа для сравненияСимметричная многопроцессорная обработкаАсимметричная многопроцессорная обработка
основнойКаждый процессор запускает задачи в операционной системе.Только мастер процессор выполняет задачи операционной системы.
ПроцессПроцессор берет процессы из общей очереди готовности, или для каждого процессора может быть личная очередь готовности.Главный процессор назначает процессы подчиненным процессорам, или у них есть некоторые предопределенные процессы.
АрхитектураВсе процессоры в Symmetric Multiprocessing имеют одинаковую архитектуру.Все процессоры в асимметричной многопроцессорной обработке могут иметь одинаковую или разную архитектуру.
связьВсе процессоры обмениваются данными с другим процессором посредством общей памяти.Процессоры не должны обмениваться данными, поскольку они контролируются главным процессором.
недостаточностьЕсли процессор выходит из строя, вычислительная мощность системы уменьшается.Если ведущий процессор выходит из строя, ведомый превращается в ведущий процессор для продолжения выполнения. В случае сбоя подчиненного процессора его задача переключается на другие процессоры.
непринужденностьСимметричный мультипроцессор сложен, так как все процессоры должны быть синхронизированы для поддержания баланса нагрузки.Асимметричный мультипроцессор прост как главный процессор доступа к структуре данных.

Определение симметричной многопроцессорной обработки

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

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

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

Определение асимметричной многопроцессорной обработки

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

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

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

Ключевые различия между симметричной и асимметричной многопроцессорной обработкой

  1. Наиболее отличительной чертой между симметричной и асимметричной многопроцессорной обработкой является то, что задачи в ОС обрабатываются только главным процессором в асимметричной многопроцессорной обработке. С другой стороны, все процессоры в симметричной многопроцессорной обработке выполняют задачи в ОС.
  2. В симметричной многопроцессорной обработке каждый процессор может иметь собственную частную очередь готовых процессов или принимать процессы из общей очереди готовности. Но в асимметричной многопроцессорной обработке главный процессор назначает процессы подчиненным процессорам.
  3. Все процессоры в Symmetric Multiprocessing имеют одинаковую архитектуру. Но структура процессоров в асимметричном мультипроцессоре может отличаться.
  4. Процессоры в симметричной многопроцессорной обработке взаимодействуют друг с другом через общую память. Однако процессоры в асимметричной многопроцессорной обработке не должны обмениваться данными друг с другом, поскольку они управляются главным процессором.
  5. В случае сбоя главного процессора подчиненный процессор превращается в главный процессор для продолжения выполнения. Но в случае сбоя процессора в симметричной многопроцессорной обработке вычислительная мощность системы уменьшается.
  6. Асимметричный мультипроцессор прост, поскольку только главный процессор имеет доступ к структуре данных, тогда как симметричный мультипроцессор сложен, так как все процессоры должны работать синхронно.

Заключение:

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

Top