Che cos’è il calcolo parallelo?

Il calcolo parallelo si verifica quando un computer esegue più di un’attività contemporaneamente. Questa tecnica può consentire ai computer di lavorare più velocemente rispetto a fare una cosa alla volta, proprio come una persona con due mani libere può trasportare più di una persona con una mano libera. Tradizionalmente, i programmi per computer sono progettati in modi che non consentono necessariamente il calcolo parallelo, ma devono invece essere eseguiti un passo alla volta. Affinché un programma possa essere calcolato in questo modo, deve essere progettato in modo da poter essere suddiviso in attività più piccole che possono essere eseguite individualmente. Come esempio di come il calcolo parallelo si rapporta alla persona media, molti personal computer hanno più core di elaborazione che consentono loro di elaborare più attività contemporaneamente, invece di un’attività dopo l’altra come con un computer a processore singolo.

Scrivere un programma per computer in modo che possa essere suddiviso in attività separate da eseguire separatamente è spesso più difficile che scriverne uno alla volta, utilizzando l’esecuzione lineare. Con i programmi per computer che verranno eseguiti in sequenza, la prima attività di solito determina le informazioni che sono parte integrante della seconda attività nella sequenza. Senza quella prima informazione che risulta dallo svolgimento del primo compito, il secondo compito potrebbe essere inutile da svolgere. Quando si scrive un programma in modo che possa essere suddiviso in parti diverse, cronometrare le cose in modo che le diverse parti del programma abbiano le informazioni di cui hanno bisogno quando ne hanno bisogno e non prendano decisioni basate su informazioni obsolete può essere una sfida unica. Questa preoccupazione è solitamente associata ai tipi più comuni di bug informatici che i programmi di elaborazione parallela devono affrontare.

Il vantaggio principale del calcolo parallelo è che i programmi possono essere eseguiti più velocemente. Se l’hardware del computer che esegue un programma che utilizza il calcolo parallelo dispone dell’architettura, ad esempio più di un’unità di elaborazione centrale (CPU), il calcolo parallelo può essere una tecnica efficiente. Per analogia, se un uomo può trasportare una scatola alla volta e che una CPU è un uomo, un programma eseguito in sequenza potrebbe essere in grado di trasportare solo una scatola alla volta. Quando si esegue in parallelo, lo stesso programma potrebbe essere in grado di dividersi in due attività separate e, se ci sono due CPU che ne trarranno vantaggio, trasportare entrambe le scatole contemporaneamente. In questo modo, l’uomo trasporta entrambe le scatole e completa il suo compito più velocemente.