Lo stato delle singole GPU viene monitorato e le attività vengono distribuite di conseguenza. Credito:Università della Tecnologia di Vienna
Le unità di elaborazione grafica (GPU) vengono utilizzate per molte attività ad alta intensità di calcolo. Il loro processo di invecchiamento può essere rallentato da una gestione intelligente, come hanno ora dimostrato TU Wien (Vienna) e University of California (Irvine).
Le unità di elaborazione grafica non vengono utilizzate solo per la visualizzazione di grafici. Oggi, sono spesso utilizzati per calcoli particolarmente impegnativi, ad esempio nella ricerca scientifica o persino nell'estrazione di Bitcoin.
Però, le loro prestazioni di solito diminuiscono nel tempo. Man mano che i singoli nuclei dell'unità di elaborazione invecchiano, non funzionano più insieme perfettamente. TU Wien e l'Università della California, Irvine ha quindi sviluppato un metodo di gestione dei trucioli migliorato, che distribuisce in modo efficiente le attività di elaborazione. In più del 95% dei casi, questo può rallentare il processo di invecchiamento delle GPU.
Calcolo altamente parallelo
"I computer standard che usiamo a casa hanno solo pochi core del processore. Un'unità di elaborazione grafica, d'altra parte, è costituita da un gran numero di core, in genere centinaia o migliaia", afferma il professor Muhammad Shafique (Istituto di ingegneria informatica, TU Vienna). Perciò, Le GPU sono estremamente utili per i calcoli paralleli, in cui un compito può essere suddiviso in molti calcoli più piccoli che possono essere risolti indipendentemente l'uno dall'altro, da nuclei diversi contemporaneamente.
Un cluster di CPU. Credito:Università della Tecnologia di Vienna
I nuclei, però, non sono mai completamente identici. "Le strutture sulla GPU sono molto piccole. Ci saranno sempre piccole imperfezioni e deviazioni dovute al processo produttivo", dice Muhammad Shafique. Perciò, l'invecchiamento ha effetti diversi sui diversi nuclei. Sotto stress, le prestazioni dei diversi core andranno alla deriva.
Questo è un problema per il calcolo parallelo. Quando un'attività è distribuita tra più core e il sistema deve attendere il completamento dell'ultimo prima di poter avviare il passaggio successivo del calcolo, il nucleo più lento determina la velocità complessiva del processo. Questo può ridurre drasticamente le prestazioni della GPU.
Tecniche di gestione intelligenti
Muhammad Shafique e il team del professor Mohammad Al Faruque (Università della California, Irvine) vogliono risolvere questo problema utilizzando metodi di gestione intelligenti:"In primo luogo, è fondamentale conoscere lo stato dei singoli nuclei", dice Muahmmad Shafique. "Quindi possiamo distribuire diversi compiti in modo tale che lo stress fisico sia distribuito in modo ottimale".
I core con proprietà simili sono combinati a "cluster", a cui vengono poi assegnati compiti più o meno impegnativi, a seconda del loro stato attuale. Quel modo, il processo di invecchiamento può essere rallentato, le prestazioni complessive del sistema aumentano. "Ci sono già state idee su come rallentare il processo di invecchiamento delle GPU con tecniche basate su compilatori, ma il nostro metodo è molto più efficace. Funziona in più del 95% dei casi", dice Muhammad Shafique.