La startup finlandese Flow Computing vuole migliorare le prestazioni delle CPU di 100 volte con la PPU

La startup finlandese Flow Computing vuole migliorare le prestazioni delle CPU di 100 volte con la PPU

La CPU è l'anello debole delle prestazioni dei PC e server moderni: la startup finlandese Flow Computing ha progettato la PPU, una soluzione integrabile nel die delle CPU che, gestendo in parallelo i task, consente di ottenere miglioramenti prestazionali senza precedenti.

di pubblicata il , alle 10:31 nel canale Processori
Flow Computing
 

Flow Computing, startup finlandese nata da uno spin-out del VTT Technical Research Centre, dice di avere per le mani una soluzione in grado di accelerare le prestazioni delle CPU fino a 100 volte.

Secondo quanto riportato da diverse testate e sul sito web ufficiale, la nuova realtà ha creato quella che ha definito "Parallel Processing Unit" (PPU), un'unità che si integra sullo stesso silicio della CPU e che, senza andare a modificare il modus operandi del processore, ne migliora drasticamente le prestazioni. In che modo?

Da quanto si apprende, la PPU di Flow Computing esegue essenzialmente una gestione del traffico on-die in modo parallelo, spostando le attività dentro e fuori dal processore più velocemente di quanto possibile oggi.

Le CPU hanno un limite, ovvero svolgono le operazioni in sequenza (ne finiscono una e ne iniziano un'altra) e non in parallelo come le GPU. Fanno una cosa sola alla volta, anche se in modo apparentemente velocissimo anche grazie ai tanti core: velocità che, tuttavia, non è sufficiente oggi come oggi per sostenere la velocità del resto del sistema, malgrado i miglioramenti incrementali che vediamo di generazione in generazione. Secondo il CEO di Flow Timo Valtonen, "la CPU è l'anello più debole dell'informatica. Non è all'altezza del suo compito e questo dovrà cambiare".

Entrando maggiormente nel tecnico, i thread eseguiti dai core condividono la stessa memoria. Se un thread scrive dati in un dato indirizzo, tutti i thread che leggono tale indirizzo dovrebbero vedere gli stessi dati. I thread, però, vengono eseguiti in modo asincrono, quindi affinché ciò avvenga devono essere sincronizzati. Farlo richiede "tempo" e i processori cercano di nascondere il costo di questa latenza tramite le cache. La sincronizzazione ha comunque un impatto: gli autori affermano che la PPU rimuove il costo della sincronizzazione eliminando, in poche parole, la natura asincrona dell'esecuzione parallela.

Riprendendo un esempio di The Verge, "pensate a uno chef che lavora in cucina. Lo chef può lavorare molto rapidamente, ma fino a un certo punto. Cosa succederebbe se avesse un assistente sovrumano capace di sgravarlo dalle attività che non sono vere e proprie cose da chef? Lo chef avrebbe sempre due mani, ma così potrebbe lavorare 10 volte più velocemente".

La PPU può sembrare simile alla GPU, ma Flow Computing contesta questo parallelismo (una parola più che mai calzante, ndr). "La PPU è ottimizzata per l'elaborazione parallela, mentre la GPU è ottimizzata per l'elaborazione grafica. La PPU è più strettamente integrata con la CPU e si può pensare che sia una sorta di co-processore, mentre la GPU è un'unità indipendente, molto più legata alla CPU".

"Migliorare la capacità di elaborazione in parallelo della CPU con la PPU comporta vantaggi significativi. Nella programmazione delle GPU, l'ampiezza del parallelismo è fissa all'interno di un kernel, mentre quella delle PPU può variare. Questo comporta spesso inefficienze nei kernel delle GPU, che vengono evitate nell'architettura PPU di Flow Computing".

Flow Computing afferma che la PPU è altamente configurabile in termini di specifiche e che non richiede modifiche sostanziali alla CPU, necessitando solamente l'integrazione dell'interfaccia nel set di istruzioni. "Una PPU a 16 core è ideale per piccoli dispositivi come gli smartwatch; una PPU a 64 core si adatta bene a smartphone e PC; e una PPU a 256 core è più adatta per ambienti ad alte prestazioni come server AI, cloud ed edge computing", si legge sul sito della società.

I fondatori di Flow Computing, da sinistra: Jussi Roivainen, Martti Forsell e Timo Valtonen

La PPU può essere configurata anche in termini di tipo e numero di unità funzionali come ALU, FPU, MU, GU e NU, ma anche la risorse di memoria on-chip - cache, buffer e scratchpad – possono essere personalizzati per soddisfare requisiti specifici.

La PPU, inoltre, è completamente retrocompatibile, ovvero permette di migliorare fino a 2 volte le prestazioni con gli applicativi vecchi e attuali, anche senza ricompilazione. Non solo, "la tecnologia di Flow migliora persino l'intero ecosistema informatico. La CPU ottiene vantaggi diretti, ma anche i componenti ausiliari - matrici, unità vettoriali, NPU e GPU - ottengono prestazioni migliorate grazie alle capacità potenziate della CPU. Tutto grazie alla PPU".

Quanto propone Flow è qualcosa a cui il settore sta pensando da tempo. "È stato studiato e discusso nel mondo accademico ad alto livello. Puoi già eseguire la parallelizzazione, ma rompe il codice legacy e quindi è inutile", ha dichiarato Valtonen.

Il grande risultato di Flow sarebbe quindi quello di poter elevare le prestazioni delle CPU senza dover modificare alcun codice, fornendo un raddoppio secco delle performance. Ulteriori miglioramenti prestazionali si avrebbero con il refactoring e dalla ricompilazione del software: Flow afferma di aver visto aumenti fino a 100 volte con il codice modificato (anche se non necessariamente completamente riscritto) per sfruttare la sua tecnologia. L'azienda sta lavorando per offrire strumenti di ricompilazione per rendere questo compito più semplice ai produttori di software che desiderano ottimizzare le loro soluzioni per la PPU.

Un grafico che mostra i miglioramenti di un FPGA potenziato con una PPU rispetto ai chip Intel non modificati. L'aumento del numero di core della PPU migliora continuamente le prestazioni

Al momento, Flow non ha convalidato le sue affermazioni su un vero e proprio chip in silicio, ma su una scheda FPGA e su alcune simulazioni, mentre lavora a un progetto per un core PPU e a un compilatore che vuole concedere in licenza ad altre aziende.

La startup non fa mistero di voler bussare alla porta di AMD, Apple, ARM, Intel, NVIDIA e Qualcomm per "sviluppare insieme la futura era delle CPU avanzate. Stiamo anche cercando di collaborare con piccole startup di CPU come Tenstorrent e altre".

"Il nostro modello commerciale consiste nel concedere in licenza la nostra tecnologia, proprio come fa ARM, a vari licenziatari in tutto il mondo. La PPU è totalmente indipendente dalla progettazione del set di istruzioni, quindi può essere utilizzata in qualsiasi CPU CISC o RISC e può essere integrata in qualsiasi architettura di progettazione attuale o in fase di progettazione".

La startup ha incassato 4 milioni di euro di fondi pre-seed da Butterfly Ventures, con la partecipazione di FOV Ventures, Sarsia, Stephen Industries, Superhero Capital e Business Finland.

26 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
io78bis12 Giugno 2024, 10:44 #1
Se non sono supercaz* e Keller (Tenstorrent) ci crede allora speriamo arrivino presto sul mercato.
jepessen12 Giugno 2024, 10:54 #2
Manca solo che inverta l'entropia e poi la lista e' completa...
omerook12 Giugno 2024, 10:54 #3
..consente di ottenere miglioramenti prestazionali senza precedenti.
Quanto di più?
Almeno il doppio!
Link ad immagine (click per visualizzarla)
supertigrotto12 Giugno 2024, 10:59 #4
Un po' la stessa cosa che sta facendo Keller con i risc-V,difatti sta puntando a una semplificazione e a una parallelizzazione molto importante.
Se fossi AMD,prenderei la palla al balzo, è la azienda che se perde un treno, è un vero bagno di sangue,non è Intel ne Nvidia che hanno le spalle molto ma molto grosse.
DarIOTheOriginal12 Giugno 2024, 11:10 #5
".. lavora a un progetto per un core PPU e a un compilatore che vuole concedere in licenza ad altre aziende"

Per me puzza parecchio.. che se ne fanno di un compilatore se [I]"La PPU, inoltre, è completamente retrocompatibile, ovvero permette di migliorare fino a 2 volte le prestazioni con gli applicativi vecchi e attuali, anche senza ricompilazione."[/I]

Io gli auguro ogni bene comunque, anche se tutto è abbastanza fumoso.
ZeroSievert12 Giugno 2024, 11:26 #6
Anche a me puzza parecchio. Anche perchè, anche se e' vero che la programmazione delle CPU e' seriale, le moderne CPU usano gia' tutti una serie di trucchi paralleli per velocizzare l'esecuzione (es. esecuzione speculativa).

E vale sempre la regola

"Extraordinary claims require extraordinary evidence"
erupter12 Giugno 2024, 12:26 #7
Magari hanno integrato il memory manager del kernel in hardware
Quello sì che darebbe una bella spinta!
agonauta7812 Giugno 2024, 13:27 #8
Oggi l'erba era buona
Opteranium12 Giugno 2024, 14:37 #9
non me ne intendo, per cui rimango sull'esempio dello chef.. dato che ha sempre due mani, anche se trovi il modo di fargli arrivare più roba o sgravarlo da compiti inutili, quanto mai potrà velocizzare? Sicuramente non come 100 chef..
Piedone111312 Giugno 2024, 15:11 #10
Originariamente inviato da: ZeroSievert
Anche a me puzza parecchio. Anche perchè, anche se e' vero che la programmazione delle CPU e' seriale, le moderne CPU usano gia' tutti una serie di trucchi paralleli per velocizzare l'esecuzione (es. esecuzione speculativa).

E vale sempre la regola

"Extraordinary claims require extraordinary evidence"


scusami, ma quando un dato viene elaborato questo non dovrebbe essere riscritto in ram a e sua conclusione?
Quando quello stesso dato deve essere elaborato in sequenza da un altro th deve essere ricaricato.
Se questo sistema mantiene sincronizzati i dati in ram e cache gestendoli in background ed in modo trasparente per i th i tempi saranno per forza di cosa ridotti.
Seguendo l'esempio del cuoco per ogni singolo ingrediente o spezia questo deve andare in dispensa a prenderlo ( restando inattivo per il tempo necessario al tragitto) mentre con un aiutante che lo segue scrupolosamente questi saranno mediamente disponibili prima evitando diverse perdite di tempo.
Attenzione questo dovrebbe accadere solo per le elaborazioni sequenziali, ma probabilmente quelle casuali subiranno un overhead.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^