Qualche settimana fa ho seguito un corso della Intel sulle loro librerie matematiche. Alla fine del corso è stato chiaro che ormai la strada intrapresa dalla Intel (ed anche altri player del mercato come AMD, Sun, IBM) va verso le CPU multicore e nei prossimi 10 anni non possiamo che aspettarci sempre più core e/o core sempre più specializzati. Il rovescio della medaglia è che la velocità di clock non aumenterà più ogni 6 mesi anzi stagnerà e probabilmente potrebbe anche scendere visto che le CPU multicore sono la soluzione all’elevato riscaldamento dovuto a velocità di clock spaventose. L’impatto di questa nuova architettura è devastante per la stragrande maggioranza del codice attuale, scritto per essere eseguito su CPU con singolo core. Questa classe di programmi si è avvantaggiata di moltissimo dell’incremento di velocità delle CPU nel passato ma adesso subirà un brusco colpo di arresto ed anzi le performance non faranno che calare se non si riscrivono pezzi di codice in chiave multicore. La Intel ha sentito molto il problema ed ha proposto una libreria di alto livello per la programmazione parallela le TBB. Le due persone di Intel hanno simpaticamente apostrofato i WinThread, Posix Thread ed altre librerie o API che hanno perso il multithreading fino ad oggi come l’assembler della programmazione parallela.
Nei prossimi anni c’è da aspettarsi il moltiplicarsi di librerie come le TBB ed anche chiaro come nei prossimi anni bisognerà stare molto più attenti a come si implementano gli algoritmi: non potremo contare ancora sui GHz in più per salvarci dal codice scritto male. E ora di tornare sui banchi di scuola per imparare come avvantaggiarsi di questa nuova architettura hardware che ci accompagnerà per diversi decenni.