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

Вибір Редакції

Різниця між симетричною та асиметричною багатопроцесорною обробкою

Існує два типи багатопроцесорних, симетричних багатопроцесорних і асиметричних багатопроцесорних процесів. Система багатопроцесорної обробки має більше одного процесора, і вони можуть виконувати кілька процесів одночасно. У Symmetric Multiprocessing процесори поділяють одну і ту ж пам'ять. В асиметричному багатопроцесорному процесі є один головний процесор, який керує структурою даних системи. Основна відмінність між симетричною і асиметричною багатопроцесорною обробкою полягає в тому, що в симетричній багатопроцесорній обробці всі процесори в системі виконують завдання в ОС. Але, в Asymmetric Multiprocessing тільки оператор виконує завдання в OS.

Можна диференціювати симетричний багатопроцесорний і асиметричний багатопроцесорний процесор на деяких інших пунктах, про які йдеться в таблиці порівняння, показаної нижче.

Діаграма порівняння

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

Визначення симетричної багатопроцесорної обробки

Симетрична багатопроцесорна обробка є такою, в якій всі процесори виконують завдання в операційній системі. Вона не має відносин майстер-підлеглий, як асиметрична багатопроцесорна. Всі процесори тут спілкуються за допомогою спільної пам'яті .

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

Симетрична багатопроцесорна обробка має належне вирівнювання навантаження, кращу відмовостійкість і також знижує ймовірність вузького місця в процесорі. Він складний, оскільки пам'ять розділяється між усіма процесорами. У симетричній багатопроцесорній обробці помилка процесора призводить до зниження обчислювальної потужності .

Визначення асиметричної багатопроцесорної обробки

Асиметричне багатопроцесорне взаємодія між процесорами має відношення master-slave . Існує один головний процесор, який контролює залишився підлеглий процесор. Головний процесор виділяє процеси на підлеглий процесор, або вони можуть мати певну задачу для виконання.

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

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

Основні відмінності між симетричною та асиметричною багатопроцесорною обробкою

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

Висновок:

Мультипроцесори збільшують швидкість роботи системи, оскільки одночасно можна виконувати кілька процесів. Асиметрична багатопроцесорна обробка проста, тільки один процесор (майстер) може отримати доступ до структури даних. Хоча Symmetric Multiprocessing є складним, оскільки структура даних розділяється між усіма процесорами і всі процесори повинні працювати в синхронізації.

Top