High performance computing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 18:
Il 1990 vide la nascita del primo modello standard di programmazione parallela per HPC. All'inizio del decennio, i sistemi di supercalcolo vettoriale come quelli commercializzati dalla [[Cray Research]], [[Fujitsu]] e [[NEC]], erano ampiamente utilizzati nell'esecuzione di applicazioni su larga scala. Venivano combinati insieme da due a quattro [[processore vettoriale|processori vettoriali]] che formavano sistemi particolarmente potenti con una singola memoria condivisa. I [[multiprocessore simmetrico|multiprocessori simmetrici]] (SMP), erano costituiti da un piccolo numero di processori [[RISC]] che condividevano la memoria, ma sorsero dei problemi quando fu chiaro che sarebbe stato difficile estendere questa tecnologia ad un grande numero di [[CPU]]. Nacquero così le nuove piattaforme parallele a memoria distribuita (DMP) prodotte da compagnie come [[Intel]], [[Meiko]] e [[nCube]]: i computer [[SIMD]] (''Single Instruction Multiple Data'') che potevano eseguire una singola istruzione su un insieme di dati simultaneamente, ad esempio sugli elementi di un array. Questi nuovi sistemi, benché costosi da acquistare e gestire, potevano essere costruiti in formati differenti così da poter creare macchine dal costo differenziato in base alle esigenze e i budget delle aziende clienti.
 
A poco a poco le aziende iniziarono a produrre delle DMP proprie costituite da una serie di singoli computer collegati ad una rete ad alta velocità con un sistema che garantisse un rapido trasporto di dati tra le diverse memorie. Allo stesso modo le [[workstation]] collegate a delle comuni [[LAN]] iniziarono ad essere utilizzate insieme per lo svolgimento di un unico lavoro, fornendo così dei sistemi paralleli a basso costo. Tali sistemi divennero noti come “[[Clusters of workstation]]” (COW). Sebbene le reti [[Ethernet]] usati dalle COW fossero lente in confronto a quelle delle vere DMP, queste risultavano però molto più economiche da costruire.
Nella seconda metà degli anni novanta, la maggior parte dei produttori statunitensi cominciarono a produrre [[multiprocessore simmetrico|SMP]]. Contrariamente a quelli costruiti negli anni ottanta, questi ultimi relativamente poco costosi, erano destinati ad un più ampio impiego, come i computer desktop.
 
Inoltre con l'enorme aumento della frequenza di [[clock]] e delle dimensioni delle memorie principali e di massa, alcune applicazioni che fino ad allora avrebbero richiesto un hardware per HPC, poterono essere eseguite con un solo [[multiprocessore simmetrico|SMP]]. Per la prima volta i computer paralleli divennero accessibili ad un'ampia fascia di utenti.
Infine tra le altre alternative esistono delle piattaforme HPC che eseguono il codice su una [[CPU]] accedendo direttamente ai dati memorizzati su un altro sistema [[multiprocessore simmetrico|SMP]], utilizzando ad esempio un indirizzamento globale ed un sistema per il supporto della rete di collegamento tra i vari [[multiprocessore simmetrico|SMP]]. Tali sistemi sono i cosiddetti [[ccNUMA]] (cache coherent NonUniform Memory Access). Questi ultimi possono essere visti come delle grandi [[multiprocessore simmetrico|SMP]] virtuali, anche se il codice viene eseguito più lentamente se i dati su cui si opera sono memorizzati su un altro [[multiprocessore simmetrico|SMP]] (da qui il costo d'accesso non uniforme).