Thèse soutenue

Parallélisme des nids de boucles pour l’optimisation du temps d’exécution et de la taille du code

FR  |  
EN
Auteur / Autrice : Yaroub Elloumi
Direction : Mohamed Akil
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 16/12/2013
Etablissement(s) : Paris Est en cotutelle avec Université de Sfax (Tunisie)
Ecole(s) doctorale(s) : École doctorale Mathématiques, Sciences et Technologies de l'Information et de la Communication (Champs-sur-Marne, Seine-et-Marne ; 2010-2015)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique de l'Institut Gaspard Monge (1997-2009) - LIGM
Jury : Président / Présidente : Habib Mehrez
Examinateurs / Examinatrices : Mohamed Akil, Mohamed Hédi Bedoui, Thierry Grandpierre
Rapporteurs / Rapporteuses : Guy Gogniat, Bechir El Ayeb

Résumé

FR  |  
EN

Les algorithmes des systèmes temps réels incluent de plus en plus de nids de boucles, qui sont caractérisés par un temps d’exécution important. De ce fait, plusieurs démarches de parallélisme des boucles imbriquées ont été proposées dans l’objectif de réduire leurs temps d’exécution. Ces démarches peuvent être classifiées selon deux niveaux de granularité : le parallélisme au niveau des itérations et le parallélisme au niveau des instructions. Dans le cas du deuxième niveau de granularité, les techniques visent à atteindre un parallélisme total des instructions appartenant à une même itération. Cependant, le parallélisme est contraint par les dépendances des données inter-itérations ce qui implique le décalage des instructions à travers les boucles imbriquées, provocant ainsi une augmentation du code proportionnelle au niveau du parallélisme. Par conséquent, le parallélisme total au niveau des instructions des nids de boucles engendre des implémentations avec des temps d’exécution non-optimaux et des tailles du code importantes. Les travaux de cette thèse s’intéressent à l’amélioration des stratégies de parallélisme des nids de boucles. Une première contribution consiste à proposer une nouvelle technique de parallélisme au niveau des instructions baptisée « retiming multidimensionnel décalé ». Elle vise à ordonnancer les nids de boucles avec une période de cycle minimale, sans atteindre un parallélisme total. Une deuxième contribution consiste à mettre en pratique notre technique dans le contexte de l’implémentation temps réel embarquée des nids de boucles. L’objectif est de respecter la contrainte du temps d’exécution tout en utilisant un code de taille minimale. Dans ce contexte, nous avons proposé une première démarche d’optimisation qui consiste à utiliser notre technique pour déterminer le niveau parallélisme minimal. Par la suite, nous avons décrit une deuxième démarche permettant de combiner les parallélismes au niveau des instructions et au niveau des itérations, en utilisant notre technique et le « loop striping »