
Можна диференціювати симетричний багатопроцесорний і асиметричний багатопроцесорний процесор на деяких інших пунктах, про які йдеться в таблиці порівняння, показаної нижче.
Діаграма порівняння
Основа для порівняння | Симетрична багатопроцесорна обробка | Асиметрична багатопроцесорна обробка |
---|---|---|
Основний | Кожен процесор виконує завдання в операційній системі. | Тільки Master процесор виконує завдання операційної системи. |
Процес | Процесор приймає процеси з загальної готової черги або може існувати приватна готова чергу для кожного процесора. | Головний процесор призначає процеси підлеглим процесорам, або вони мають певні заздалегідь визначені процеси. |
Архітектура | Всі процесори в Symmetric Multiprocessing мають таку ж архітектуру. | Всі процесори в Asymmetric Multiprocessing можуть мати однакову або різну архітектуру. |
Спілкування | Всі процесори спілкуються з іншим процесором спільною пам'яттю. | Процесори не повинні обмінюватися даними, оскільки вони керуються головним процесором. |
Невдача | Якщо процесор виходить з ладу, обчислювальна потужність системи зменшується. | Якщо головний процесор виходить з ладу, підлеглий звертається до головного процесора для продовження виконання. Якщо підлеглий процесор виходить з ладу, його завдання перемикається на інші процесори. |
Простота | Симетричний багатопроцесорний пристрій є складним, оскільки всі процесори повинні бути синхронізовані для підтримки балансу навантаження. | Асиметричний багатопроцесорний пристрій є простим, оскільки головний процесор отримує доступ до структури даних. |
Визначення симетричної багатопроцесорної обробки
Симетрична багатопроцесорна обробка є такою, в якій всі процесори виконують завдання в операційній системі. Вона не має відносин майстер-підлеглий, як асиметрична багатопроцесорна. Всі процесори тут спілкуються за допомогою спільної пам'яті .
Процесори починають виконувати процеси із загальної готової черги. Кожен процесор може також мати свою власну приватну чергу готових процесів для виконання. Планувальник повинен подбати про те, щоб два процесори не виконували один і той же процес.
Симетрична багатопроцесорна обробка має належне вирівнювання навантаження, кращу відмовостійкість і також знижує ймовірність вузького місця в процесорі. Він складний, оскільки пам'ять розділяється між усіма процесорами. У симетричній багатопроцесорній обробці помилка процесора призводить до зниження обчислювальної потужності .
Визначення асиметричної багатопроцесорної обробки
Асиметричне багатопроцесорне взаємодія між процесорами має відношення master-slave . Існує один головний процесор, який контролює залишився підлеглий процесор. Головний процесор виділяє процеси на підлеглий процесор, або вони можуть мати певну задачу для виконання.
Головний процесор управляє структурою даних . Планування процесів, обробки вводу-виводу та інших системних операцій контролюється головним процесором .
У разі виходу з ладу основного процесора один процесор серед підлеглого процесора примушує головний процесор продовжувати виконання. У випадку, якщо підлеглий процесор виходить з ладу, інший підлеглий процесор бере на себе його роботу. Асиметрична багатопроцесорна обробка проста, оскільки існує тільки один процесор, який контролює структуру даних і всі дії в системі.
Основні відмінності між симетричною та асиметричною багатопроцесорною обробкою
- Найбільш помітним моментом між симетричною і асиметричною багатопроцесорною обробкою є те, що завдання в ОС обробляються тільки головним процесором в Асиметричній багатопроцесорній обробці. З іншого боку, всі процесори в симетричній багатопроцесорній роботі виконують завдання в ОС.
- У симетричній багатопроцесорній обробці кожен процесор може мати свою власну приватну чергу готових процесів, або вони можуть приймати процеси з загальної готової черги. Але, в асиметричному багатопроцесорному процесі, головний процесор призначає процеси в підлеглі процесори.
- Всі процесори в Symmetric Multiprocessing мають таку ж архітектуру. Але структура процесорів в асиметричному багатопроцесорному пристрої може відрізнятися.
- Процесори в симетричній багатопроцесорній взаємодії взаємодіють між собою спільною пам'яттю. Однак процесори в асиметричній багатопроцесорній обробці не повинні спілкуватися один з одним, оскільки вони управляються головним процесором.
- У разі, якщо головний процесор виходить з ладу, підлеглий процесор повертається для керування процесором для продовження виконання. Але, якщо процесор в симетричній багатопроцесорній обробці виходить з ладу, обчислювальна потужність системи зменшується.
- Асиметричний багатопроцесорний простий, оскільки тільки головний процесор звертається до структури даних, тоді як симетричний мультипроцесор є складним, оскільки всі процесори повинні працювати в синхронізації.
Висновок:
Мультипроцесори збільшують швидкість роботи системи, оскільки одночасно можна виконувати кілька процесів. Асиметрична багатопроцесорна обробка проста, тільки один процесор (майстер) може отримати доступ до структури даних. Хоча Symmetric Multiprocessing є складним, оскільки структура даних розділяється між усіма процесорами і всі процесори повинні працювати в синхронізації.