Master 2015 2016
Stages de la spécialité SAR
Intégration d’un ordonnanceur à priorité dynamique dans un noyau OSEK multi-coeurs pour systèmes temps réel critiques


Site : Laurent Pautet
Lieu : LTCI / Télécom ParisTech, 46 rue Barrault, 75013 Paris
Encadrant : Laurent Pautet
Dates :01/02/2016 au 31/07/2016
Rémunération :500E/mois
Mots-clés : Master SAR, autre qu’ATIAM

Description

Introduction L’industrie des systèmes temps réel critiques investit des efforts importants pour migrer leurs applications sur des plates-formes multi-coeurs, ces processeurs tendant à devenir incontournables. Dans le domaine du transport automobile, cette évolution pose différents problèmes de recherche. Tout d’abord, les algorithmes d’ordonnancement temps réel les plus efficaces pour plates-formes multi-coeurs sont rarement mis en oeuvre dans les noyaux temps réel actuels. En effet, ces algorithmes sont peu connus et leur implémentation encore peu maîtrisée. A l’inverse, les industriels préfèrent reprendre des ordonnanceurs pour mono-coeurs, peu efficaces pour les multi-coeurs. Par ailleurs, le non-déterminisme des plates-formes multi-coeurs reste peu abordé lors de la conception de plates-formes temps réel, quand il n’est pas complètement ignoré. Des approches comme celle de criticité mixte [6] permettent d’accepter qu’un système ait plusieurs niveaux de fonctionnement ceci en fonction du niveau de non-déterminisme accepté. On autorise ainsi un système à s’écarter de son mode nominal (avec différentes valeurs de pires temps d’exécution selon le pessimisme accepté) sans pour autant sur-dimensionner le système. Rares sont les noyaux implantant de telles solutions. Enfin, les standards industriels ne sont pas en général adaptés à cette évolution du matériel. L’existence d’un vrai parallélisme proposé par les calculateurs multi-coeurs soulève des problèmes qui ne se posaient pas autrefois. La mise en oeuvre d’ordonnanceurs basés sur des priorités dynamiques (les plus efficaces sur multi-coeurs) rajoute une autre difficulté. Enfin, les incertitudes sur les pires temps d’exécution ne peuvent être indiquées dans les spécifications actuelles de ces standards, notamment dans OSEK [4].

Travail à réaliser Le travail consistera en premier lieu à consolider les connaissances du stagiaire en matière d’ordonnancement temps réel pour plates-formes multi-coeurs. Notamment, on s’intéressera particulièrement à l’algorithme RUN [5] qui fait partie des algoritmes les plus efficaces (optimal) tout en induisant une surcharge très réduite (peu de préemptions). Par ailleurs, le stagiaire se formera aux approches dites de criticité mixtes qui fournissent différents modes d’exécution en fonction du pessimisme fait sur l’éxécution non-déterministe des systèmes sur multi-coeurs. Notamment, il s’intéressera à GMC-RUN [3], un algorithme d’ordonnancement pour systèmes à criticité mixte basé sur RUN. L’objectif général consiste à implanter l’algorithme GMC-RUN sur ERIKA [2], une plate-forme OSEK dont les sources sont ouvertes. Ce travail nécessitera plusieurs étapes. ERIKA est un noyau pour OSEK qui dispose d’un support commercial. Il s’agira tout d’abord de s’approprier le code d’ERIKA pour le modifier. En effet, ERIKA ne fournit qu’une implantation pour RMS. On implantera donc l’ordonnanceur RUN. On pourra pour cela s’inspirer d’une implantation existante fonctionnant sous LITMUS-RT. A la différence de ERIKA, LITMUS-RT [1] est un noyau spécialement conçu pour le prototypage de nouveaux ordonnanceurs et donc en aucun cas utilisable dans l’industrie. A l’aide de cette implantation de RUN, il s’agira d’implanter GMC-RUN qui lui aussi a été implanté sur LITMUS-RT. On en fera donc un portage pour ERIKA. On évaluera également les performances de cette implantation. Pour finir, si le temps le permet, on étudiera les adaptations à fournir au langage OSEK afin qu’il permette l’utilisation de priorités dynamiques et la définition de la notion de criticité au sens entendu ci-dessus.

Informations complémentaires Ce stage nécessite des connaissances en programmation système pour assurer une compréhension indispensable des structures et mécanismes d’un noyau. Par ailleurs, une formation minimale en matière de systèmes embarqués temps réel est fortement recommandée. Pour terminer, si le stage se déroule dans de bonnes conditions, il peut déboucher sur une thèse dans notre laboratoire en collaboration avec des industriels du domaine des systèmes critiques.

Bibliographie

[1] John M. Calandrino, Hennadiy Leontyev, Aaron Block, UmaMaheswari C. Devi, and James H. Anderson. Litmus-rt : A testbed for empirically comparing real-time multiprocessor schedulers. In Proceedings of the 27th IEEE International Real-Time Systems Symposium, RTSS ’06, pages 111–126,Washington, DC, USA, 2006. IEEE Computer Society. [2] EVIDENCE SRL. ERIKA Enterprise RTOS. http://www.evidence.eu. com. [3] Romain Gratia, Thomas Robert, and Laurent Pautet. Generalized mixedcriticality scheduling based on RUN. In Proceedings of the 23rd International Conference on Real Time and Networks Systems, RTNS 2015, Lille, France, November 4-6, 2015, pages 267–276, 2015. [4] OSEK/VDX Group. Operating System Specification 2.2.3, 2005. http: //www.osek-vdx.org/. 2 [5] Paul Regnier, George Lima, Ernesto Massa, Greg Levin, and Scott Brandt. Run : Optimal multiprocessor real-time scheduling via reduction to uniprocessor. In Proc. of the IEEE 32nd Real-Time Systems Symp., pages 104–115, 2011. [6] S. Vestal. Preemptive scheduling of multi-criticality systems with varying degrees of execution time assurance. In RTSS’2007, pages 239–243, Dec 2007.