Diferența dintre multiprocesarea simetrică și cea asimetrică

Autor: Laura McKinney
Data Creației: 2 Aprilie 2021
Data Actualizării: 5 Mai 2024
Anonim
Asymmetric and Symmetric Multiprocessing
Video: Asymmetric and Symmetric Multiprocessing

Conţinut


Există două tipuri de multiprocesare, multiprocesare simetrică și multiprocesare asimetrică. Sistemul de multiprocesare are mai mult de un procesor și pot executa mai multe procese simultan. În multiprocesarea simetrică, procesoarele partajează aceeași memorie. În multiprocesarea asimetrică există un singur procesor principal care controlează structura de date a sistemului. Diferența principală dintre multiprocesarea simetrică și asimetrică este aceea că Multiprocesare simetrică tot procesorul din sistem execută sarcini în sistem de operare. Dar în Multiprocesare asimetrică numai sarcina procesorului principal rulează sarcina de operare.

Puteți diferenția multiprocesorul simetric și multiprocesorul asimetric pe alte puncte pe care le discută în graficul de comparație prezentat mai jos.

  1. Diagramă de comparație
  2. Definiție
  3. Diferențele cheie
  4. Concluzie

Diagramă de comparație

Baza pentru comparațieMultiprocesare simetricăMultiprocesare asimetrică
De bazăFiecare procesor rulează sarcinile din Sistemul de operare.Doar procesorul Master rulează sarcinile Sistemului de operare.
ProcesProcesorul preia procesele dintr-o coadă pregătită comună sau poate exista o coadă pregătită privată pentru fiecare procesor.Procesorul principal alocă procesele procesoarelor slave sau au unele procese predefinite.
ArhitecturăTot procesorul din Multiprocesarea simetrică are aceeași arhitectură.Toate procesoarele din multiprocesarea asimetrică pot avea o arhitectură identică sau diferită.
ComunicareToate procesoarele comunică cu un alt procesor printr-o memorie partajată.Procesoarele nu trebuie să comunice, deoarece sunt controlate de procesorul principal.
eșecDacă un procesor nu reușește, capacitatea de calcul a sistemului se reduce.Dacă un procesor principal eșuează, un sclav este apelat la procesorul principal pentru a continua execuția. Dacă un procesor slab eșuează, sarcina sa este comutată la alte procesoare.
UşuraMultiprocesorul simetric este complex, deoarece toate procesoarele trebuie sincronizate pentru a menține echilibrul de încărcare.Multiprocesorul asimetric este simplu, deoarece procesorul principal accesează structura de date.


Definiția Symmetric Multiprocessing

Multiprocesare simetrică este unul în care tot procesorul rulează sarcinile din sistemul de operare. Are nici un stăpân-sclav relație precum multiprocesarea asimetrică. Toate procesoarele de aici comunică folosind memorie partajată.

Procesoarele încep să execute procesele din coada pregătită comună. Fiecare procesor poate avea, de asemenea, propria coadă privată de procese pregătite pentru a fi executat. Trebuie să aibă grijă de către Scheduler că niciun procesor nu execută același proces.

Simetric Multiprocessing are corect echilibrarea sarcinii, mai bine toleranță la erori și, de asemenea, reduce șansa procesorului strangulare. Este complex deoarece memoria este împărțită între toate procesoarele. În multiprocesarea simetrică, apare o defecțiune a procesorului capacitate redusă de calcul.


Definiția Asymmetric Multiprocessing

Multiprocesare asimetrică are master-slave relația dintre procesatori. Există un procesor principal care controlează procesorul slave rămas. Procesorul master alocă procese pentru procesor slave sau poate avea o sarcină predefinită de îndeplinit.

Procesorul principal controlează structură de date. programare a proceselor, I / O procesarea și alte activități ale sistemului sunt controlate de către procesor master.

În cazul în care un procesor master eșuează, un procesor din procesorul slave este transformat în procesorul principal pentru a continua execuția. În cazul în care un procesor slave eșuează, celălalt procesor slave își preia sarcina. Multiprocesarea asimetrică este simplu deoarece există un singur procesor care controlează structura datelor și toate activitățile din sistem.

  1. Cel mai distinct punct dintre multiprocesarea simetrică și cea asimetrică este că sarcinile din sistemul de operare sunt gestionate numai de procesorul principal în multiprocesare asimetrică. Pe de altă parte, toate procesoarele din multiprocesarea simetrică rulează sarcinile în sistem de operare.
  2. În multiprocesarea simetrică, fiecare procesor poate avea propria coadă privată de procese gata sau poate prelua procese dintr-o coadă pregătită comună. Dar, în multiprocesarea asimetrică, procesorul master alocă procesoare procesoarelor slave.
  3. Tot procesorul din Multiprocesarea simetrică are aceeași arhitectură. Dar structura procesoarelor în multiprocesorul asimetric poate diferi.
  4. Procesoarele în multiprocesare simetrică comunică între ele prin memoria partajată. Cu toate acestea, procesoarele din multiprocesarea asimetrică nu trebuie să comunice între ele, deoarece sunt controlate de procesorul principal.
  5. În cazul în care procesorul principal nu reușește, un procesor slave este transformat în procesor principal pentru a continua execuția. Dar, dacă un procesor cu multiprocesare simetrică eșuează, capacitatea de calcul a sistemului este redusă.
  6. Multiprocesorul asimetric este simplu, deoarece doar procesorul principal accesează structura de date, în timp ce multiprocesorul simetric este complex, deoarece toate procesoarele trebuie să funcționeze în sincronizare.

Concluzie:

Multiprocesoarele cresc viteza sistemului, deoarece se pot executa mai multe procese simultan. Multiprocesarea asimetrică este simplă, un singur procesor (master) poate accesa structura de date. În timp ce multiprocesarea simetrică este complexă, deoarece structura de date este distribuită între toate procesoarele și toate procesoarele trebuie să funcționeze în sincronizare.