PSOPP

PSOPP

Porting Software on Parallel Processors

Le projet consiste à réaliser une méthodologie permettant d’adapter les logiciels des PME conçus pour une exécution sur processeur (CPU) mono-cœur vers une exécution sur processeurs graphiques (GPU) massivement multi-cœurs, sur CPU multi-cœurs ou sur plateforme accélératrice FPGA de manière à tirer le meilleur profit de puissance de traitement qu’offrent ces architectures.

Fiche projet:

Equipe du projet

Introduction - problématique

L’accroissement de la complexité des problèmes et du volume des données à traiter par les systèmes informatiques dans différents secteurs économiques pousse aujourd’hui les entreprises à augmenter considérablement leur puissance de calcul. Dans le même temps, les fabricants de processeurs (CPU) atteignent les limites de la physique (dissipation thermique, consommation énergétique,...) dans la course à l’augmentation de puissance. Depuis plusieurs années, la puissance de ces processeurs stagne. Pour contourner ces obstacles à la progression des performances, les fabricants s’orientent vers la production de processeurs multi-cœurs. Parallèlement à cette évolution, les processeurs spécialisés des cartes graphiques (GPU) ont vu leur capacité de traitement augmenter considérablement grâce à la multiplication de leurs cœurs, jusqu’à quelques milliers. Indépendamment de ces deux évolutions, les cartes accélératrices basées sur FPGA sont montées en puissance grâce aux progrès d’intégration et de rapidité des circuits.
Cependant la plupart des logiciels ne sont pas initialement conçus pour tirer parti d’une exécution parallèle. Alors que des avancées technologiques significatives ont eu lieu durant ces dernières années, l’accélération logicielle reste un processus complexe par manque de standards et de méthodes simples d’utilisation. Quelle approche suivre pour adapter un logiciel pour qu’il exploite la technologie GPU ? Comment transformer et porter une partie d’un logiciel sur une plateforme FPGA pour bénéficier de tout son potentiel ? Ces problématiques d’évolution technologique sont au cœur de la recherche collective proposée dans le projet PSOPP conduit par le CETIC, l’UMONS et CENAERO.

Objectifs du projet

L’objectif du projet est d’offrir aux PME wallonnes une expertise permettant de les conseiller et de les assister dans leurs choix d’architecture matérielle et leur réalisations logicielle afin d’optimiser l’efficacité de leurs applications en termes de performances.
Dans un premier temps, un état de l’art permet de recueillir les meilleurs résultats scientifiques et technologiques dans les domaines de la parallélisation : directives de programmation, bibliothèques parallèles, profileurs et analyseurs de codes, spécificités des outils de développement et langages de programmation parallèle…
Ensuite les directives (procédures, check-lists, guides…) d’optimisation rassemblées dans un document, constituent la méthodologie qui définit une approche standardisée menant à la solution, logicielle et matérielle, la mieux adaptée au contexte d’un logiciel industriel. Elle vise l’adaptation des logiciels, initialement conçus pour une exécution séquentielle, pour qu’ils puissent exploiter le potentiel de parallélisation des CPU multi-cœur, des GPU et des FPGA. Cette méthodologie, devant être générique autant que possible quelque soit le type d’application, est établie à partir de cas réels d’études sur des applications diverses (bioinformatique, télécommunication, simulation numérique…) fournis par des industriels intéressés par le projet. Ce document guide le concepteur en décrivant le processus d’optimisation sous la forme d’une procédure enchainant différentes étapes.
Enfin, la phase de valorisation du projet est dédiée à la promotion de cette méthodologie auprès des PME wallonnes.

Valeur ajoutée du projet pour les entreprises

En plus de l’amélioration des temps de traitements, l’optimisation d’applications grâce à la méthodologie, va permettre aux entreprises d’optimiser leur architecture, de réduire les coûts et d’abaisser la consommation électrique. De plus la méthodologie s’applique indépendamment de l’architecture d’origine. Elle est donc susceptible d’apporter une solution à un grand nombre de sociétés en Wallonie. Par exemple, dans les centres de calcul de taille conséquente, les intérêts vont vers une optimisation globale du parc en termes d’efficacité (ratio prix/performances) tout en préservant les investissements passés. Ces entreprises seront également attentives aux problèmes d’encombrement et de consommation électrique. Quant aux PME, elles utilisent plus souvent des moyens de calcul beaucoup plus limités, éventuellement un seul serveur. Elles sont donc plus spécifiquement intéressées à augmenter à peu de frais leur capacité et de diminuer leur temps de calcul par l’ajout d’une ou plusieurs cartes accélératrices.