Skip to main content
European Commission logo
français français
CORDIS - Résultats de la recherche de l’UE
CORDIS
CORDIS Web 30th anniversary CORDIS Web 30th anniversary

Cross-Layer and Multi-Objective Programming Approach for Next Generation Heterogeneous Parallel Computing Systems

Article Category

Article available in the following languages:

Des outils logiciels innovants optimisent le codage pour le calcul parallèle

La plupart des logiciels destinés à plusieurs processeurs s’avèrent inefficaces. De nouveaux outils permettent d’optimiser tout cela.

Les premiers ordinateurs personnels et dispositifs portables utilisaient une seule puce microprocesseur, ou «cerveau». Celles-ci sont inefficaces pour les gros calculs en raison des goulots d’étranglement inhérents au processeur. Le calcul parallèle constitue une alternative bien plus puissante. Cela signifie qu’il faut subdiviser les calculs volumineux en morceaux plus petits, répartis sur plusieurs puces. L’idée existe depuis l’aube de l’informatique, mais elle est restée longtemps confinée aux machines dotées de performances hors du commun. Alors que le coût des processeurs supplémentaires a diminué, de nombreux ordinateurs, consoles de jeux et autres dispositifs de niveau inférieur ont commencé à être équipés de plusieurs processeurs au cours des dernières années. Les processeurs supplémentaires étaient initialement spécialisés pour des fonctions particulières, mais des processeurs génériques peuvent désormais être programmés pour la plupart des tâches.

Le problème de l’optimisation

Le problème en question tient au fait qu’il est difficile d’écrire du code informatique qui attribue des calculs à des processeurs particuliers. Les ingénieurs logiciels peuvent le faire pour un maximum de quatre processeurs, bien que cela prenne un temps considérable. Au fur et à mesure que le nombre de processeurs augmente, il devient de plus en plus délicat d’optimiser cette allocation. C’est la raison pour laquelle les logiciels actuels utilisent rarement l’intégralité des capacités du processeur d’un dispositif. Les ingénieurs logiciels doivent prendre en compte de nombreux facteurs, notamment le nombre de processeurs à utiliser, savoir sur quel processeur les différentes parties d’une application doivent être exécutées et si les processeurs en question doivent être spécialisés. Le projet PHANTOM, financé par l’UE, a aidé à simplifier les choses. «Nous voulions automatiser le processus de décision relatif à l’organisation d’un programme sur plusieurs processeurs, de manière à répondre à certains objectifs», explique Scott Hansen, coordinateur du projet. «Par exemple, certains systèmes doivent toujours réagir dans un délai déterminé, tandis que d’autres doivent réduire leur consommation d’énergie au minimum. D’autres encore ont besoin d’optimiser l’utilisation du processeur afin de résoudre un problème aussi rapidement que possible.» L’équipe du projet a examiné la possibilité de créer des outils pour aider les ingénieurs logiciels et les programmeurs à trouver la meilleure façon de répondre à ces objectifs parfois contradictoires.

De nouveaux outils

L’équipe a réussi à développer un ensemble d’outils innovants. Il s’agit notamment d’algorithmes très sophistiqués qui automatisent le processus complexe de prise de décision requis pour obtenir une optimisation du traitement parallèle correspondant au but recherché. L’équipe a également développé des fonctionnalités d’apprentissage avancées pour surveiller les applications en cours d’exécution et optimiser de manière dynamique les processeurs disponibles en fonction de leur utilisation en temps réel. Créer de tels outils aurait été au-delà des capacités individuelles des partenaires du consortium. «Collaborer sous l’égide du programme H2020 de l’UE a rendu cela possible», a déclaré M. Hansen. «Nous avions également de très solides partenaires industriels faisant office d’utilisateurs qui ont veillé à ce que les outils en cours de développement fassent une grosse différence pour leurs propres ingénieurs et, du coup, pour les ingénieurs de toute l’Europe dans de nombreux secteurs.» Les partenaires industriels de PHANTOM ont validé les nouveaux outils en les utilisant pour développer des applications industrielles sur des systèmes multiprocesseurs complexes. Ces outils sont accessibles au public sous la forme de versions open-source. Celles-ci sont faciles à installer et permettent aux ingénieurs d’évaluer les outils. Les partenaires commerciaux du projet proposent également des versions payantes, associées à des services de conseil et de personnalisation. Les méthodes de programmation actuellement utilisées pour les processeurs multiples sont généralement à l’origine d’une sous-exploitation de leurs capacités. Parvenir à les optimiser va au-delà des capacités de la plupart des gens, à l’exception des ingénieurs les plus spécialisés et les plus chevronnés. Par ailleurs, les coûts de formation du personnel, à un tel niveau, dépassent les moyens de la plupart des organisations. Avec les nouveaux outils du projet PHANTOM, les ingénieurs logiciels seront désormais en mesure de programmer des applications pleinement optimisées. Cela augmentera la productivité, réduira les coûts et les temps de développement des applications.

Mots‑clés

PHANTOM, logiciel, processeur multiple, ingénieur logiciel, codage, calcul parallèle, traitement parallèle

Découvrir d’autres articles du même domaine d’application