Article de reference

Parallèlement embarrassant

En calcul parallèle , une charge de travail ou un problème facilement parallélisable (également appelé parallélisable à l' extrême , parfaitement parallélisable , idéalement par...

En calcul parallèle , une charge de travail ou un problème facilement parallélisable (également appelé parallélisable à l' extrême , parfaitement parallélisable , idéalement parallélisable ou agréablement parallélisable ) est un problème pour lequel il est nécessaire de le diviser en plusieurs tâches parallèles sans effort ou presque. Cela est dû à une dépendance minimale ou nulle à la communication entre les tâches parallèles, ou à l'échange de résultats entre elles.

Ces problèmes diffèrent de ceux du calcul distribué , qui nécessitent une communication entre les tâches, notamment pour la transmission des résultats intermédiaires. Ils sont plus faciles à résoudre sur des fermes de serveurs dépourvues de l'infrastructure spécifique d'un véritable supercalculateur . Ils sont parfaitement adaptés aux grandes plateformes de calcul collaboratif sur Internet, telles que BOINC , et souffrent moins du ralentissement lié à la parallélisation . À l'inverse, les problèmes intrinsèquement séquentiels ne peuvent être parallélisés.

Un exemple courant de problème facilement parallélisable est le rendu vidéo 3D effectué par un processeur graphique , où chaque image (méthode directe) ou pixel ( méthode de lancer de rayons ) peut être traité indépendamment. Certaines formes de craquage de mots de passe constituent un autre exemple de tâche facilement parallélisable qui se distribue aisément sur des unités centrales de traitement , des cœurs de processeur ou des clusters.

homotopie polynomiale . » Le terme apparaît pour la première fois dans un ouvrage de 1986 sur les multiprocesseurs, écrit par Cleve Moler , le créateur de MATLAB , qui en revendique l'invention.

Un autre terme, agréablement parallèle , a gagné en popularité, peut-être pour éviter les connotations négatives d’embarras au profit d’une réflexion positive sur la parallélisation des problèmes : « Bien sûr, il n’y a absolument rien d’embarrassant dans ces programmes. »

Exemples

Un exemple simple consiste à servir des données statiques. Il suffirait de peu d'efforts pour que de nombreuses unités de traitement produisent le même ensemble de bits. En effet, le célèbre problème « Hello World » pourrait facilement être parallélisé, moyennant peu de considérations de programmation et un faible coût de calcul.

Voici quelques exemples de problèmes étrangement similaires :

Mises en œuvre

  • En R (langage de programmation) , le package SNOW (Simple Network of Workstations) implémente un mécanisme simple permettant d'utiliser un ensemble de stations de travail ou un cluster Beowulf pour des calculs massivement parallèles. D'autres packages R similaires existent, tels que « future », « parallel », etc.