L'apprentissage machine pour l'estimation du temps
Auteur / Autrice : | Abderaouf Nassim Amalou |
Direction : | Isabelle Puaut, Élisa Fromont |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 12/12/2023 |
Etablissement(s) : | Université de Rennes (2023-....) |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, télécommunications, informatique, signal, systèmes, électronique (Rennes ; 2022-....) |
Partenaire(s) de recherche : | Laboratoire : Institut national de recherche en informatique et en automatique (France). Unité de recherche (Rennes, Bretagne-Atlantique) - PACAP - LACODAM |
Jury : | Président / Présidente : Olivier Sentieys |
Examinateurs / Examinatrices : Smail Niar | |
Rapporteurs / Rapporteuses : Claire Pagetti, Jalil Boukhobza |
Mots clés
Résumé
L'estimation du temps d'exécution des programmes est une tâche clé mais difficile, rendue encore plus complexe par la croissance de la complexité et l'insuffisance de la documentation des architectures de processeurs modernes. Bien que les méthodes traditionnelles comme les simulateurs précis au cycle soient exactes, elles sont également longues et nécessitent une compréhension approfondie de l'architecture du processeur. Pour aborder ces limitations, une nouvelle approche basée sur les données et utilisant des techniques d'apprentissage automatique a été développée. Cependant, bien que les modèles d'apprentissage automatique existants offrent des estimations rapides, ils sont principalement adaptés à des architectures simples avec des temps d'instruction constants. Ce document vise à développer de nouvelles méthodes d'apprentissage automatique pour des processeurs complexes et non documentés en introduisant la prise en compte du contexte dans les modèles de timing basés sur l'apprentissage automatique. Une approche novatrice traitant les séquences d'instructions comme un langage naturel et emploie des algorithmes d'apprentissage automatique avancés tels que les réseaux Long Short-Term Memory et les Transformers. Ceci permet au modèle de prendre en compte des caractéristiques complexes telles que les effets de cache et de pipeline, améliorant la précision pour les temps d'exécution moyens et pires cas.