Quali sono i diversi tipi di tecnologia di elaborazione parallela?

L'elaborazione parallela è un tipo di elaborazione informatica in cui attività di elaborazione di grandi dimensioni vengono suddivise in attività secondarie più piccole che vengono quindi elaborate contemporaneamente o in parallelo, anziché in sequenza. Questa tecnologia è ampiamente utilizzata nell'informatica moderna, in particolare per problemi avanzati come quelli affrontati nelle scienze naturali. Esempi di tecnologia di elaborazione parallela all'interno di un singolo dispositivo includono il multiprocessing simmetrico e l'elaborazione multicore. Più computer possono anche essere collegati insieme per lavorare in parallelo attraverso metodi come elaborazione distribuita, cluster di computer e computer massicciamente paralleli.

Un multiprocessore simmetrico è un computer con un'unica memoria principale comune e istanza del sistema operativo collegata a più processori identici. I processori hanno le stesse capacità e sono collegati a una memoria comune, quindi le attività possono essere facilmente assegnate o riassegnate secondo necessità per bilanciare il carico di lavoro tra di loro. Nell'elaborazione multicore, ogni processore contiene almeno due unità di elaborazione centrale (CPU), chiamate core, che sono responsabili della lettura e dell'esecuzione delle istruzioni. In sostanza, un processore multicore è in realtà più processori in un singolo componente integrato. Ciò consente una comunicazione più rapida ed efficiente tra i core di elaborazione, rispetto ai computer multiprocessore in cui ogni CPU è un componente separato.

I computer multiprocessore sono ampiamente utilizzati in applicazioni scientifiche e aziendali. È meno comune nei sistemi di personal computer, che di solito sono design uniprocessore, sebbene i multiprocessori siano diventati più comuni nel mercato di consumo. Il software per computer deve essere specificamente progettato per i computer multiprocessore per sfruttare appieno i vantaggi che può offrire e, di conseguenza, questo tipo di software presenta spesso problemi di prestazioni su un computer a singolo processore. Allo stesso modo, i programmi scritti pensando a un singolo processore di solito ottengono solo benefici limitati dal multiprocessing perché non sono progettati per trarne vantaggio.

La tecnologia di elaborazione parallela distribuita utilizza più computer, altrimenti indipendenti, che lavorano in parallelo su diverse parti di un problema, collegati tra loro tramite Internet o una rete interna in modo che possano comunicare tra loro. Questo tipo di tecnologia di elaborazione parallela può essere utilizzata con computer fisicamente distanti tra loro, anche se non è sempre necessariamente così. Insieme, i computer collegati formano quella che viene chiamata griglia computazionale.

Le griglie di calcolo possono essere molto grandi, potenzialmente incorporando migliaia di computer che potrebbero essere diffusi in tutto il mondo. Questi computer potrebbero anche lavorare su problemi non correlati allo stesso tempo, con attività che vengono elaborate dalla griglia distribuita tra i computer in base alla quantità di capacità di elaborazione di riserva che ognuno ha in quel momento. Il grid computing differisce dalla maggior parte degli altri moderni parallel computing perché spesso una singola griglia include una vasta gamma di computer con capacità diverse, piuttosto che un gruppo di unità identiche.

I cluster di computer sono una forma di tecnologia di elaborazione parallela in cui più computer collegati, di solito con funzionalità identiche, lavorano a stretto contatto come un'unica unità. A differenza del multiprocessing simmetrico, che utilizza più processori che condividono una memoria e un sistema operativo comuni, ogni singola unità in un cluster è un computer autonomo completo. Questi di solito si trovano nella stessa posizione geografica e sono collegati su una rete locale. Alcuni computer sono stati creati appositamente per l'uso in cluster di computer, ma è anche possibile formare cluster collegando i computer che erano stati originariamente progettati per funzionare autonomamente.

I computer fortemente paralleli hanno alcune somiglianze con i computer cluster, perché sono anche composti da più computer uniti, ma sono molto più grandi e di solito contengono centinaia o migliaia di nodi. Hanno anche i loro componenti specializzati che collegano i singoli computer che lo compongono insieme, mentre i cluster di computer sono uniti da hardware standard standard, spesso indicato come componenti di base. I computer estremamente avanzati e parallelamente massicci possono essere davvero colossali, contenenti decine di migliaia di singoli computer che riempiono migliaia di metri quadrati di spazio, lavorando tutti insieme. La maggior parte dei supercomputer avanzati al mondo, utilizzati per calcoli complessi in aree come l'astrofisica e la modellizzazione climatica globale, sono di questo tipo.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?