Le prestazioni dei sistemi di calcolo dipendono da vari fattori: la
velocità di esecuzione delle istruzioni, la velocità
di accesso alla memoria, ecc. Ciascuno di questi fattori inoltre,
non è fisso, ma dipende a sua volta dal tipo di istruzioni
eseguite dalla dimensione dei blocchi di dati utilizzati e così via.
Quindi
la valutazione delle prestazioni (o benchmark)
è un’attività assai
complessa che, solitamente, viene effettuata basandosi su valori medi
ottenuti utilizzando vari programmi con diverse dimensioni dei dati per
cercare di ottenere un indice approssimativo che sia utile, ad esempio,
per confrontare due diversi computer (si veda anche una
precedente risposta).
Dato che l’uso principale dei sistemi di supercalcolo è nelle
applicazioni di calcolo numerico, le misure di prestazione
vengono effettuate utilizzando programmi
di questo tipo. Fra quelle più note va citata la tabella
Top500 che riporta i 500 più
veloci computer al mondo, misurati mediante uno specifico benchmark.
Questo consiste nel misurare il
tempo occorrente per eseguire lo stesso programma sui diversi sistemi e,
conoscendo il numero totale di operazioni eseguite, calcolare quante di queste
operazioni vengono eseguite in un secondo.
In particolare vengono considerate solo le operazioni in virgola mobile,
quelle tipiche dei programmi per il calcolo numerico, e la velocità
viene espressa in FLOPS (FLoating-point OPerations
per Second) o meglio usando i multipli (MFLOPS, megaflops o GFLOPS, gigaflops).
Nella seguente tabella riporto i dati dei primi cinque che compaiono
nella lista del novembre 2003:
Località Nazione/anno |
Computer/Num.Processori Costruttore |
GFLOPS |
---|---|---|
Earth Simulator Center Giappone/2002 |
Earth-Simulator / 5120 NEC |
35860 |
Los Alamos National Labs USA/2002 |
ASCI Q – AlphaServer SC45, 1.25 GHz / 8192 HP |
13880 |
Virginia Tech USA/2003 |
1100 Dual 2.0 GHz Apple G5 / 2200 Autocostruito |
10280 |
NCSA USA/2003 |
PowerEdge 1750, P4 Xeon 3.06 GHz / 2500 Dell |
9819 |
Pacific Northwest National Labs USA/2003 |
Integrity rx2600 Itanium2 1.5 GHz / 1936 HP |
8633 |
Il primo sistema italiano compare al 62-esimo |
||
CINECA Italia/2003 |
xSeries Xeon 3.06 GHz / 512 IBM |
1669 |
Come si può notare tutti i sistemi elencati sono multiprocessore,
ovvero ottengono le prestazioni indicate mediante numerosi processori
(ad esempio: 5120 nel primo caso) che lavorano insieme. Noterete anche che alcuni
dei sistemi citati utilizzano processori che sono disponibili anche nei normali
personal computer e questo rende possibile valutare il rapporto delle
prestazioni fra un supercomputer ed un classico PC, ovviamente in maniera approssimativa.
Poiché mettendo insieme molti processori ciascuno di essi non viene
sfruttato al 100% in generale, nei casi migliori, si possono ottenere
prestazioni che sono dell’ordine dell’ 80-90 per cento della prestazioni
massime teoriche date dal prodotto del numero di processori per la
velocità di ciascun processore. Allora, ad esempio, il sistema
italiano è dotato di 512 processori processori Xeon ciascuno dei
quali può essere considerato equivalente ad un PC di fascia alta.
Il rapporto di prestazioni fra un tale PC ed il supercomputer è
quindi dell’ordine di 400-460 volte ovvero la velocità di
un PC di questo tipo può essere valutata in circa 3.6 GFLOPS.
Le
prestazioni del supercomputer giapponese in testa alla tabella riportata
sopra sono quindi quasi 10000 volte di quelle di un PC.