Multiprocessing in cosa consiste, tipologie, requisiti, vantaggi

2980
Robert Johnston

Il multiprocessing, applicata all'informatica, è una forma di funzionamento di un computer in cui è fisicamente presente più di un processore. Lo scopo è avere la disposizione per eseguire contemporaneamente diverse parti di un programma.

Queste più unità di elaborazione centrale (CPU) sono in stretta comunicazione, condividendo il bus, la memoria e altri dispositivi periferici del computer. Poiché sono disponibili più processori, è possibile eseguire più processi contemporaneamente.

Fonte: Khazadum [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/)]

Il multiprocessing si riferisce più al numero di unità CPU che al numero di processi in esecuzione simultaneamente. Se l'hardware fornisce più di un processore, si tratta di multiprocessing. È la capacità del sistema di sfruttare la potenza di calcolo di più processori.

Il sistema multiprocessing è molto utile quando si desidera avere una velocità sufficientemente elevata per elaborare una grande serie di dati. Questi sistemi sono utilizzati principalmente in applicazioni come previsioni meteorologiche, controllo satellitare, ecc..

Questo tipo di sistema multiprocessore è apparso per la prima volta in grandi computer o mainframe, prima di ridurne i costi per assicurarne l'inclusione nei personal computer..

Indice articolo

  • 1 Cos'è il multiprocessing?
    • 1.1 Differenza tra multiprocessing e multiprogramming
  • 2 Requisiti
    • 2.1 Supporto del processore
    • 2.2 Supporto della scheda madre
    • 2.3 Supporto del sistema operativo
  • 3 Tipi di multiprocessing
    • 3.1 Multiprocessing simmetrico
    • 3.2 Multiprocessing asimmetrico
  • 4 vantaggi
    • 4.1 Maggiore produttività
    • 4.2 Maggiore affidabilità
    • 4.3 Risparmio di denaro
  • 5 Svantaggi
    • 5.1 Costo di acquisto più elevato
    • 5.2 Sistema operativo complesso
    • 5.3 È necessaria una grande quantità di memoria
  • 6 Riferimenti

Cos'è il multiprocessing?

Con il supporto di un sistema multiprocessing, più processi possono essere eseguiti in parallelo.

Supponiamo che i processi Pr1, Pr2, Pr3 e Pr4 siano in attesa di essere eseguiti. Su un sistema a processore singolo, verrà eseguito per primo un processo, poi il successivo, poi l'altro e così via.

Tuttavia, con il multiprocessing, ogni processo può essere impostato su una particolare CPU per l'elaborazione..

Se si tratta di un processore dual-core, con due processori, due processi possono essere eseguiti contemporaneamente e quindi saranno due volte più veloci. Allo stesso modo, un processore quad-core sarà quattro volte più veloce di un singolo processore..

Poiché una determinata funzione viene assegnata da eseguire da ciascun processore, sarà in grado di eseguire il proprio lavoro, consegnare il set di istruzioni al processore successivo e iniziare a lavorare su un nuovo set di istruzioni.

Ad esempio, un processore più grande potrebbe utilizzare processori "slave" per eseguire varie attività di pulizia, come la gestione della memoria..

Allo stesso modo, diversi processori possono essere utilizzati per gestire le comunicazioni di dati, l'archiviazione in memoria o le funzioni aritmetiche..

Differenza tra multiprocessing e multiprogramming

Un sistema è multiprocesso avendo più di un processore fisicamente e può essere multiprogrammazione quando ha più processi in esecuzione simultaneamente..

Pertanto, la differenza tra multiprocessing e multiprocessing è che il multiprocessing esegue più processi contemporaneamente su più processori, mentre il multiprocessing mantiene diversi programmi nella memoria principale e li esegue simultaneamente attraverso una singola CPU.

Cioè, il multiprocessing avviene attraverso l'elaborazione parallela, mentre la multiprogrammazione si verifica quando una singola CPU passa da un processo a un altro..

Requisiti

Per utilizzare efficacemente il sistema multiprocessing, il sistema informatico deve disporre di quanto segue:

Supporto del processore

È necessario disporre di una serie di processori in grado di utilizzarli in un sistema multiprocessore.

Staffa della scheda madre

Una scheda madre in grado di contenere e gestire più processori. Ciò significa prese o slot extra per chip aggiunti.

Supporto del sistema operativo

L'intero task multiprocessing è gestito dal sistema operativo, che assegna i diversi task che devono essere svolti dai vari processori del sistema..

Si dice che le applicazioni progettate per essere utilizzate nel multiprocessing siano cucite, il che significa che sono suddivise in routine più piccole che possono essere eseguite indipendentemente..

Ciò consente al sistema operativo di consentire l'esecuzione simultanea di questi thread su più di un processore, con conseguente multiprocessing e prestazioni migliori..

Tipi di multiprocessing

Multiprocessing simmetrico

In questo tipo di multiprocessing, tutti i processori hanno una relazione reciproca allo stesso livello di uguaglianza, ovvero non esiste una relazione master-slave tra di loro..

Tutti i processori sono in comunicazione tra loro, poiché ognuno contiene una copia dello stesso sistema operativo.

Un esempio del sistema multiprocessing simmetrico è la versione Encore di Unix per il computer Multimax..

Multiprocessing asimmetrico

In questo tipo di multiprocessing è presente un master processor che dà istruzioni a tutti gli altri processori, assegnando a ciascuno un task definito in precedenza. Questa è l'opzione più economica, poiché mantiene una relazione master-slave tra i processori..

Solo questo tipo di multiprocessing esisteva fino all'introduzione dei multiprocessori simmetrici.

Vantaggio

Maggiore produttività

Con il multiprocessing avrai più attività completate in un tempo molto minore.

Se più processori lavorano insieme, le prestazioni del sistema aumentano aumentando il numero di processi eseguiti per unità di tempo..

Maggiore affidabilità

Quando un processore si guasta, il multiprocessing risulta essere più affidabile, perché in questa situazione il sistema rallenterà, ma non andrà in crash. Questa capacità di continuare a lavorare nonostante il fallimento è nota come degrado grazioso..

Ad esempio, se un processore si guasta su un totale di cinque, il lavoro non fallirà, ma i restanti quattro processori condivideranno il lavoro del processore guasto. Pertanto, il sistema verrà eseguito il 20% più lentamente, invece di bloccarsi completamente..

Risparmiare soldi

Questi sistemi possono generare risparmi di denaro a lungo termine rispetto ai sistemi a processore singolo perché i processori possono condividere alimentatori, dispositivi periferici e altri dispositivi..

Se ci sono più processi che condividono i dati è meglio programmarli in sistemi multiprocessore per condividere i dati, invece di avere diversi sistemi informatici con più copie di quei dati.

Svantaggi

Costo di acquisto più elevato

Sebbene i sistemi multiprocessing siano più economici nel lungo periodo rispetto all'utilizzo di più computer, sono comunque piuttosto costosi.

È molto più economico acquistare un sistema semplice con un singolo processore rispetto a un sistema multiprocessore.

Sistema operativo complesso

Un sistema operativo più complesso è richiesto nei sistemi multiprocessing.

Ciò è dovuto al fatto che avendo più processori che condividono memoria, dispositivi, ecc. la distribuzione delle risorse ai processi è più complicata che se ci fosse un solo processore.

È necessaria una grande quantità di memoria

Tutti i processori nel sistema multiprocessing condividono la memoria principale. Pertanto, è necessario un pool di memoria molto più grande rispetto ai sistemi a processore singolo.

Riferimenti

  1. Dinesh Thakur (2019). Definizione Sistema operativo multiprocessore. Note sull'ecomputer Tratto da: ecomputernotes.com.
  2. Punto tutorial (2019). Differenza tra multitasking, multithreading e multiprocessing. Tratto da: tutorialspoint.dev.
  3. Encyclopaedia Britannica (2019). Multiprocessing. Tratto da: britannica.com.
  4. Techopedia (2019). Multiprocessore. Tratto da: ceilingpedia.com.
  5. Kristi Castro (2018). Sistemi multiprocessore. Punto tutorial. Tratto da: tutorialspoint.com.

Nessun utente ha ancora commentato questo articolo.