211service.com
Les processeurs multicœurs créent des maux de tête logiciels
Pendant des décennies, l'amélioration des performances du processeur impliquait d'augmenter la vitesse d'horloge d'une puce. Le résultat était immédiatement évident pour les utilisateurs : les applications s'exécutaient plus rapidement. Mais une puce plus rapide consomme plus d'électricité, asséchant les batteries des appareils mobiles. Par conséquent, les fabricants de puces sont passés à des conceptions multicœurs économes en énergie, où plusieurs processeurs basse consommation sur une seule puce se combinent pour reproduire les performances d'un seul processeur plus rapide. (voir Concevoir pour la mobilité ) .
Malheureusement, les applications sur les systèmes multicœurs ne s'accélèrent pas automatiquement à mesure que des cœurs sont ajoutés. Le logiciel doit être écrit pour tirer parti de la puissance de traitement parallèle. Et écrire des programmes qui s'exécutent efficacement et de manière stable sur plusieurs cœurs est difficile. À moins que nous ne résolvions ce problème de programmation, déclare Prith Banerjee, vice-président senior de la recherche chez Hewlett-Packard, les utilisateurs ne verront aucun avantage de vitesse dans les nouveaux microprocesseurs. Banerjee ajoute, C'est un problème très fondamental.
PHOTO DE DONNÉES
8,2 gigahertz Le record de vitesse actuel pour un microprocesseur de bureau, réalisé par des passionnés qui ont overclocké une puce conçue pour fonctionner à trois gigahertz. Pour éviter que la puce ne fonde, elle a été refroidie avec de l'azote liquide.Une solution potentielle prometteuse consiste à exclure autant que possible les programmeurs humains de la boucle : plutôt que de demander à des programmeurs individuels de déterminer comment faire fonctionner leurs applications sur deux, quatre cœurs ou plus, les détails compliqués pourraient être laissés aux compilateurs, le logiciel utilisé pour convertir des langages de programmation de haut niveau en code machine qu'un ordinateur peut comprendre. Toutes les grandes sociétés de logiciels et de puces, ainsi que de nombreux chercheurs universitaires, travaillent au développement de compilateurs capables de gérer de telles tâches. Le plus gros obstacle est qu'il est difficile d'identifier les parties d'un programme qui ne dépendent pas d'autres parties, de sorte qu'un noyau ne restera pas inactif pendant qu'il attend une donnée. Le simple fait de persuader les développeurs d'écrire des programmes plus propres, avec des interfaces bien définies entre les blocs de code, rendrait le travail beaucoup plus facile, explique Wen-mei Hwu, professeur de génie électrique et informatique à l'Université de l'Illinois. Mais il estime qu'il faudra cinq ans avant que les compilateurs multicœurs et les pratiques de programmation correspondantes ne se diffusent dans l'industrie informatique.