Differenza tra multiprocessing simmetrico e asimmetrico in informatica

Differenza tra multiprocessing simmetrico e asimmetrico in informatica

In informatica, la principale differenza tra multiprocessing simmetrico e asimmetrico (in inglese Symmetric and Asymmetric Multiprocessing) è che, nel multiprocessing simmetrico, le CPU sono identiche e condividono la memoria principale mentre, nel multiprocessing asimmetrico, le CPU non sono identiche e seguono la relazione slave-master.

Un processore o la CPU è un componente importante del computer. Gestisce operazioni aritmetiche e logiche e gestisce attività di input-output. Genera anche segnali per sincronizzare le operazioni di altri componenti. A seconda del numero di processori , esistono due tipi di sistemi informatici come sistemi a processore singolo e sistemi multiprocessore . In un sistema a processore singolo, una CPU esegue il set di istruzioni per scopi generali e le istruzioni dai processi utente. I sistemi multiprocessore sono costituiti da più processori e possono eseguire più attività contemporaneamente. Questi sistemi aumentano la produttività e l’affidabilità. Esistono due tipi di sistemi multiprocessore chiamati multiprocessing simmetrico e asimmetrico.

Multiprocessing simmetrico

In un sistema multiprocessore simmetrico, due o più processori sono collegati a un’unica memoria principale condivisa. Tutti i processori hanno pieno accesso ai dispositivi di input e output. Il sistema operativo tratta tutti questi processori allo stesso modo. È un sistema multiprocessore strettamente accoppiato con una serie di processori simili che funzionano in modo indipendente. Ogni processore esegue programmi diversi e lavora su diversi set di dati. Condividono le risorse comuni come memoria, dispositivo IO, ecc.

Multiprocessing asimmetrico

Nei sistemi multiprocessing asimmetrici, tutte le CPU non sono uguali. In altre parole, un processore potrebbe eseguire il codice del sistema operativo mentre un altro processore sta eseguendo attività di input e output. Le applicazioni multiprocessing asimmetriche vengono utilizzate quando ogni processore è dedicato all’esecuzione di un’attività specifica.

Il multiprocessing asimmetrico utilizza un approccio master-slave. Un processore funziona come master mentre gli altri processori funzionano come processori slave. Il processore master monitora gli altri processori e assegna le attività a ciascun processore slave. Supponiamo che ci siano quattro CPU come C1, C2, C3 e C4. C4 è il processore principale e assegna i compiti agli altri processori. Supponiamo che C1 sia assegnato al processo P1, C2 sia assegnato al processo p2 e C3 sia assegnato al processo p3. Ogni processore lavorerà solo sui processi assegnati.

Differenza tra multiprocessing simmetrico e asimmetrico in informatica

Differenza tra multiprocessing simmetrico e asimmetrico

Definizione

Il multiprocessing simmetrico è l’elaborazione di programmi da parte di più processori che condividono un sistema operativo e una memoria comuni. Il multiprocessing asimmetrico è l’elaborazione di programmi da parte di più processori che funzionano secondo la relazione master-slave. Quindi, questo spiega la differenza fondamentale tra multiprocessing simmetrico e asimmetrico.

Processori

Inoltre, nel multiprocessing simmetrico, tutti i processori sono trattati allo stesso modo mentre nel multiprocessing asimmetrico, i processori non sono trattati allo stesso modo. Questa è una delle principali differenze tra il multiprocessing simmetrico e asimmetrico.

Architettura

Per aggiungere a questo, un’altra differenza tra il multiprocessing simmetrico e asimmetrico è l’architettura dei processori. Tutti i processori hanno la stessa architettura nel multiprocessing simmetrico. Tuttavia, l’architettura può essere diversa per ogni processore nel multiprocessing asimmetrico.

Processi

Inoltre, nel multiprocessing simmetrico, i processori prendono i processi dalla coda pronta. Ogni processore può avere code pronte separate. Ma, nel multiprocessing asimmetrico, il processore master assegna i processi ai processori slave.

Comunicazione

Un’altra differenza tra il multiprocessing simmetrico e asimmetrico è il modo in cui i processori comunicano tra loro. Nel multiprocessing simmetrico, i processori comunicano tra loro tramite la memoria condivisa. Ma, nel multiprocessing asimmetrico, i processori comunicano con il processore principale.

Complessità

Inoltre, nel multiprocessing simmetrico, i processori devono essere sincronizzati per mantenere l’equilibrio del carico. Pertanto, è complesso. Nel multiprocessing asimmetrico, il processore principale accede ai dati, ecc. Pertanto è semplice.

Progettare

Inoltre, i sistemi multiprocessing asimmetrici sono più facili da progettare e gestire rispetto ai sistemi multiprocessing simmetrici.

Costo

Inoltre, i sistemi multiprocessing asimmetrico sono più economici dei sistemi multiprocessing simmetrici.

Conclusioni

I sistemi multiprocessing possono essere multiprocessing simmetrici o asimmetrici. La differenza tra multiprocessing simmetrico e asimmetrico è che nel multiprocessing simmetrico le CPU sono identiche e condividono la memoria principale mentre nel multiprocessing asimmetrico le CPU non sono identiche e seguono la relazione slave, master.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *