Site icon Noir Solutions

Classificazione sistemi Multiprocessori

 

Con questo termine ci si riferisce all’architettura di un calcolatore dotato di maggiori CPU di solito identiche tra loro e opportunamente collegate in modo da poter scambiare facilmente dati da elaborare e risultati dell’elaborazione. In questi sistemi un programma viene scomposto in parti indipendenti che vengono eseguite in parallelo, a differenza di quello che accade nei calcolatori convenzionali dotati di una sola CPU nei quali l’elaborazione è sequenziale.

Multiprocessori a Elaborazione Parallela

L’elaborazione parallela può anche essere ottenuta tramite calcolatori collegati in rete e tramite sistemi distribuiti a differenza dei sistemi multiprocessore, ogni nodo di elaborazione è un calcolatore vero e proprio e non una singola CPU

Un sistema multiprocessore consente prestazioni più elevate rispetto a un sistema convenzionale . Le applicazioni tipiche sono quindi quelle che necessitano di elaborare grandi quantità di dati, di eseguire calcoli scientifici complessi di avere tempi di risposta in tempo reale. Alcuni esempi di queste applicazioni sono l’elaborazione di immagine e segnali. Le elaborazioni numeriche, le simulazioni di sistemi fisici.

Architettura sistema Multiprocessore

Non esiste un’architettura standard per i sistemi multiprocessore, e una prima classificazione puo’ essere fatta a seconda del tipo di processore e delle istruzioni che eseguono.

I sistemi costituiti da processori in grado di eseguire un tipo di operazione aritmetica e collegati tra loro in modo da potersi scambiare dati e risultati parziali, sempre secondo la stessa modalità. Più propriamente, questi sistemi vengono definiti architetture parallele dedicate. Un esempio tipico di questa classe sono gli array di processori: vengono di solito progettati per eseguire elaborazioni specifiche , da qui il nome di dedicati, che richiedono prestazioni elevatissime, quali le elaborazioni su satellite.

Sistemi costituiti da processori che contengono unità aritmetico logiche ALU e perciò in grado di eseguire tutte le operazioni aritmetiche. Questi sistemi vengono utilizzati in applicazioni scientifiche e numeriche ad esempio, nei calcoli matriciali e nella risoluzione di sistemi di equazioni di dimensioni molto elevate che spesso adottano un linguaggio di programmazione come il Fortran. Il programma viene analizzato prima di essere eseguito, in modo da individuare quell’insieme di operazioni che possono essere eseguite in parallelo alle diverse ALU.

Sistemi di CPU

I sistemi costituiti da CPU vere e proprie composte di microprocessori di solito ogni CPU è anche dotata di una memoria di lavoro nelle quali sono caricati i programmi da eseguire e i dati locali. Questa classe di sistemi è quella di utilizzo più generale e di solito , l’applicazione da eseguire viene programmata come un insieme di processi che sono eseguiti in parallelo tra loro, ognuno su una CPU. Per la programmazione possono venire utilizzati i linguaggi di programmazione di alto livello e le primitive di sistema operativo che consentono lo scambio di informazioni e dati non locali tra processi. . Un esempio sono i transputer.

Architettura Transputer

Questa ultima classe di architettura multiprocessore, data la sua generalità merita qualche considerazione maggiore. Uno dei punti più significativi che hanno dovuto affrontare i progettisti di queste architetture è relativo alla modalità di collegamento fra le varie CPU. Bisogna infatti mediare tra le due esigenze contrastanti per rendere piu’ veloci gli scambi di dati e informazioni tra un processore e un altro è opportuno che ciascun processore sia collegato , in modo diretto con un numero elevato di altri processori: per rendere meno complessa l’architettura di collegamento è invece opportuno limitare le connessioni dirette tra i diversi processori. Sono state definite diverse topologie di interconnessione in grado di soddisfare in modo diverso queste due esigenze a questo proposito si vedano.

 

Exit mobile version