Lo sporco segreto dell'elaborazione ad alte prestazioni

Lo sporco segreto dell'elaborazione ad alte prestazioni

Nei decenni trascorsi da quando Seymour Cray ha sviluppato quello che è considerato il primo supercomputer al mondo, il CDC 6600 (si apre in una nuova scheda), è stata condotta una corsa agli armamenti nella comunità dell'High Performance Computing (HPC). L'obiettivo: migliorare le prestazioni, con tutti i mezzi, a tutti i costi.

Spinte dai progressi nell'informatica, nell'archiviazione, nel networking e nel software, le prestazioni dei principali sistemi sono aumentate di trilioni di volte dall'introduzione del CDC 6600 nel 1964, da milioni di operazioni in virgola mobile al secondo (megaFLOPS) a quintilioni (exaFLOPS).

L'attuale detentore della corona, un colossale supercomputer americano chiamato Frontier, è capace di 1102 exaFLOPS secondo il benchmark High Performance Linpack (HPL). Ma si ritiene che macchine ancora più potenti operino altrove, a porte chiuse.

Si prevede che l’arrivo dei cosiddetti supercomputer exascale porterà benefici praticamente a tutti i settori – dalla scienza alla sicurezza informatica, dalla sanità alla finanza – e aprirà la strada a nuovi potenti modelli di intelligenza artificiale che altrimenti avrebbero impiegato anni per essere sviluppati.

CDC 6600

Il CDC 6600, ampiamente considerato il primo supercomputer al mondo. (Credito immagine: Museo di storia dell'informatica)

Tuttavia, l'aumento di velocità di questa portata ha un costo: il consumo di energia. A piena velocità, Frontier consuma fino a 40 MW (si apre in una nuova scheda) di energia, all'incirca lo stesso di 40 milioni di computer desktop.

Il supercalcolo è sempre stato quello di spingere i limiti di ciò che è possibile. Ma poiché la necessità di ridurre al minimo le emissioni diventa sempre più evidente e i prezzi dell'energia continuano a salire, l'industria HPC dovrà rivalutare se vale ancora la pena seguire il suo principio guida originale.

prestazioni vs. Efficienza

Un'organizzazione che opera in prima linea in questo problema è l'Università di Cambridge, che, in collaborazione con Dell Technologies, ha sviluppato diversi supercomputer all'avanguardia a basso consumo energetico.

Il Wilkes3 (Si apre in una nuova scheda), ad esempio, si classifica solo al 100° posto nelle classifiche delle prestazioni complessive (Si apre in una nuova scheda), ma si classifica al 500° in GreenXNUMX (Si apre in una nuova scheda), una classificazione dei sistemi HPC basata sulle prestazioni per watt di energia consumata.

In una conversazione con TechRadar Pro, il dott. Paul Calleja, direttore dei servizi informatici di ricerca presso l'Università di Cambridge, ha spiegato che l'istituto è molto più interessato alla costruzione di macchine altamente produttive ed efficienti che a macchine estremamente potenti.

“Non siamo realmente interessati ai grandi sistemi, perché sono soluzioni puntuali molto specifiche. Ma le tecnologie implementate all'interno hanno un'applicazione molto più ampia e consentiranno ai sistemi di funzionare un ordine di grandezza più lentamente, in modo molto più economico ed efficiente dal punto di vista energetico", afferma il dott. Calleja.

“In questo modo, democratizza l'accesso all'IT per molte più persone. Siamo interessati a utilizzare le tecnologie progettate per questi grandi vecchi sistemi per creare supercomputer molto più durevoli per un pubblico più ampio.

Università di Cambridge

Il supercomputer Wilkes3 potrebbe non essere il più veloce al mondo, ma è tra i più efficienti dal punto di vista energetico. (Credito immagine: Università di Cambridge)

Nei prossimi anni, il Dr. Calleja prevede anche una spinta sempre più feroce all'efficienza energetica nel settore dell'HPC e nella comunità dei data center in generale, dove il consumo di energia rappresenta oltre il 90% dei costi. , ci viene detto.

I recenti cambiamenti dei prezzi dell'energia legati alla guerra in Ucraina avranno anche reso i supercomputer notevolmente più costosi, soprattutto nel contesto dell'exascale computing, illustrando ulteriormente l'importanza delle prestazioni per watt.

Nel contesto di Wilkes3, l'università ha riscontrato una serie di ottimizzazioni che hanno contribuito a migliorare il livello di efficienza. Ad esempio, abbassando la velocità di clock alla quale erano in esecuzione determinati componenti, a seconda del carico di lavoro, il team è stato in grado di ottenere riduzioni del consumo energetico dell'ordine del 20-30%.

“All'interno di una particolare famiglia architettonica, la velocità di clock ha una relazione lineare con le prestazioni, ma una relazione quadrata con il consumo di energia. Questo è l'assassino”, ha spiegato il dottor Calleja.

“La riduzione della velocità di clock riduce il consumo energetico a una velocità molto più elevata rispetto alle prestazioni, ma allunga anche il tempo necessario per completare un lavoro. Quindi quello che dovremmo considerare non è il consumo di energia durante una corsa, ma in realtà l'energia consumata dal lavoro. C'è un posto perfetto.

il software è il re

Oltre alla messa a punto delle configurazioni hardware per carichi di lavoro specifici, ci sono anche una serie di ottimizzazioni che devono essere eseguite altrove, nel contesto dello storage e del networking, e in discipline correlate come il raffreddamento e la progettazione di rack.

Tuttavia, quando gli è stato chiesto dove in particolare vorrebbe vedere le risorse allocate nella ricerca per migliorare l'efficienza energetica, il Dr. Calleja ha spiegato che l'attenzione dovrebbe essere in primo luogo sul software.

“Il problema non è l’hardware, ma l’efficienza delle applicazioni. “Questo sarà il principale ostacolo per andare avanti”, ha detto. "Gli attuali sistemi exascale si basano su architetture GPU e il numero di applicazioni che possono essere eseguite in modo efficiente su larga scala su sistemi GPU è ridotto."

“Per sfruttare davvero la tecnologia odierna, dobbiamo concentrarci sullo sviluppo delle applicazioni. Il ciclo di vita dello sviluppo abbraccia decenni; il software utilizzato oggi è stato sviluppato 20 o 30 anni fa ed è difficile quando si dispone di un codice così lungo da dover essere riprogettato.

Il problema, tuttavia, è che l'industria HPC non ha l'abitudine di pensare prima al software. Molta più attenzione è stata storicamente prestata all'hardware, perché, nelle parole del Dr. Calleja, “È facile; hai appena comprato un chip più veloce. Non è necessario pensare in modo intelligente".

"Quando esisteva la Legge di Moore, con le prestazioni del processore che raddoppiavano ogni diciotto mesi, non dovevi fare nulla per aumentare le prestazioni. Ma quell'era è finita. Ora, se vogliamo fare progressi, dobbiamo tornare indietro e ristrutturare il sistema software. »

CPU con contatti rivolti verso l'alto appoggiati sulla scheda madre del PC. il chip è evidenziato con una luce blu

Quando la legge di Moore inizia a indebolirsi, non è più possibile fare affidamento sui progressi nell'architettura della CPU come fonte di miglioramento delle prestazioni. (Credito immagine: Alexander_Safonov/Shutterstock)

Il Dr. Calleja ha riservato alcuni elogi a Intel a questo proposito. Poiché lo spazio hardware del server diventa più diversificato dal punto di vista del fornitore (per molti versi uno sviluppo positivo), la compatibilità delle applicazioni può diventare un problema, ma Intel sta lavorando a una soluzione.

“Un elemento di differenziazione che vedo per Intel è che stanno investendo molto nell’ecosistema oneAPI, per sviluppare la portabilità del codice tra i tipi di silicio. “Sono questi tipi di catene di strumenti di cui abbiamo bisogno per consentire alle applicazioni di domani di trarre vantaggio dal silicio emergente”, afferma.

Separatamente, il dottor Calleja ha chiesto una maggiore attenzione alle “necessità scientifiche”. Troppo spesso le cose “vanno storte nella traduzione”, creando una discrepanza tra le architetture hardware e software e le effettive esigenze dell’utente finale.

Secondo lui, un approccio più incisivo alla collaborazione intersettoriale creerebbe un "circolo virtuoso" di utenti, prestatori di servizi e fornitori, generando vantaggi sia in termini di prestazioni che di efficienza.

Un futuro a scala zetta

Solitamente, con la caduta del punto di riferimento simbolico dell'exascale, l'attenzione si volge ora a quella successiva: la zettascale.

“Zettascale è solo la prossima bandiera piantata nel terreno”, ha affermato il dottor Calleja, “un totem che evidenzia le tecnologie necessarie per raggiungere la fase successiva del progresso informatico che non può essere ottenuta oggi”.

“I sistemi più veloci del mondo sono estremamente costosi per quello che ne ricavi, in termini di risultati scientifici. Ma sono importanti perché dimostrano l'arte del possibile e fanno avanzare l'industria.

Università di Cambridge

Pembroke College, Università di Cambridge, sede dell'Open Zettascale Lab. (Credito immagine: Università di Cambridge)

Se i sistemi in grado di raggiungere zettaFLOPS di prestazioni, mille volte più potenti dell'attuale raccolto, possono essere sviluppati in modo da allinearsi con gli obiettivi di sostenibilità dipenderà dall'inventiva del settore.

Non esiste una relazione binaria tra prestazioni ed efficienza energetica, ma ci vorrà una buona dose di abilità in ciascuna sottodisciplina per fornire il necessario aumento delle prestazioni all'interno di un adeguato inviluppo di potenza.

In teoria, esiste un rapporto aureo tra prestazioni e consumo di energia, quindi i benefici per la società generati dall'HPC possono essere considerati pari al costo delle emissioni di carbonio.

La cifra precisa rimarrà sfuggente in pratica, ovviamente, ma perseguire l'idea è per definizione un passo nella giusta direzione.