Różnica między symetrycznym i asymetrycznym przetwarzaniem wielokrotnym

Autor: Laura McKinney
Data Utworzenia: 2 Kwiecień 2021
Data Aktualizacji: 5 Móc 2024
Anonim
Różnica między symetrycznym i asymetrycznym przetwarzaniem wielokrotnym - Technologia
Różnica między symetrycznym i asymetrycznym przetwarzaniem wielokrotnym - Technologia

Zawartość


Istnieją dwa rodzaje przetwarzania wieloprocesorowego, przetwarzanie symetryczne i przetwarzanie asymetryczne. System wieloprocesowy ma więcej niż jeden procesor i mogą wykonywać wiele procesów jednocześnie. W symetrycznym przetwarzaniu wieloprocesorowym procesory współużytkują tę samą pamięć. W Asymmetric Multiprocessing istnieje jeden główny procesor, który kontroluje strukturę danych systemu. Główną różnicą między symetrycznym a asymetrycznym przetwarzaniem wielokrotnym jest to, że w Symetryczne przetwarzanie wieloprocesorowe wszystkie procesory w systemie wykonują zadania w systemie operacyjnym. Ale w Asymetryczne przetwarzanie wieloprocesorowe tylko zadanie uruchamiania procesora głównego w systemie operacyjnym.

Możesz rozróżnić symetryczny multiprocesor i asymetryczny multiprocesor w niektórych innych punktach, które zostały omówione na poniższej tabeli porównawczej.

  1. Wykres porównania
  2. Definicja
  3. Kluczowe różnice
  4. Wniosek

Wykres porównania

Podstawa do porównaniaSymetryczne przetwarzanie wieloprocesoroweAsymetryczne przetwarzanie wieloprocesorowe
PodstawowyKażdy procesor uruchamia zadania w systemie operacyjnym.Tylko procesor główny uruchamia zadania systemu operacyjnego.
ProcesProcesor pobiera procesy ze wspólnej gotowej kolejki lub może istnieć prywatna kolejka gotowa dla każdego procesora.Procesor główny przypisuje procesy do procesorów podrzędnych lub mają one wstępnie zdefiniowane procesy.
ArchitekturaWszystkie procesory w symetrycznym przetwarzaniu wieloprocesorowym mają tę samą architekturę.Wszystkie procesory w asymetrycznym przetwarzaniu wielokrotnym mogą mieć tę samą lub inną architekturę.
KomunikacjaWszystkie procesory komunikują się z innym procesorem przez pamięć współdzieloną.Procesory nie muszą się komunikować, ponieważ są kontrolowane przez procesor główny.
NiepowodzenieJeśli procesor ulegnie awarii, pojemność obliczeniowa systemu zmniejsza się.Jeśli procesor główny ulegnie awarii, urządzenie podrzędne zostanie zwrócone do procesora głównego, aby kontynuować wykonywanie. Jeśli procesor podrzędny ulegnie awarii, jego zadanie zostanie przełączone na inne procesory.
ŁatwośćSymetryczny multiprocesor jest złożony, ponieważ wszystkie procesory muszą być zsynchronizowane, aby utrzymać równowagę obciążenia.Asymetryczny multiprocesor jest prosty, ponieważ główny procesor uzyskuje dostęp do struktury danych.


Definicja symetrycznego przetwarzania wieloprocesowego

Symetryczne przetwarzanie wieloprocesorowe to taki, w którym wszystkie procesory uruchamiają zadania w systemie operacyjnym. To ma brak master-slave związek jak asymetryczne przetwarzanie wieloprocesowe. Wszystkie procesory tutaj komunikują się za pomocą pamięć współdzielona.

Procesory zaczynają wykonywać procesy ze wspólnej kolejki gotowości. Każdy procesor może mieć również swoją prywatną kolejkę gotowych procesów do wykonania. Należy się tym zająć planista że żadne dwa procesory nie wykonują tego samego procesu.

Symetryczne przetwarzanie wieloprocesorowe działa poprawnie równoważenie obciążenia, lepszy tolerancja na awarie a także zmniejsza szansę na procesor szyjka. To jest złożony ponieważ pamięć jest dzielona między wszystkie procesory. W symetrycznym przetwarzaniu wielokrotnym awaria procesora powoduje zmniejszona wydajność obliczeniowa.


Definicja asymetrycznego przetwarzania wieloprocesowego

Asymetryczne przetwarzanie wieloprocesorowe zawiera master-slave związek między procesorami. Istnieje jeden procesor główny, który kontroluje pozostały procesor podrzędny. Procesor główny przydziela procesy procesorowi podporządkowanemu lub może mieć pewne predefiniowane zadanie do wykonania.

Procesor główny kontroluje struktura danych. The planowanie procesów, I / O przetwarzanie i inne działania systemowe są kontrolowane przez główny procesor.

W przypadku awarii głównego procesora jeden procesor spośród procesora podrzędnego zostaje ustawiony na procesor główny, aby kontynuować wykonywanie. W przypadku awarii procesora podrzędnego drugi procesor podrzędny przejmuje jego zadanie. Asymetryczne przetwarzanie wieloprocesowe jest prosty ponieważ istnieje tylko jeden procesor kontrolujący strukturę danych i wszystkie działania w systemie.

  1. Najbardziej rozróżnialnym punktem między symetrycznym i asymetrycznym wieloprocesowością jest to, że zadania w systemie operacyjnym są obsługiwane tylko przez procesor nadrzędny w wieloprocesowym przetwarzaniu asymetrycznym. Z drugiej strony wszystkie procesory w symetrycznym wieloprocesorowym uruchamiają zadania w systemie operacyjnym.
  2. W symetrycznym przetwarzaniu wielokrotnym każdy procesor może mieć własną prywatną kolejkę gotowych procesów lub może pobierać procesy ze wspólnej kolejki gotowej. Ale w asymetrycznym przetwarzaniu wieloprocesorowym procesor główny przypisuje procesy do procesorów podrzędnych.
  3. Cały procesor w Symmetric Multiprocessing ma tę samą architekturę. Ale struktura procesorów w asymetrycznym multiprocesorze może się różnić.
  4. Procesory w symetrycznym przetwarzaniu wieloprocesorowym komunikują się ze sobą przez pamięć współdzieloną. Jednak procesory w Asymmetric Multiprocessing nie muszą się ze sobą komunikować, ponieważ są kontrolowane przez procesor główny.
  5. W przypadku awarii procesora głównego procesor podrzędny zostaje przełączony na procesor główny, aby kontynuować wykonywanie. Ale jeśli procesor w symetrycznym przetwarzaniu wielokrotnym zawiedzie, pojemność obliczeniowa systemu zostanie zmniejszona.
  6. Asymetryczny wieloprocesor jest prosty, ponieważ tylko główny procesor uzyskuje dostęp do struktury danych, podczas gdy symetryczny wieloprocesor jest złożony, ponieważ wszystkie procesory muszą pracować w synchronizacji.

Wniosek:

Multiprocesory zwiększają szybkość systemu, ponieważ można wykonywać wiele procesów jednocześnie. Asymetryczne przetwarzanie wieloprocesowe jest proste, tylko jeden procesor (master) może uzyskać dostęp do struktury danych. Podczas gdy wieloprocesorowość symetryczna jest złożona, ponieważ struktura danych jest wspólna dla wszystkich procesorów, a wszystkie procesory muszą pracować w synchronizacji.