Questo è il primo post che ho deciso di dedicare all'argomento del calcolo parallelo, dopo essermi imbattuto per la seconda volta nel progetto BOINC, di cui parlerò più avanti.
Il calcolo parallelo è una tecnica di computazione che, attraverso l'esecuzione simultanea di codice su computer o core differenti, punta ad aumentare le prestazioni di un sistema.
Il principio sfruttato è concettualmente semplice: si tratta di spezzare un grosso problema in svariati sottoproblemi più facili da risolvere, ciascuno dei quali viene risolto singolarmente dai diversi computer.
Questo approccio alla risoluzione dei problemi di calcolo è già utilizzato da parecchi anni dalle aziende del settore, soprattutto per quanto riguarda i supercomputer che si avvalgono principalmente dell'elevato numero di cluster o processori per risolvere i calcoli nel minor tempo possibile.
DIVERSI TIPI DI CALCOLO PARALLELO
l calcolo parallelo può essere suddiviso nelle seguenti modalità, in base all'hardware utilizzato e alle modalità di calcolo.
- Calcolo multicore: è il calcolo parallelo che sfrutta le tecnologie multiprocessore, ovvero singole macchine funzionanti con più processori; per fare un esempio i processori intel core 2 duo e quad sono processori multicore, con due e quattro distinti processori montati sullo stesso computer. Anche la Play Station 3 utilizza un processore multicore, il Cell Broadband Engine(o tempora o more!).
- Cluster: gruppi di computer similari, strettamente connessi tra loro, tanto da poter essere considerati un singolo compurter. I più grandi supercomputer al mondo si basano su questa tecnologia.
- Massive parallel processing:similare ai cluster, a differenza dei quali però, utilizzano un numero maggiore di processori, ognuno dei quali con la propria memoria e copia del sistema operativo, e sono connessi tra loro attraverso connessioni ad alta velocità.Il Blue Gene/l è uno di questi.
- Grid computing: è una sottocategoria del calcolo distributo; i computer sono connessi tra loro attraverso Internet, cosa che rende possibile lo scambio di informazioni a grande distanza e permette una dislocazione maggiore ( la maggiore in effetti) della rete. I casi più conosciuti di grid computing sono Seti@home e Folding@home, due progetti che si occupano della ricerca di vita extraterrestre e della sintesi di proteine. Questi progetti utilizzano spesso dei middleware, ovvero software che lavora fra il sistema operativo e le applicazioni, per gestire il traffico di rete e l'utilizzo di cpu. Il più conosciuto è appunto BOINC.

Nessun commento:
Posta un commento