Computing

Tecnologia rivoluzionaria di Multi-Threading Simultaneo ed Eterogeneo per rendere il calcolo più veloce

mm
Securities.io maintains rigorous editorial standards and may receive compensation from reviewed links. We are not a registered investment adviser and this is not investment advice. Please view our affiliate disclosure.
Simultaneous and Heterogeneous Multi-Threading Technology

Sebbene tutti i nuovi dispositivi dei giganti tecnologici come Apple e Google presentino miglioramenti incrementali—un aumento di una cifra singola nella durata della batteria, un nanometro in meno per il processore, che deve ancora produrre un rendimento ottimale per i produttori, o qualche megapixel in più—sorge la domanda: sono davvero sufficienti tali miglioramenti modesti? Aggiungere più hardware è la soluzione?

Non secondo il professor associato Hung-Wei Tseng del Dipartimento di Ingegneria Elettrica e Informatica dell’Università della California, Riverside (UCR). Dice: 

“Non è necessario aggiungere nuovi processori perché li hai già.”

Il professor Tseng, insieme a un team di ricercatori, ha sviluppato un nuovo framework software per l’elaborazione parallela chiamato Simultaneous and Heterogeneous Multi-threading (SHMT). Secondo i risultati iniziali, SHMT è pronto a migliorare significativamente la velocità di elaborazione e a ridurre il consumo energetico sfruttando le capacità latenti dei processori attuali nei personal computer, nei telefoni cellulari e in altri dispositivi.

Definito come “rivoluzionario” dalla comunità tecnologica, SHMT mira a eliminare i colli di bottiglia nel flusso dei dati e a facilitare la collaborazione senza soluzione di continuità di molte unità di elaborazione. Questa innovazione potrebbe influenzare non solo l’elettronica personale, ma anche i data center e altri tipi di calcolo massivamente parallelo.

Clicca qui per scoprire come la fotonica avanzata ci permetterà di costruire smartphone migliori.

Smontare il collo di bottiglia

SHMT Prototype

Prima di esplorare tutta la potenza di ciò che è realizzabile con il multi-threading simultaneo ed eterogeneo, comprendiamo innanzitutto le limitazioni dei sistemi informatici attuali. 

Nella maggior parte dei dispositivi, vari componenti, come l’unità centrale di elaborazione (CPU), l’unità di elaborazione grafica (GPU) e l’unità di elaborazione tensoriale (TPU), gestiscono le informazioni separatamente. I dati vengono trasferiti da un’unità di elaborazione all’altra, spesso generando “collo di bottiglia” che ostacolano le prestazioni complessive del sistema.

Ciò è ulteriormente aggravato dai modelli di programmazione tradizionali, che tipicamente delegano i compiti a un unico tipo di processore, lasciando così le altre risorse inattive e sottoutilizzate. Riprendendo queste osservazioni, il documento di ricerca ‘Simultaneous and Heterogeneous Multi-threading’ di Kuan-Chieh Hsu e Hung-Wei Tseng afferma: 

“I modelli di programmazione radicati si concentrano sull’utilizzo solo delle unità di elaborazione più efficienti per ogni regione di codice, sottoutilizzando la potenza di elaborazione all’interno dei computer eterogenei.”

SHMT si discosta da questo approccio sfruttando la diversità di più componenti all’interno di un sistema informatico. Questo concetto è noto come eterogeneità. Suddividendo le funzioni computazionali e distribuendole tra le unità di elaborazione disponibili, SHMT facilita il vero elaborazione parallela. 

Questo approccio di decomporre le funzioni computazionali e distribuirle tra diverse unità di elaborazione massimizza l’utilizzo delle risorse disponibili per migliorare le prestazioni e risparmiare energia. Il documento di ricerca analizza ulteriormente le carenze dei modelli di programmazione tradizionali affermando che essi “possono delegare una regione di codice esclusivamente a un tipo di processore, lasciando le altre risorse di calcolo inattive senza contribuire alla funzione corrente.” 

SHMT, d’altra parte, mira a liberarsi da questi vincoli sfruttando le competenze distintive di ciascuna unità di elaborazione e il loro lavoro collaborativo su una regione di codice condivisa. Gli autori sottolineano inoltre che la tecnologia informatica contemporanea è indiscutibilmente eterogenea, poiché tutte le piattaforme di calcolo integrano più tipi di unità di elaborazione e acceleratori hardware. Questo richiede un modello di programmazione in grado di sfruttare efficacemente la potenza di questi componenti diversi (che è esattamente ciò che SHMT si propone di realizzare).

Pertanto, SHMT apre la strada a un calcolo più veloce ed efficiente affrontando i colli di bottiglia nel tradizionale computing attuale. 

Come funziona la tecnologia di Multi-Threading Simultaneo ed Eterogeneo?

Come è evidente, gestire e distribuire le attività di calcolo in modo efficiente tra diversi componenti hardware è il principio di base alla base di SHMT. 

Il framework include una raccolta di operazioni virtuali (VOP) per facilitare lo scaricamento di compiti da un’applicazione CPU a un dispositivo hardware virtuale. Secondo lo studio, “Un insieme di operazioni virtuali (VOP) consente a un programma CPU di ‘scaricare’ una funzione su un dispositivo hardware virtuale.” Queste VOP mediano la comunicazione e la delega dei compiti creando una barriera tra il programma e l’hardware.

Un sistema di runtime ottimizza le prestazioni valutando le capacità di ciascuna risorsa hardware e prendendo decisioni di scheduling intelligenti durante l’esecuzione dell’applicazione. Secondo lo studio, “Durante l’esecuzione del programma, un sistema di runtime gestisce l’hardware virtuale del multi-threading simultaneo ed eterogeneo, valutando la capacità della risorsa hardware di prendere decisioni di scheduling.” Per massimizzare l’efficienza delle risorse e adattarsi alle esigenze specifiche dei compiti, SHMT valuta dinamicamente le capacità hardware.

Il sistema di runtime suddivide le VOP in operazioni di alto livello (HLOP) per distribuirle a varie code di compiti hardware. Secondo lo studio, “Il sistema di runtime divide le VOP in una o più operazioni di alto livello (HLOP) per utilizzare simultaneamente più risorse hardware.” Decomporre le VOP in HLOP consente un controllo granulare sull’allocazione dei compiti e la massima utilizzo di ciascuna unità di elaborazione.

La politica di scheduling di SHMT utilizza un approccio di work-stealing consapevole della qualità (QAWS), garantendo un utilizzo efficiente delle risorse e carichi di lavoro variabili. Secondo lo studio, “SHMT utilizza una politica di scheduling quality-aware work-stealing (QAWS) che non monopolizza le risorse, ma aiuta a mantenere il controllo della qualità e l’equilibrio del carico di lavoro.” Oltre a distribuire il lavoro in modo efficace attraverso il sistema, questo approccio impedisce a qualsiasi unità di elaborazione di accumulare risorse.

Se SHMT vuole massimizzare le prestazioni senza sacrificare la qualità, ha bisogno della politica di scheduling QAWS. Lo studio afferma che “SHMT deve garantire il risultato senza incorrere in un sovraccarico significativo.” Per assicurare che l’output delle unità di elaborazione eterogenee sia accurato e coerente, SHMT integra tecniche di controllo della qualità nella pianificazione.

La capacità di SHMT di sfruttare le specifiche capacità di ciascun componente hardware è un grande vantaggio. Come osserva lo studio, “SHMT può suddividere il calcolo della stessa funzione su più tipi di risorse di calcolo e sfrutta al contempo tipi eterogenei di parallelismo.” SHMT migliora notevolmente le prestazioni perché utilizza il parallelismo nei sistemi eterogenei per eseguire i compiti simultaneamente su diverse unità di elaborazione.

Un altro aspetto di SHMT che dovrebbe essere flessibile e adattabile è il sistema di runtime. E secondo lo studio, “Poiché le HLOP sono indipendenti dall’hardware, il sistema di runtime può regolare l’assegnazione dei compiti secondo necessità.” Grazie alla sua adattabilità, SHMT può reagire in tempo reale ai cambiamenti nella disponibilità hardware o alle richieste di carico di lavoro, mantenendo il sistema al massimo dell’efficienza e delle prestazioni.

Nel complesso, lo studio espone tutti i passaggi necessari per comprendere come opera SHMT, evidenziando le parti e i processi critici che gli consentono di raggiungere un’efficienza e un’efficacia notevoli negli ambienti di calcolo eterogenei. Grazie a SHMT, che utilizza VOP, HLOP e la strategia di scheduling QAWS per rivoluzionare l’elaborazione parallela, sta per sorgere una nuova era di calcolo efficiente e potente.

Risultati Positivi dai Test Iniziali del Prototipo

Per dimostrare che SHMT funziona, i ricercatori di UCR hanno eseguito test rigorosi su un sistema prototipo che imitava le capacità di un data center utilizzando componenti standard nei telefoni cellulari contemporanei. Il prototipo includeva un Google Edge TPU integrato tramite lo slot M.2 Key E del sistema, un modulo NVIDIA Jetson Nano con processore ARM Cortex-A57 quad-core e 128 core GPU con architettura Maxwell.

Per valutare le prestazioni del framework SHMT in diverse condizioni di carico di lavoro, i ricercatori hanno sottoposto il prototipo a una serie di programmi di benchmark. Il risultato è stato impressionante: la strategia QAWS più performante non solo ha ridotto il consumo energetico del 51% ma ha anche migliorato le prestazioni di elaborazione di 1,95 volte rispetto alla tecnica di riferimento.

QAWS result

I risultati sottolineano il potenziale di SHMT di migliorare notevolmente le prestazioni di elaborazione e l’efficienza energetica su un’ampia gamma di dispositivi e applicazioni software. SHMT ha dimostrato che è possibile sfruttare al massimo la configurazione attuale utilizzando meglio tutte le sue risorse senza dover spendere una fortuna per nuovo hardware.

Con la crescente necessità di calcolo più veloce ed efficiente, innovazioni come il multi-threading simultaneo ed eterogeneo diventeranno sempre più cruciali nel plasmare il futuro della tecnologia. Il lavoro del team di ricerca di UCR dimostra chiaramente che trovare soluzioni di calcolo ad alte prestazioni a lungo termine, capaci di adattarsi alle esigenze dinamiche del nostro mondo digitale, non è mai stato così semplice come con il lavoro del team di ricerca di UCR.

Implicazioni e Direzioni Future del Multi-Threading Simultaneo ed Eterogeneo

La creazione e il test di SHMT rappresentano un cambiamento profondo nel futuro del calcolo. Ha il potenziale di rivoluzionare la progettazione e l’uso dei dispositivi informatici in diverse applicazioni offrendo aumenti di prestazioni sostanziali e risparmi energetici con l’hardware esistente.

Man mano che SHMT ottiene una più ampia adozione, i consumatori potranno evitare costosi aggiornamenti hardware e godere di dispositivi mobili, tablet, laptop e desktop più rapidi e reattivi. Per questo, più persone potranno presto acquistare e accedere a computer ad alte prestazioni, contribuendo a colmare il divario digitale.

Anche i data center e altri sistemi di calcolo su larga scala potrebbero considerare SHMT uno strumento indispensabile per ridurre i costi e il consumo energetico senza sacrificare le prestazioni. Inoltre, innovazioni che promuovono l’efficienza energetica e la sostenibilità, come SHMT, acquisteranno importanza man mano che aumentano le preoccupazioni sugli effetti ambientali della tecnologia.

Nonostante i loro sforzi, il team di ricerca di UCR riconosce che rimangono ancora ostacoli da superare e opportunità per ulteriori indagini e progressi in futuro. Ingegneri del software e produttori hardware dovranno collaborare strettamente per implementare SHMT su larga scala. Ciò garantirà che la tecnologia funzioni bene su tutti i dispositivi e le piattaforme. Tuttavia, sono necessarie ulteriori ricerche per determinare quali applicazioni e carichi di lavoro siano più adatti a utilizzare questa tecnologia rivoluzionaria.

Nonostante questi ostacoli, accademici e imprese hanno notato i promettenti risultati iniziali di SHMT. La possibilità che questa tecnologia rivoluzionaria possa trasformare l’industria informatica sta diventando sempre più allettante man mano che gli studi progrediscono e le collaborazioni si consolidano. 

Come molte altre idee brillanti, il multi-threading simultaneo ed eterogeneo sembra essere un prodotto del buon senso, ma il diavolo sta nei dettagli. Sebbene l’idea di una cache condivisa tra CPU e GPU sia intrigante, probabilmente richiederà una revisione completa dell’architettura hardware.

Ciò comporterebbe l’abbandono dell’attuale architettura x86-64, e un tale design richiederebbe lo sviluppo di una nuova architettura di processore con una cache L3 o L4 condivisa. Questo, a sua volta, aumenterebbe la complessità della CPU e potrebbe annullare i benefici ottenuti dalla cache condivisa. 

Inoltre, la memoria cache è tipicamente molto più piccola rispetto alla RAM di sistema e non è adatta alle applicazioni GPU, che richiedono grandi quantità di memoria ad alta larghezza di banda. Tuttavia, sviluppi come universal memory potrebbero affrontare queste preoccupazioni. Man mano che la ricerca su SHMT continua, sarà entusiasmante vedere come questa tecnologia innovativa evolverà e influenzerà il futuro dell’elaborazione parallela e del calcolo eterogeneo.

Gaurav ha iniziato a negoziare criptovalute nel 2017 e da allora si è innamorato dello spazio crypto. Il suo interesse per tutto ciò che riguarda le criptovalute lo ha trasformato in uno scrittore specializzato in criptovalute e blockchain. Presto si è trovato a lavorare con aziende di criptovalute e testate giornalistiche. È anche un grande fan di Batman.