Se connecter avec
S'enregistrer | Connectez-vous

Les enjeux du parallélisme

Les enjeux du parallélisme
Par
Du mono-coeur au multi-cœurs, quels gains ?

Les fondeurs estiment qu’en restant sur l’architecture mono-cœur, la dissipation thermique aurait atteint en 2015-2020 la chaleur dégagée à la surface du soleil, soit 6000° C ! La course au MHz entraîne également une course à la consommation. De source Intel, si on augmente la fréquence du processeur de 20%, on augmente en moyenne les performances de 13%, mais la consommation augmente de 73%. En revanche, si l’on diminue la fréquence de 20%, on diminue la performance de 13% et la consommation diminue de 49%. Partant de ce constat, si l’on garde une fréquence à 80% de la fréquence d’origine et que l’on ajoute un second cœur à la même fréquence, on augmente les performances de 73% et la consommation n’augmente que de 2% !

S’il est un domaine où le logiciel accuse un retard par rapport au matériel, c’est bien le parallélisme. Alors que les machines multi-cœurs et multi-processeurs se généralisent, rares sont les applications capables d’exploiter cette montée en puissance. Pourtant les langages et les outils existent, mais la programmation parallèle reste une affaire de spécialistes.

Depuis l’origine de l’informatique, l’amélioration des performances des ordinateurs s’est faite en augmentant la fréquence des processeurs. Basé sur l’architecture de von Neumann, ce modèle à traitement séquentiel montre aujourd’hui des limites physiques que sont la chaleur dissipée et la consommation. Pour palier à ces limitations, on peut disposer plusieurs cœurs dans un même processeur (mutli-core computing), plusieurs processeurs sur la même carte-mère (symmetric multiprocessing, SMP), plusieurs cartes mères dans le même boîtier ou plusieurs ordinateurs en réseau (distributed computing, massive parallel processing, grid computing). Nous nous intéresserons ici à la première catégorie.

On voit depuis quelques années se généraliser les ordinateurs à processeurs multi-cœurs, du PC de bureau au portable, et bientôt les PDA. Mais les logiciels sont-ils capables d’exploiter automatiquement ce surcroît de puissance ? La réponse, comme vous le savez vous qui lisez nos comparatifs, est clairement non pour une bonne partie d’entre eux. La plupart des programmes sont encore écrit de manière séquentielle. Un algorithme de calcul, s’il n’a pas été conçu pour profiter de plusieurs cœurs,  consommera donc au mieux 50 % du CPU d’un dual-core, 25 % d’un quad-core, 12 % d’un octo-core, etc. Un vrai gâchis !