Raddoppiare le prestazioni di PC e smartphone senza modifiche hardware con SHMT

Un gruppo di ricercatori presenta la tecnologia SHMT: in prospettiva futura dovrebbe aiutare a raddoppiare le prestazioni di computer e smartphone senza applicare alcun aggiornamento hardware. Funziona tutto via software, grazie all'ottimizzazione dei carichi di lavoro tra le varie unità di elaborazione disponibili.

Aumentare le prestazioni di elaborazione di un computer richiede di solito un aggiornamento dell’hardware o un miglioramento della configurazione software. I ricercatori dell’Università della California hanno ideato un nuovo modello di esecuzione del codice che raddoppia la velocità di elaborazione senza modificare l’hardware, in dispositivi come notebook e smartphone.

La promessa degli studiosi è quella di aumentare le performance utilizzando solamente algoritmi software ottimizzati, in grado di sfruttare ancora meglio la dotazione hardware che possono offrire i dispositivi moderni.

La ricerca, presentata al 56° Simposio internazionale IEEE/ACM sulla microarchitettura dei chip a Toronto (Canada), introduce il concetto di Simultaneous and Heterogenous Multithreading (SHMT).

Cos’è SHMT e come può raddoppiare le prestazioni di PC e smartphone

Il team di ricercatori spiega che SHMT ha un enorme potenziale: non solo per aumentare le prestazioni dell’hardware ma anche per aumentare l’efficienza e ridurre significativamente il consumo di energia.

Sebbene oggi si parli ancora, spesso troppo genericamente, di processore per descrivere il microchip principale che governa il funzionamento di un dispositivo elettronico, di solito è una combinazione di unità che collaborano. Accanto alla CPU, c’è l’unità di elaborazione grafica (GPU) ma anche una NPU (Neural Processing Unit) o una TPU (Tensor Processing Unit).

Le NPU sono unità di elaborazione specializzate per le elaborazioni che coinvolgono l’uso di reti neurali; le TPU sono specificamente progettate per le operazioni di machine learning, offrendo prestazioni notevolmente superiori alle più comuni GPU. In generale, le TPU possono essere anche 30 volte più veloci delle GPU, ma sono meno flessibili in quanto basate su architettura ASIC (Application-Specific Integrated Circuit), progettate su misura. Le GPU, d’altro canto, sono maggiormente versatili e adatte a una vasta gamma di computazioni SIMD (Single Instruction Multiple Data).

A differenza dei modelli convenzionali, SHMT consente l’uso simultaneo di diversi tipologie di unità di elaborazione per la stessa porzione di codice. Gli sviluppatori, guidati dal professor Hung-Wei Tseng del Dipartimento di Ingegneria Elettrronica e Informatica dell’Università della California (Riverside), affermano che SHMT fornisce un’astrazione e un sistema di runtime per facilitare l’esecuzione parallela del codice.

Eliminare i colli di bottiglia e spingere sull’esecuzione parallela

In molte situazioni, l’ambiente di elaborazione dei computer moderni è eterogeneo, con unità di elaborazione specializzate come CPU, GPU, NPU/TPU. I modelli di programmazione tradizionali si concentrano sull’utilizzo delle unità di elaborazione più efficienti per le varie tipologie di codice.

Tuttavia, con il metodo di esecuzione individuale dei compiti con un’unità specifica, si verifica un collo di bottiglia durante il trasferimento delle informazioni all’unità di elaborazione successiva dopo l’esecuzione di un processo. Per sfruttare appieno i vantaggi dei computer eterogenei, SHMT permette l’esecuzione simultanea di compiti in parallelo sulle diverse unità di elaborazione.

Tseng e i suoi colleghi hanno testato SHMT su un sistema basato su SoC ARM Cortex-A57, GPU NVIDIA e TPU Google Edge. I risultati mostrano un aumento della velocità di esecuzione del codice di circa il 1,96 volte e una riduzione del consumo energetico del 51%.

Siamo comunque ancora agli inizi: il sistema proposto è al momento più un test embrionale volto a dimostrare il potenziale dell’idea, piuttosto che qualcosa subito implementabile nei nostri PC e nei moderni smartphone. I ricercatori, ad esempio, sottolineano che ci sono ancora sfide significative da superare in termini di suddivisione dei carichi di lavoro tra le varie unità accertandosi che non vengano introdotti rallentamenti.

Credit immagine in apertura: Intel.

Ti consigliamo anche

Link copiato negli appunti