211service.com
I processori multicore creano problemi di software
Per decenni, migliorare le prestazioni del processore ha significato aumentare la velocità di clock di un chip. Il vantaggio è stato immediatamente evidente agli utenti: le applicazioni sono state eseguite più velocemente. Ma un chip più veloce consuma più elettricità, prosciugando le batterie dei dispositivi mobili. Di conseguenza, i produttori di chip sono passati a progetti multicore a risparmio energetico, in cui più processori a basso consumo su un singolo chip si combinano per replicare le prestazioni di un singolo processore più veloce (vedi Progettare per la mobilità) .
Sfortunatamente, le applicazioni su sistemi multicore non diventano più veloci automaticamente quando vengono aggiunti i core. Il software deve essere scritto per sfruttare la potenza di elaborazione parallela. E scrivere programmi che funzionano in modo efficiente e stabile su più core è difficile. A meno che non risolviamo questo problema di programmazione, afferma Prith Banerjee, vicepresidente senior della ricerca di Hewlett-Packard, gli utenti non vedranno alcun vantaggio in termini di velocità nei nuovi microprocessori. Banerjee aggiunge: Questo è un problema fondamentale.
DATI COLPO
8.2 gigahertz L'attuale record di velocità per un microprocessore desktop, raggiunto da appassionati che hanno overcloccato un chip progettato per funzionare a tre gigahertz. Per evitare che il chip si sciogliesse, è stato raffreddato con azoto liquido.Una potenziale soluzione promettente è quella di togliere il più possibile i programmatori umani dal ciclo: piuttosto che far lavorare i singoli programmatori su come far funzionare le loro applicazioni su due, quattro o più core, i dettagli disordinati potrebbero essere lasciati ai compilatori, il software utilizzato per convertire linguaggi di programmazione di alto livello nel codice macchina che un computer può comprendere. Tutte le principali società di software e chip, insieme a molti ricercatori accademici, stanno lavorando per sviluppare compilatori in grado di gestire tali compiti. L'ostacolo più grande è che è difficile identificare le parti di un programma che non dipendono da altre parti, in modo che un core non venga lasciato inattivo mentre aspetta alcuni dati. Persuadere semplicemente gli sviluppatori a scrivere programmi più puliti, con interfacce ben definite tra blocchi di codice, renderebbe il lavoro molto più semplice, afferma Wen-mei Hwu, professore di ingegneria elettrica e informatica presso l'Università dell'Illinois. Ma stima che ci vorranno cinque anni prima che i compilatori multicore e le pratiche di programmazione corrispondenti si diffondano nell'industria dei computer.