Punti chiave
- Il multiprocessing simmetrico coinvolge più processori che condividono una singola memoria e risorse periferiche, mentre il multiprocessing asimmetrico assegna compiti specifici ai singoli processori.
- Nel multiprocessing simmetrico, le attività sono distribuite uniformemente tra i processori, con conseguente utilizzo più efficiente delle risorse, mentre il multiprocessing asimmetrico può portare a processori sottoutilizzati.
- Il multiprocessing asimmetrico consente un migliore isolamento dei guasti, poiché un malfunzionamento in un processore non ha un impatto diretto sull'altro.

Che cos'è il multiprocessing simmetrico?
La multielaborazione simmetrica è un tipo di multielaborazione in cui due o più processori che lavorano insieme per eseguire un'attività sono collegati tramite una memoria principale condivisa. La multi-elaborazione simmetrica implica l'utilizzo di diverse CPU per eseguire l'attività in modo parallelo e più veloce. Diversi processori che lavorano in multiprocessing simmetrico eseguono tali attività in modo indipendente, consentendo loro di essere completati più rapidamente.
La CPU in multiprocessing simmetrico è collegata tramite una memoria principale condivisa e ha pieno accesso ai dispositivi di input e output. L'input e l'output su questa piattaforma di elaborazione multipla seguono un unico percorso per l'ingresso e l'uscita. Il sistema operativo considerava tutti i processori uguali nella multielaborazione simmetrica. Ogni processore in questo tipo di elaborazione multipla elabora programmi distinti in esecuzione di diversi insiemi di dati.
L'elaborazione simmetrica fornisce un perfetto bilanciamento del carico e una tolleranza agli errori avanzata. Oltre a ciò, diminuisce anche la possibilità di un collo di bottiglia della CPU. Tutti i processori nella multielaborazione simmetrica hanno la loro coda privata di programmi pronti per l'esecuzione. Iniziano a lavorare da quelle code pronte per lo standard ogni volta che ricevono il segnale.
Che cos'è il multiprocessing asimmetrico?
Il multiprocessing asimmetrico è un singolo processore master che gestisce un tipo di multiprocessing in cui due o più processori lavorano insieme. Le CPU del multiprocessing asimmetrico non sono identiche e seguono una relazione master-slave con uno dei processori master. Tutte le CPU che lavorano in multiprocessing asimmetrico sono interconnesse ma non hanno l'auto-programmazione.
Il master processor sul sistema multiprocessore asimmetrico gestisce tutte le attività, come la struttura dei dati e la programmazione delle attività per gli altri processori. Se il processore master si guasta, uno qualsiasi dei processori slave assume se stesso come processore master e controlla l'esecuzione del processore. D'altra parte, se uno dei processori slave si guasta, un altro processore slave assume le sue attività.
Tutti i processori che lavorano nel sistema multiprocessore asimmetrico non possono avviare alcun processo. Può seguire solo i compiti assegnatigli dal processore principale. Lavorare con un sistema multiprocessore simmetrico diventa facile grazie alla sua relazione master-slave. Il traffico di rete in entrata e in uscita su reti asimmetriche segue diversi percorsi.
Differenza tra multiprocessing simmetrico e asimmetrico
- I sistemi di multielaborazione simmetrici sono complessi e richiedono la sincronizzazione per mantenere il bilanciamento del carico. D'altra parte, i sistemi multiprocessing asimmetrici sono piuttosto semplici, in quanto il processore principale ha accesso a tutti i dati e non richiede la sincronizzazione.
- Tutte le CPU nel multiprocessing simmetrico condividono la stessa memoria, mentre nel multiprocessing asimmetrico un singolo master processor controlla la struttura dei dati.
- Il processo di coda pronta viene utilizzato nei multiprocessori simmetrici, mentre il multiprocessing asimmetrico utilizza l'approccio master-slave.
- Tutti i processori in multiprocessing simmetrico comunicano tra loro attraverso la memoria condivisa; d'altra parte, non c'è comunicazione tra i processori nel multiprocessing asimmetrico perché il processore principale li controlla.
- Nel multiprocessing simmetrico, tutti i processori sono uguali in precedenza, mentre nel multiprocessing asimmetrico, tutti i processori sono disuguali.
Confronto tra multiprocessing simmetrico e asimmetrico
Parametro di confronto | Multielaborazione simmetrica | Multielaborazione asimmetrica |
---|---|---|
compito del sistema operativo | Qualsiasi processore esegue attività del sistema operativo. | Il processore principale esegue solo attività del sistema operativo. |
Costo | I sistemi multiprocessing simmetrici sono più costosi. | I sistemi multiprocessing asimmetrici sono più economici. |
Progettazione | I sistemi multiprocessing simmetrici sono complessi da progettare. | I sistemi multiprocessing asimmetrici sono più facili da progettare. |
Colori | La multielaborazione simmetrica è adatta per i nuclei omogenei. | Il multiprocessing asimmetrico è adatto per nuclei eterogenei e omogenei. |
Applicazioni | Computer personale. | SoC in banda base per modem per telefoni cellulari |