Quand le calcul intensif s'invite à la maison

23 juillet 2008 à 17h35
0

Les différentes technologies utilisées

Après avoir vu les principaux projets en cours et quelques exemples concrets des applications possibles du calcul distribué, qu'en est-il de la partie matérielle ? Si les calculs effectués par nos machines le sont généralement par leur processeur, la carte graphique et même une console de jeu peuvent également jouer un rôle intéressant. En effet, de nombreux projets de calcul distribué utilisent fort logiquement le calcul parallèle qui avantage certains composants face à d'autres. Explications.

L'incontournable CPU

0096000001458298-photo-photographie-du-processeur-intel-core-2-quad.jpg
Les processeurs tels que nous les connaissons actuellement sont composés (entre autres) d'unités de calcul à même de répondre rapidement à tout type de demande, même complexe. Pour réagir le plus rapidement possible, les instructions et les données sont stockées dans la mémoire cache du processeur, afin que les unités de calculs puissent y accéder rapidement. C'est pourquoi cette mémoire occupe une grande partie du processeur, les unités de calcul ne représentant qu'une portion relativement faible de sa surface. En résumé, le CPU (pour Central Processing Unit) est un excellent élément pour traiter rapidement un flux d'instructions complexes important, du fait de la rapidité de l'échange entre la mémoire cache et les unités de calcul.

La Playstation 3 et son processeur Cell

Si un processeur peut facilement traiter une simple addition (ou d'autres opérateurs plus complexes comme le logarithme ou l'exponentielle), qu'en est-il de plusieurs milliards d'additions simultanées ? Il existe une autre façon de résoudre un problème dont le nombre d'opérations est particulièrement important et dans lequel ces opérations sont indépendantes : il s'agit de la parallélisation.

La plupart des calculs graphiques sont parallélisables, c'est-à-dire que l'on peut les découper en une série d'opérations indépendantes que l'on peut traiter simultanément. Un plus grand nombre d'unités de calcul (moins complexes que celles d'un CPU) parviennent alors à résoudre le problème plus rapidement que ne le ferait un processeur. En contrepartie, la quantité de mémoire cache est moindre que pour un CPU. C'est le facteur limitant dans ce type d'architecture, car la transmission de données de la mémoire vive vers le processeur est plus lente que si les instructions et/ou les données sont stockées dans la mémoire cache.

Un processeur Cell est un savant mélange d'unités de calcul capables à la fois de résoudre rapidement un jeu d'instruction complexe et d'appliquer à de nombreuses données une opération simple et répétitive. C'est lui qui équipe la dernière console de Sony, la Playstation 3, dont les performances ont énormément apporté au projet Folding@Home en terme de puissance.

Le GPU, nouveau venu dans la bataille

Le GPU (pour Graphics Processing Unit) est la logique de parallélisation poussée à l'extrême : ici, les unités de calcul sont très nombreuses, toutes destinées à du calcul « simple » et la mémoire prend très peu de place. Ces éléments sont donc tout à fait véloces pour ce qui est du calcul parallèle (comme le rendu 3D) et particulièrement peu adaptés aux opérations plus complexes. C'est toutefois moins vrai pour les dernières générations de cartes graphiques, que ce soit chez NVIDIA ou chez AMD, puisqu'elles embarquent quelques unités de calcul programmables et propres à effectuer d'autres tâches plus généralistes que les simples rendus 3D. C'est ce qu'on appelle le GP-GPU (general purpose GPU).

01F4000001481758-photo-diff-rence-gpu-cpu.jpg
La quantité de mémoire cache est moindre dans un GPU que dans un CPU


NVIDIA et son API CUDA ou AMD avec le Brook+ proposent deux langages de programmation permettant aux développeurs d'utiliser facilement le potentiel de leurs cartes graphiques. C'est ainsi qu'une application comme Folding@Home peut utiliser une (ou plus ?) cartes NVIDIA ou AMD au lieu du traditionnel CPU. Nous verrons à la page suivante les performances de chacun.

Quelques chiffres à titre de comparaison

Vous l'avez compris, un processeur comme le Cell ou même des cartes graphiques peuvent être à leur avantage face à un CPU « classique », même les plus puissants comme le Core Quad d'Intel. Pour exprimer une puissance de calcul, la grandeur utilisée traditionnellement est le FLOP (pour FLoating point Operations Per Second), qui représente le nombre d'opérations en virgule flottante (c'est à dire en chiffre réel) effectuées en une seconde. Pour exprimer ce dont sont capables les supercalculateurs actuels, quelques préfixes s'imposent : ainsi, le petaflops (qui représente un million de milliards d'opérations par seconde) est aujourd'hui l'unité de référence. C'est un supercomputer qu'IBM a vendu à l'armée américaine qui a passé cette barrière symbolique en mai dernier : le Roadrunner composé de 6 948 Opteron bicoeurs et de 12 960 processeurs Cell. A titre de comparaison, le processeur le plus puissant à l'heure actuelle, à savoir le Core Quad QX9775 d'Intel, développe « seulement » 51 gigaflops, tandis qu'une GeForce 8800 Ultra de chez NVIDIA en produit plus de dix fois plus à l'aide de ces 128 unités de calcul (qui ne sont pas comparables à celles présentes dans un CPU, rappelons-le).

Mais le calcul distribué, de par le nombre d'ordinateurs qu'il utilise, bénéficie d'une puissance encore plus extraordinaire. Ainsi, l'ensemble des projets compris dans l'interface BOINC bénéficie actuellement de plus d'un petaflops de puissance, tandis que le très populaire Folding@Home est soutenu par plus de 2,5 petaflops.
Modifié le 01/06/2018 à 15h36
0 réponses
0 utilisateurs
Suivre la discussion

Les actualités récentes les plus commentées

Porn : Macron veut
Émissions de CO2 : Bruno Le Maire milite pour le déplafonnement du malus automobile
Tesla Cybertruck, l’impressionnant pick-up électrique venu d’ailleurs
La loi d'orientation des mobilités (LOM) a été adoptée par le Parlement
Bill Gates est de nouveau l'homme le plus riche au monde devant Jeff Bezos
Mustang Mach-E : Ford lâche la cavalerie électrique… et ça va faire mal
Xavier Niel se dit prêt à investir 1,4 milliard de sa fortune personnelle dans Iliad-Free
Votre maison côtière sera-t-elle sous l’eau chaque année en 2050/2100 ?
Droit voisin : des éditeurs de presse français portent plainte
Pourquoi Stadia ne sera pas intéressant avant un an

Notre charte communautaire

1. Participez aux discussions

Nous encourageons chacun à exprimer ses idées sur les sujets qui l'intéressent, et à faire profiter l'ensemble de la communauté de son expertise sur un sujet particulier.

2. Partagez vos connaissances

Que vous soyez expert ou amateur passionné, partagez vos connaissances aux autres membres de la communauté pour enrichir le niveau d'expertise des articles.

3. Échangez vos idées

Donnez votre opinion en étayant votre propos et soyez ouverts aux idées des autres membres de la communauté, même si elles sont radicalement différentes des vôtres.

4. Faites preuve de tolérance

Qu'il s'agisse de rédacteurs professionnels ou amateurs, de lecteurs experts ou passionnés, vous devez faire preuve de tolérance et vous placer dans une démarche d'entraide.

5. Restez courtois

Particulièrement lorsque vous exprimez votre désaccord, critiquez les idées, pas les personnes. Évitez à tout prix les insultes, les attaques et autres jugements sur la forme des messages.

6. Publiez des messages utiles

Chaque participation a vocation à enrichir la discussion, aussi les partages d'humeurs personnelles ne doivent pas venir gêner le fil des échanges.

7. Soignez votre écriture

Utilisez la ponctuation, prohibez le langage SMS et les majuscules, relisez-vous afin de corriger un peu les fautes de frappe et de français : trop de fautes n’engagent ni à lire le message, ni à répondre à une question.

8. Respectez le cadre légal

Ne publiez pas de contenus irrespectueux, racistes, homophobes, obscènes ou faisant l'apologie de courants radicaux, qu'ils soient politiques ou religieux. N'utilisez pas plusieurs comptes utilisateurs.

9. Ne faites pas de promotion

Ne profitez pas d'une discussion pour faire la publicité d'un produit, d'un service ou même de votre site web personnel.

10. Ne plagiez pas

Exprimez uniquement vos opinions ou partagez des idées en citant vos sources.

scroll top