Recomandat, 2024

Alegerea Editorului

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

Există două tipuri de multiprocesare, multiprocesare simetrică și multiprocesare asimetrică. Sistemul multiprocesor are mai mult de un procesor și poate executa mai multe procese simultan. În procesarea simetrică multiprocesoare, procesoarele partajează aceeași memorie. În multimodificarea asimetrică există un procesor principal care controlează structura de date a sistemului. Diferența principală între Symmetric și Asimetric Multiprocessing este că în Symmetric Multiprocessing tot procesorul din sistem execută sarcini în sistemul de operare. Dar, în procesarea asimetrică multiplă, numai procesorul comandant execută sarcină în sistemul de operare.

Puteți diferenția Symmetric Multiprocessor și Multiprocessor asimetric în alte puncte pe care le discută în tabelul de comparație prezentat mai jos.

Diagramă de comparație

Bazele comparațieiMultiprocesare simetricăMultiprocesare asimetrică
De bazăFiecare procesor execută sarcinile din Sistemul de operare.Numai procesorul Master execută sarcinile sistemului de operare.
ProcesProcesorul ia procese dintr-o coadă de așteptare obișnuită sau poate exista o coadă de așteptare privată pentru fiecare procesor.Procesorul principal atribuie proceselor procesoare slave sau au anumite procese predefinite.
ArhitecturăToate procesoarele din Symmetric Multiprocessing au aceeași arhitectură.Toate procesoarele din multimodele asimetrice pot avea arhitecturi identice sau diferite.
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 nu reușește, un robot este apelat la procesorul principal pentru a continua execuția. Dacă un procesor slave nu reușește, sarcina sa este schimbată la alte procesoare.
UşuraSymmetric Multiprocessor este complex deoarece toate procesoarele trebuie sincronizate pentru a menține echilibrul de sarcină.Multiprocesorul asimetric este simplu, deoarece procesorul principal accesează structura de date.

Definiția Symmetric Multiprocessing

Symmetric Multiprocessing este unul în care toate procesoarele rulează sarcinile din sistemul de operare. Nu are o relație master-slave ca multiprocesarea asimetrică. Toate procesoarele de aici, comunică folosind memoria partajată .

Procesoarele încep executarea proceselor din coada de așteptare comună. Fiecare procesor poate avea, de asemenea, o coadă privată de procese gata pentru a fi executată. Programatorul trebuie să aibă grijă ca niciun procesor să nu execute același proces.

Symmetric Multiprocessing are o încărcare corectă a sarcinii, o toleranță mai bună la defecte și, de asemenea, reduce șansele de blocare a procesorului. Este complex deoarece memoria este împărțită între toți procesatorii. În procesarea simetrică multiplă, o eroare a procesorului are ca rezultat o capacitate redusă de calcul .

Definiția Asymmetric Multiprocessing

Multiprocesarea asimetrică are relația master-slave între procesoare. Există un procesor master care controlează procesorul slave rămas. Procesorul de bază alocă procese procesorului slave sau pot avea o sarcină predefinită de efectuat.

Procesorul principal controlează structura de date . Programarea proceselor, procesarea I / O și alte activități ale sistemului sunt controlate de procesorul principal .

În cazul în care un procesor master nu reușește, un procesor între procesorul slave este făcut ca procesorul principal să continue executarea. În cazul în care un procesor slave nu reușește, celălalt procesor slave își preia funcția. Multiprocesarea asimetrică este simplă deoarece există un singur procesor care controlează structura datelor și toate activitățile din sistem.

Diferențele cheie între multiprocesarea simetrică și asimetrică

  1. Punctul cel mai distinct dintre multiprocesarea simetrică și asimetrică este faptul că sarcinile din sistemul de operare sunt gestionate numai de către procesorul-master în multimodificare asimetrică. Pe de altă parte, toate procesoarele în procesare simetrică rulează sarcinile în sistemul de operare.
  2. În multiprocesarea simetrică, fiecare procesor poate avea o coadă privată de procese gata, sau poate prelua procese dintr-o coadă de așteptare comună. Dar, în procesarea multiplă asimetrică, procesorul principal atribuie procese procesoarelor slave.
  3. Tot procesorul din Symmetric Multiprocessing are aceeași arhitectură. Dar structura procesoarelor în multiprocesor asimetric poate fi diferită.
  4. Procesoarele în multiprocesare simetrică comunică între ele prin memoria partajată. Cu toate acestea, procesoarele din multimodul asimetric nu trebuie să comunice între ele deoarece sunt controlate de către procesorul principal.
  5. În cazul în care procesorul principal nu reușește, un procesor slave este apelat la procesorul principal pentru a continua execuția. Dar, dacă un procesor cu procesare simetrică nu reușește, capacitatea de calcul a sistemului este redusă.
  6. Multiprocesorul asimetric este simplu deoarece numai procesorul principal accesează structura de date, în timp ce multiprocesorul simetric este complex deoarece toate procesoarele trebuie să funcționeze în sincronizare.

Concluzie:

Multiprocesoarele măresc viteza sistemului, deoarece se pot executa simultan mai multe procese. Transformarea asimetrică este simplă, doar un singur procesor (master) poate accesa structura de date. În timp ce Symmetric Multiprocessing este complex deoarece structura de date este împărțită între toți procesoarele și tot procesorul trebuie să lucreze în sincronizare.

Top