Maîtrise de la couche hyperviseur sur les architectures multi-coeurs COTS dans un contexte avionique

Dans les avions de dernière génération, de plus en plus de systèmes critiques font intervenir de l’électronique numérique et des composants logiciels. Pour chaque composant matériel et logiciel embarqués dans de tels systèmes, il est nécessaire d’apporter des garanties sur son bon fonctionnement. On parle informellement de satisfaire une exigence de déterminisme. Cette notion   couvre des exigences portant sur le comportement du logiciel vis-à-vis de sa spécification, ainsi que le respect de contraintes temporelles.

La plupart des systèmes avioniques critiques sont dits “temps réel durs”. Cela signifie qu’ils doivent remplir leur fonction dans une durée finie. Quand ils embarquent des tâches logicielles, on associe à ces tâches des échéances, qui sont en général périodiques ou bien définies à partir d’évènements externes. Une analyse d’ordonançabilité peut être effectuée pour montrer que chaque tâche respecte son échéance. Cependant, cette analyse suppose que toutes les tâches complètent leur exécution en un temps fini si elles sont exécutées seules. Ce problème est habituellement abordé par des techniques d’évaluation de pire temps d’exécution (ou WCET).

Depuis le milieu des années 2000, la communauté avionique considère les processeurs multi-cœurs comme de bons candidats pour équiper les prochaines générations de systèmes embarqués. L’enjeu est à la fois d’obtenir des systèmes plus efficaces en termes de puissance de calcul, plus économes en consommation et en place occupée, mais également de trouver une solution pérenne à l’obsolescence des processeurs mono-cœurs.

Comme toute nouvelle technologie, l’usage de processeurs multi-cœurs dans les systèmes avioniques ne doit pas entraîner de régression au niveau de l’exigence de déterminisme. A ce titre, il est nécessaire de montrer qu’il est possible d’évaluer le WCET d’un ensemble d’applications exécutées sur un processeurs multi-cœurs. Nous étudions ce problème général dans cette thèse.

On décompose un système avionique en unités d’exécutions autonomes, appelées calculateurs, qui communiquent via des liens réseaux. Sur un calculateur on distingue trois types de composants : le support d’exécution qui est en général un processeur, les briques logicielles appelées aussi applications et les briques matérielles (excepté le processeur).

Nous abordons la thématique des systèmes avioniques sous l’angle de trois problématiques générales :

Déterminisme. Pour être certifiables, les systèmes avioniques doivent être déterministes. Cette exigence porte sur des aspects d’intégrité de l’exécution du logiciel avionique, mais également sur des aspects temporels

Efficacité. Pour être industriellement viables, les systèmes avioniques doivent être performants. L’efficacité d’un système se mesure sur des critères tels que sa puissance de calcul moyenne et en pire cas, ou encore sa consommation électrique. La problématique d’efficacité est habituellement abordée à travers l’usage de processeurs COTS , l’emploi de technologies semi-conducteurs récentes , mais également le développement de systèmes intégrés .

LIRE AUSSI :  Circulation et réception des fables dans les pays slaves entre 1750 et 1850

Intégration. De nombreuses applications avioniques sont déployées dans le cadre de systèmes intégrés. Cela signifie que les calculateurs affectés à ces systèmes hébergent plusieurs applications avioniques qui sont en général indépendantes et de niveaux de criticité différents. Cela permet notamment de limiter le nombre de calculateurs à embarquer dans un avion, ce qui contribue globalement à l’efficacité des systèmes avioniques. Les ressources matérielles d’un calculateur et le temps de calcul sont partagés entre les différents composants logiciels par un algorithme d’ordonnancement.

Un avion est un système critique dont la défaillance, définie par la perte de sa capacité à voler et atterrir, a en général des conséquences lourdes sur le plan humain. Afin d’éviter ce type de scenario, on demande à un avion et aux systèmes qui le composent de remplir des exigences de sûreté de fonctionnement. On dit informellement qu’ils doivent être déterministes. La notion de déterminisme à proprement parler n’a cependant été introduite que récemment [5] dans la règlementation portant sur les systèmes IMA, qui sont un sous-ensemble des systèmes avioniques.

Table des matières

I Introduction générale
1 Introduction
1.1 Contexte
1.2 Problématique
1.3 Résumé des contributions
1.4 Plan du mémoire
II Enjeux industriels et scientifiques
2 Contexte Avionique
2.1 Exigence de déterminisme
2.1.1 Principes de sûreté de fonctionnement
2.1.2 Définition de la notion de déterminisme
2.1.3 Contraintes temps réel et déterminisme temporel
2.1.4 Problématiques liées aux contraintes temps réel
2.2 Technologies embarquées dans les systèmes avioniques
2.2.1 Évolution des systèmes avioniques
2.2.2 Problématiques liées à l’usage de processeurs COTS
2.2.3 Problématiques liées aux technologies semi-conducteurs
2.3 Avionique Modulaire Intégrée (IMA)
2.3.1 Architecture d’un système IMA
2.3.2 Propriété de Partitionnement Robuste
2.3.3 Acteurs industriels d’un système IMA
2.3.4 Profil des applications déployées dans les systèmes IMA
2.4 Processeurs multi-cœurs pour l’avionique
2.4.1 Architectures multi-cœurs
2.4.2 Problématiques spécifiques aux processeurs multi-cœurs
2.5 Synthèse
3 Évaluation du WCET dans les processeurs multi-cœurs
3.1 Méthodes existantes dans un contexte mono-cœur
3.1.1 Vue d’ensemble
3.1.2 Spécificités des méthodes statiques
3.1.3 Spécificités des méthodes dynamiques
3.1.4 Utilisation dans un processus industriel
3.2 Applicabilité des méthodes mono-cœurs dans un cadre multi-cœurs
3.2.1 Prédictibilité des processeurs multi-cœurs
3.2.2 Gestion du manque d’information sur les processeurs COTS
3.2.3 Techniques d’analyse d’interférences
3.3 Alternatives pour l’évaluation du WCET sur des processeurs multi-cœurs
3.3.1 Approches par pénalité d’interférences globale
3.3.2 Approches par processeurs déterministes
3.3.3 Approches par logiciel déterministe
3.4 Synthèse
III Conclusion générale

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *