thesis

Analyse pire cas pour processeur multi-coeurs disposant de caches partagés

Defense date:

Jan. 1, 2010

Edit

Institution:

Rennes 1

Disciplines:

Authors:

Directors:

Abstract EN:

Hard real-time systems are subject to timing constraints and failure to respect them can cause economic, ecological or human disasters. The validation process which guarantees the safety of such software, by ensuring the respect of these constraints in all situations including the worst case, is based on the knowledge of the worst case execution time of each task. However, determining the worst case execution time is a difficult problem for modern architectures because of complex hardware mechanisms that could cause significant execution time variability. This document focuses on the analysis of the worst case timing behavior of cache hierarchies, to determine their contribution to the worst case execution time. Several approaches are proposed to predict and improve the worst case execution time of tasks running on multicore processors with a cache hierarchy in which some cache levels are shared between cores.

Abstract FR:

Les systèmes temps-réel strict sont soumis à des contraintes temporelles dont le non respect peut entraîner des conséquences économiques, écologiques, humaines catastrophiques. Le processus de validation, garantissant la sûreté de ces logiciels en assurant le respect de ces contraintes dans toutes les situations possibles y compris le pire cas, se base sur la connaissance à priori du pire temps d’exécution de chacune des tâches du logiciel. Cependant, l’obtention de ce pire temps d’exécution est un problème difficile pour les architectures actuelles, en raison des mécanismes matériels complexes pouvant amener une variabilité importante du temps d’exécution. Ce document se concentre sur l’analyse du comportement temporel pire cas des hiérarchies de mémoires cache, afin de déterminer leur contribution au pire temps d’exécution. Plusieurs approches sont proposées afin de prédire et d’améliorer le pire temps d’exécution des tâches s’exécutant sur des processeurs multi-coeurs disposant d’une hiérarchie de mémoires cache avec des niveaux partagés entre les différents coeurs de calculs.