Cosa sono i sistemi operativi paralleli?

I sistemi operativi paralleli sono un tipo di piattaforma di elaborazione del computer che suddivide grandi attività in parti più piccole che vengono eseguite contemporaneamente in luoghi diversi e con meccanismi diversi. A volte sono anche descritti come processori “multi-core”. Questo tipo di sistema è solitamente molto efficiente nel gestire file molto grandi e codici numerici complessi. È più comune nelle impostazioni di ricerca in cui i sistemi server centrali gestiscono molti lavori diversi contemporaneamente, ma può essere utile ogni volta che più computer eseguono lavori simili e si connettono a infrastrutture condivise contemporaneamente. All’inizio possono essere difficili da configurare e possono richiedere un po’ di esperienza, ma la maggior parte degli esperti di tecnologia concorda sul fatto che, a lungo termine, sono molto più convenienti ed efficienti rispetto alle loro controparti a computer singolo.

Le basi del calcolo parallelo

Un sistema operativo parallelo funziona dividendo i set di calcoli in parti più piccole e distribuendoli tra le macchine su una rete. Per facilitare la comunicazione tra i core del processore e gli array di memoria, il software di routing deve condividere la propria memoria assegnando lo stesso spazio di indirizzi a tutti i computer in rete o distribuire la propria memoria assegnando uno spazio di indirizzi diverso a ciascun core di elaborazione. La condivisione della memoria consente al sistema operativo di funzionare molto rapidamente, ma di solito non è così potente. Quando si utilizza la memoria condivisa distribuita, i processori hanno accesso sia alla propria memoria locale che alla memoria di altri processori; questa distribuzione può rallentare il sistema operativo, ma è spesso più flessibile ed efficiente.

L’architettura del software è tipicamente costruita attorno a una piattaforma basata su UNIX, che gli consente di coordinare i carichi distribuiti tra più computer in una rete. I sistemi paralleli sono in grado di utilizzare il software per gestire tutte le diverse risorse dei computer in esecuzione in parallelo, come memoria, cache, spazio di archiviazione e potenza di elaborazione. Questi sistemi consentono inoltre all’utente di interfacciarsi direttamente con tutti i computer della rete.

Origini e primi utilizzi

Nel 1967, Gene Amdahl, un informatico americano che lavorava per IBM, concettualizzò l’idea di utilizzare il software per coordinare il calcolo parallelo. Ha pubblicato le sue scoperte in un documento chiamato Amdahl’s Law, che ha delineato l’aumento teorico della potenza di elaborazione che ci si potrebbe aspettare dall’esecuzione di una rete con un sistema operativo parallelo. La sua ricerca ha portato allo sviluppo della commutazione di pacchetto, e quindi al moderno sistema operativo parallelo. Questo sviluppo della commutazione di pacchetto è ampiamente considerato come la svolta che in seguito ha avviato il “Progetto Arpanet”, che è responsabile della base di base di Internet, la più grande rete di computer paralleli del mondo.
Applicazioni moderne
La maggior parte dei campi della scienza utilizza questo tipo di sistema operativo, tra cui biotecnologia, cosmologia, fisica teorica, astrofisica e informatica. La complessità e la capacità di questi sistemi possono anche contribuire a creare efficienza in settori quali consulenza, finanza, difesa, telecomunicazioni e previsioni del tempo. In effetti, il calcolo parallelo è diventato così robusto che è stato utilizzato da molti dei principali cosmologi per rispondere a domande sull’origine dell’universo. Gli scienziati sono stati in grado di eseguire simulazioni di ampie sezioni di spazio contemporaneamente. Ci è voluto solo un mese agli scienziati per compilare una simulazione della formazione della Via Lattea utilizzando questo tipo di sistema operativo, ad esempio, un’impresa precedentemente ritenuta impossibile a causa di quanto sia complessa e ingombrante.
Considerazioni sui costi
Scienziati, ricercatori e leader del settore spesso scelgono di utilizzare questo tipo di sistemi operativi principalmente per la loro efficienza, ma di solito anche il costo è un fattore. In generale, costa molto meno assemblare una rete di computer paralleli di quanto costerebbe sviluppare e costruire un super computer per la ricerca, o investire in numerosi computer più piccoli e dividere il lavoro. I sistemi paralleli sono anche completamente modulari, il che nella maggior parte dei casi consente riparazioni e aggiornamenti economici.