Performance Assessment and Improvement for Cache Predictability in Multi-Core Based Avionic Systems

Jean-Baptiste Lefoul

Mémoire de maîtrise (2019)

Accéder à ce document
Disponible
Libre accès au texte intégral dans PolyPublie
Texte Texte • 1MB •

Résumé

Les systèmes avioniques sont parmi les systèmes les plus critiques. Une erreur d'exécution d'un de ces systèmes peut avoir des conséquences assez catastrophiques jusqu'à un accident mortel. Afin de contrôler au maximum l'exécution de ces systèmes et d'utiliser des technologies établies, ces derniers sont en grande majorité des systèmes munis d'un processeur à un seul coeur. Il y a donc un seul flot d'exécution, ce qui permet d'avoir plus de déterminisme que sur un système multicoeur avec plusieurs flots d'exécution en parallèle. Cependant, les fournisseurs de processeurs délaissent les systèmes single-core afin de se concentrer sur les systèmes multicoeurs qui sont plus demandés. Les concepteurs de systèmes avioniques doivent donc s'adapter à ce changement d'offre. La question qui se pose est donc la suivante: comment limiter au maximum la baisse du déterminisme qu'apportent les systèmes multicoeurs dans le cadre des systèmes avioniques? Dans le cadre de ce projet de recherche, nous nous sommes intéressés aux systèmes avioniques partitionnés et en particulier aux systèmes d'exploitation temps-réels qui gèrent les ressources et l'exécution des applications du système. La revue de littérature nous a montré plusieurs impacts que peuvent avoir les systèmes multicoeurs sur le déterminisme de l'exécution des applications. L'influence d'une application sur l'exécution d'une autre est communément appelée interférence. Après avoir passé en revue les causes connues de ces interférences, nous nous sommes concentrés sur les mémoires caches, qui exercent la plus grosse influence sur le déterminisme des systèmes en termes de temps d'exécution. Une des solutions existantes pour réduire les interférences dans les mémoires cache est de verrouiller des données dans le cache afin qu'elles ne soient pas évinçables, cette technologie est connue sous le nom de "cache locking". La question qui se pose est donc de comment choisir les données à verrouiller dans le cache. Nous proposons donc un framework capable de profiler les accès mémoire lors de l'exécution d'un système. Le framework est également muni d'un simulateur de cache, ce qui nous permet de prévoir le comportement de la mémoire cache suivant les configurations qu'on lui donne. Un algorithme peut donc tirer profit des informations qu'offre le framework. Nous avons validé notre approche en implémentant dans notre framework un algorithme de sélection d'adresses à verrouiller dans le cache. Nous obtenons, comme prévu, une réduction de fautes de cache dans les caches privés et une hausse de déterminisme en temps d'exécution. Cela met bien en évidence que notre solution contribue à la réduction d'interférences au niveau du cache (plus de 25%).

Programme:
Génie informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
Polytechnique Montréal
OAI:
oai:publications.polymtl.ca:3965
ORCID
Date du dépôt:
11 oct. 2019 10:23
Dernière modification:
14 oct. 2026 10:42
Citer en APA 7:
Lefoul, J.-B. (2019). Performance Assessment and Improvement for Cache Predictability in Multi-Core Based Avionic Systems [Mémoire de maîtrise, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/3965/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document
Afficher document