Nel mondo informatico di oggi, il calcolo eterogeneo sta gradualmente diventando il mainstream.Questa tecnologia utilizza una serie di diversi tipi di processori o core, progettati per migliorare le prestazioni e l'efficienza energetica.Man mano che il design del sistema si evolve, le sfide e le opportunità passate dipendono ancora da come affrontiamo queste nuove architetture informatiche.
Il concetto di base nei sistemi di eterogenei eterogenei è quello di ottenere miglioramenti delle prestazioni non solo aggiungendo lo stesso tipo di processore, ma aggiungendo coprocessori eterogenei con capacità di elaborazione specializzate.
I sistemi di elaborazione eterogenei di solito coinvolgono diverse architetture di istruzioni (ISA) e questa eterogeneità non si riflette solo nelle differenze nelle microarchitetti, ma anche nella ricostruzione dei modelli di progettazione e calcolo.L'architettura del sistema eterogeneo moderno (HSA) elimina la cumbersità degli utenti quando si utilizzano tipi multiprocessore, consentendo alla CPU e alla GPU di operare in modo efficiente sullo stesso chip.Ciò consente alle GPU generali di eseguire calcoli matematici e consente alla CPU di occuparsi dei sistemi operativi e delle attività seriali tradizionali.
Le ultime ricerche mostrano che sfruttando la diversità portata da più ISA, i multiprocessori eterogenei ISA hanno ottenuto fino al 21% di prestazioni e risparmia il 23% di energia rispetto all'architettura omogenea ottimale della stessa ISA. .
Nella topologia eterogenea della CPU, sebbene lo stesso ISA sia utilizzato, le differenze di velocità e prestazioni tra i core possono influire significativamente sulle prestazioni del sistema complessivo.Qui, il nucleo è generalmente diviso in nuclei ad alte prestazioni (solitamente chiamati "grandi nuclei") e nuclei più efficienti dal punto di vista energetico (chiamati "piccoli nuclei").Questa topologia viene spesso utilizzata per fornire una migliore efficienza energetica, in particolare per le applicazioni sui sistemi mobili.
Sebbene i sistemi di calcolo eterogenei forniscano potenziali guadagni delle prestazioni, presentano anche molte sfide che non sono comuni nei tradizionali sistemi omogenei.Ecco alcune delle principali sfide:
L'hardware di calcolo eterogeneo copre una vasta gamma di campi di calcolo, dai server di fascia alta ai dispositivi incorporati a bassa potenza, inclusi smartphone e tablet.Ad esempio, molti nuovi processori hanno ora una logica integrata per interfacciarsi con altri dispositivi, tra cui SATA, PCI, Ethernet, USB, ecc.Inoltre, ci sono un gran numero di acceleratori hardware, come GPU e coprocessori di crittografia, che rendono più estesa l'applicazione di sistemi eterogenei.
Ad esempio, la tecnologia Big.Little di ARM combina core ad alta potenza ad alte prestazioni con nuclei lenti a bassa potenza per raggiungere l'effetto del miglioramento dell'efficienza energetica.
Mentre la tecnologia continua ad avanzare, il potenziale dei sistemi di eterogenei eterogenei sembra continuare ad espandersi.Ma se vogliamo risolvere le sfide nel calcolo eterogeneo, dobbiamo pensare a come integrare in modo più efficace diversi componenti di elaborazione, migliorare i modelli di progettazione del programma e migliorare la trasparenza della programmazione.In futuro, come dovremmo affrontare le opportunità e le sfide apportate dal calcolo eterogeneo in modo che la tecnologia possa servire meglio gli esseri umani?