Co-Modeling RTOS and Reconfigurable SoC in - Etis

Download Report

Transcript Co-Modeling RTOS and Reconfigurable SoC in - Etis

N◦ d’ordre : 2014-XX-XXX
Habilitation `
a diriger la recherche
pr´esent´ee `a
´ de Cergy-Pontoise
l’Universite
Par
Benoˆıt Miramond
Sp´ecialit´e : Sciences et Technologies de l’information et de la Communication
Laboratoires d’accueil :
´
Equipes de Traitement de l’Information et des Syst`emes (ETIS) - UMR CNRS 8051
Contributions `
a la conception de syst`
emes
sur puce reconfigurables. Des syst`
emes
embarqu´
es multiprocesseurs aux
architectures bio-inspir´
ees.
Version courte
Pr´esent´ee le 24 septembre 2014
devant le jury compos´e de :
Pr´esident :
Rapporteurs :
Examinateurs :
M.
M.
Michel
Paindavoine
M.
Fr´ed´eric
´trot
Pe
M.
Bernard
Girau
M.
Jean-Pierre
Derutin
M.
Andres
Perez-Uribe
M.
Dragomir
Milojevic
M.
Olivier
Romain
M.
Bertrand
Granado
M.
Fabrice
Lemonnier
Laboratoire LEAD
Universit´e de Bourgogne
Laboratoire Tima
Institut Polytechnique de Grenoble
Laboratoire LORIA
Universit´e de Lorraine
Laboratoire LASMEA
Universit´e de Clermont-Ferrand
HES-SO - Suisse
D´epartement BEAMS
Universit´e Libre de Bruxelles
Laboratoire ETIS
Universit´e de Cergy-Pontoise
Laboratoire LiP6
Universit´e Pierre et Maris Curie
THALES TRT-LSE
ii
R´
esum´
e de la th`
ese d’habilitation
Le paradigme de calcul de la machine de Turing a modifi´e en profondeur les capacit´es d’innovation de
nos soci´et´es, les habitudes et le raisonnement humain. Le prochain d´efi de l’informatique est maintenant
d’aider l’humain dans le d´eveloppement durable de ses activit´es, de l’assister dans ses handicaps et de
mieux le prot´eger. La machine originale de Von Neumann a d´epass´e le stade du simple calculateur pour
ˆetre associ´e `
a une fonction toujours plus complexe. De ce fait le vieux terme ordinateur tend `a disparaˆıtre
pour ˆetre remplac´e par la d´esignation de l’objet qui l’entoure et du service qu’il apporte : smartphone,
GPS, robot, box (ADSL), tablette, pacemaker, drone, ... Mais tous restent constitu´es d’une architecture
de calcul int´egr´ee, de plus en plus souvent autonome.
Pour parvenir `
a ces fonctions toujours plus intelligentes, la tendance dans les syst`emes embarqu´es comme
dans les autres syst`emes informatiques, est d’augmenter le nombre de coeurs de calcul : de quelques coeurs
en 2014 vers plus de cinq cents d´ej`
a annonc´es pour 2015. Cependant, l’histoire combin´ee de la micro´electronique et de l’informatique nous a appris qu’il existe une grande diff´erence entre ce que la technologie
nous permet de r´ealiser et ce que nous pouvons en faire. La science de l’architecture des syst`emes de calcul
cherche justement le bon compromis entre les capacit´es de traitement et la programmabilit´e, entre ce qui
doit ˆetre pr´evu `
a la conception et ce qui doit ˆetre d´ecid´e `a l’ex´ecution, entre la bonne partition entre le
logiciel et le mat´eriel... Une forme nouvelle de s´election naturelle, appliqu´ee aux syst`emes artificiels, fait
ensuite le tri des solutions inadapt´ees `
a une large utilisation.
Le domaine qui nous int´eresse dans ce document est celui de l’´electronique embarqu´ee temps r´eel. Dans
ce secteur particulier, la recherche acad´emique explore les solutions qui pourront `a la fois apporter une
avanc´ee scientifique et qui resteront proches des consid´erations industrielles : le syst`eme est-il utilisable ?
Les architectures parall`eles sur puce ou MPSoC (Multi-Processor System-on-Chip) font donc partie des
grands enjeux de ce d´ebut de XXIe si`ecle pour l’industrie de l’embarqu´e.
Ce document se positionne dans cette perspective et a pour objectif de pr´esenter les probl´ematiques que
j’ai d´evelopp´ees `
a titre individuel durant mes ann´ees de recherche `a l’universit´e de Cergy-Pontoise. Je
m’appuierai sur ces travaux pour questionner, sous la forme d’une progression entre les chapitres, les d´efis
qui me semblent majeurs dans ma discipline :
– Quel sera donc l’avenir du calculateur multicoeur actuel ?
– Dans les secteurs les plus critiques de l’´electronique embarqu´ee, ce parall´elisme reste-t-il compatible
avec les contraintes temps r´eel ?
– Peut-on encore conserver une id´ee de d´eterminisme et de pr´edictibilit´e sur un syst`eme de plus d’un
milliard de transistors ?
– A ce stade de complexit´e, quels compromis s’offrent `a l’architecte et au concepteur entre ce qu’il
peut encore d´eterminer hors-ligne et ce qui doit ˆetre g´er´e `a l’ex´ecution par le syst`eme lui-mˆeme ?
– A partir de quel seuil, le nombre croissant d’unit´es de calcul parall`eles appelle-t-il un changement
profond dans le paradigme mˆeme du calcul ?
– Peut-on s’inspirer des capacit´es d’auto-organisation des syst`emes de calcul naturel pour faire face
a cette augmentation de complexit´e structurelle ?
`
Nous discuterons de cette progression dans les 5 chapitres scientifiques qui composent ce document.
Mots-cl´
es : Syst`emes embarqu´es, syst`emes sur puce, architectures multi-coeurs, temps r´eel, circuits reconfigurables, syst`eme d’exploitation temps r´eel, traitement d’images, architectures bio-inspir´ees,
processeurs neuromorphiques, calcul incarn´e
iii
iv
Table des mati`
eres
1 Bilan d’activit´
e
1.1 Activit´es d’enseignement . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Parcours Traitement temps r´eel du cursus g´en´eral . . . .
1.1.2 Licence professionnelle informatique embarqu´ee . . . . .
´
1.1.3 Master recherche Electronique
des Syst`emes Autonomes
1.1.4 Synth`ese horaire . . . . . . . . . . . . . . . . . . . . . .
1.1.5 Encadrements de stages et de projets . . . . . . . . . . .
1.2 Activit´es d’animation de la recherche . . . . . . . . . . . . . . .
1.2.1 Th´ematiques de recherche . . . . . . . . . . . . . . . . .
1.2.2 Projets de recherche . . . . . . . . . . . . . . . . . . . .
1.2.3 Collaborations . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4 Encadrements de th`ese . . . . . . . . . . . . . . . . . . .
1.2.5 Encadrement des travaux de recherche . . . . . . . . . .
1.2.6 Autres activit´es . . . . . . . . . . . . . . . . . . . . . . .
1.3 Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Introduction et probl´
ematique
2.1 Syst`emes embarqu´es, le difficile compromis entre la conception et l’autonomie
2.2 Mod`eles de programmation des architectures parall`eles . . . . . . . . . . .
2.3 Plan et organisation du m´emoire . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Plan du m´emoire . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Organisation du m´emoire . . . . . . . . . . . . . . . . . . . . . . . .
1
3
4
8
9
11
13
14
14
15
17
18
20
21
24
31
32
33
35
35
36
3 Ordonnancement statique dans les syst`
emes temps r´
eel
41
3.1 Introduction `a l’ordonnancement dense . . . . . . . . . . . . . . . . . . . . 42
3.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4 Mod´
elisation d’ex´
ecutif temps r´
eel pour les architectures multiprocesseurs sur puce
4.1 Mod´eliser l’essentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 L’ex´ecutif comme support du mod`ele de programmation . . . . . .
4.1.2 Ojectifs de notre approche . . . . . . . . . . . . . . . . . . . . . . .
4.1.3 Approche de mod´elisation . . . . . . . . . . . . . . . . . . . . . . .
4.2 Synth`ese et conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Programmation flot de donn´
ees d’architectures multiprocesseurs reconfigurables
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Mod`ele de programmation et flot de conception . . . . . . . . . . . . . . .
5.2.1 Concilier l’approche bottom-up et l’approche top-down . . . . . . .
5.2.2 Des acteurs flots de donn´ees de haut niveau a` la reconfiguration
dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
v
47
48
48
50
50
52
57
57
58
58
60
`
TABLE DES MATIERES
5.3
Conclusion et discussion vers de nouveaux paradigmes de calcul . . . . . . 61
6 Conception d’un syst`
eme de vision artificielle sur puce
67
6.1 Architecture mat´erielle de la smart camera . . . . . . . . . . . . . . . . . . 69
6.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7 Auto-organisation dans les architectures de traitement massivement parall`
eles
75
7.1 Organisation du calculateur . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.2 Synth`ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8 Conclusion et perspectives
83
8.1 Synth`ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
vi
Table des figures
1.1
1.2
1.3
1.4
1.5
Le parcours de traitement temps r´eel dans le LMD . . . . . . . . . . .
La machine multi-couches d´ecrite par Tanenbaum. . . . . . . . . . . .
Synth`ese quantitative des services d’enseignement effectu´es depuis 2005.
R´epartition horaire de mon service par niveau en 2013 . . . . . . . . .
R´epartition horaire des enseignements cr´e´es par niveau en 2013. . . . .
2.1
2.2
Architectures de communication . . . . . . . . . . . . . . . . . . . . . . . . 33
Caract´eristiques g´en´erales des architectures MPSoC vis´ees . . . . . . . . . 34
3.1
La technique d’ordonnancement dense
4.1
4.2
Caract´eristiques des architectures MPSoC vis´ees . . . . . . . . . . . . . . . 49
S´eparation des pr´eoccupations de mod´elisation . . . . . . . . . . . . . . . . 51
5.1
5.2
5.3
Flot de conception d’acteurs flots de donn´ees sur architecture reconfigurable 59
Correspondance entre acteurs et machines a` ´etats . . . . . . . . . . . . . . 59
Couches d’abstraction de la plateforme reconfigurable . . . . . . . . . . . . 60
6.1
Vue globale de l’architecture de la smart-camera . . . . . . . . . . . . . . . 69
7.1
La vue en couches de l’architecture bio-inspir´ee . . . . . . . . . . . . . . . 77
vii
.
.
.
.
.
. 4
. 5
. 11
. 12
. 12
. . . . . . . . . . . . . . . . . . . . 43
viii
Liste des tableaux
1.1
1.2
1.3
1.4
1.5
Synth`ese des enseignements cr´e´es en cursus initial. . . . . . . . . .
Synth`ese quantitative des enseignements cr´e´es en master recherche
Synth`ese quantitative des encadrements de stages et projets. . . .
Synth`ese quantitative et chronologique des encadrements de th`ese
Encadrements de travaux de recherche, hors th`eses. . . . . . . . .
2.1
Synth`ese chronologique des travaux r´ealis´es de la th`ese jusqu’`a nos jours . 36
3.1
3.2
R´esum´e des principales contributions du chapitre 3. . . . . . . . . . . . . . 42
R´esum´e de la m´ethode pr´esent´ee dans le chapitre 3 . . . . . . . . . . . . . 44
4.1
4.2
R´esum´e des principales contributions du chapitre 4. . . . . . . . . . . . . . 48
R´esum´e de la m´ethode pr´esent´ee dans le chapitre 4 . . . . . . . . . . . . . 53
5.1
5.2
R´esum´e des principales contributions du chapitre 5. . . . . . . . . . . . . . 58
R´esum´e de la m´ethode pr´esent´ee dans le chapitre 5 . . . . . . . . . . . . . 62
6.1
6.2
R´esum´e des principales contributions du chapitre 6. . . . . . . . . . . . . . 68
R´esum´e de la m´ethode pr´esent´ee dans le chapitre 6 . . . . . . . . . . . . . 71
7.1
7.2
R´esum´e des principales contributions du chapitre 7. . . . . . . . . . . . . . 76
R´esum´e de la m´ethode pr´esent´ee dans le chapitre 7 . . . . . . . . . . . . . 79
ix
. . . .
ESA.
. . . .
. . . .
. . . .
. 7
. 9
. 14
. 19
. 21
x
Glossaire
API
ASIC
FPGA
FPS
FSM
HAL
HW
IP
ISS
MDE
MPSoC
MW
NoC
OS
PE
RDP
RPC
RPE
RTL
RTOS
SoC
SW
SPMD
TL
TLM
VLSI
WCET
Application Protocol Interface
Application Specific Integrated Circuit
Field Programmable Gate Array
Frame Per Second
Finite State Machine
Hardware Abstraction Layer
Hardware (mat´eriel)
Intellectual Property
Instruction Set Simulator
model-driven Engineering
Multi Pocessor SoC
Middleware
Network-on-Chip
Operating System
Processing Element
Reconfiguration Dynamique Partielle
Remote Procedure Call
Reconfigurable Processing Element
Register Transfer Level
Real Time Operating system
System On Chip
Software (logiciel)
Single Program Multiple Data
Transaction Level
Transaction Level Model(ing)
Very Large Scale Integration
Worst Case Execution Time
xi
xii
Chapitre 1
Bilan d’activit´
e
Notice individuelle
Benoˆıt Miramond
adresse professionnelle :
ETIS - UMR 8051
Equipe de Traitement des Images et du Signal
6, avenue du Ponceau, BP 44
F 95014 CERGY-PONTOISE CEDEX
t´el. : 01.34.25.65.69
email : [email protected]
Nationalit´e fran¸caise
N´e le 20/07/1975
adresse personnelle :
3 Cour des Jonquilles
95810 ARRONVILLE
t´el. : 06 66 85 19 02
´rences
Situation actuelle : Maˆıtre de Confe
Je suis actuellement Maˆıtre de Conf´erence en section 61 a` l’universit´e de CergyPontoise. Mon travail de recherche s’effectue a` l’interface entre l’´equipe Architecture et
l’´equipe Neuro-cybern´etique de l’UMR 8051 ETIS. J’effectue mes enseignements au D´epartement de Sciences Informatiques de l’universit´e de Cergy-Pontoise.
Situations professionnelles
2013
D´el´egation CNRS au sein du laboratoire ETIS
2011
Obtention de la Prime d’Excellence Scientifique
2005
Maˆıtre de Conf´erence a` l’Universit´e Cergy-Pontoise
2004-2005
Post-doctorat a` l’INRIA Rocquencourt au sein de l’´equipe
2003-2004
AOSTE sous la direction de Yves Sorel
Attach´e Temporaire d’Enseignement et de Recherche
´
a` l’Universit´e d’Evry-Val
d’Essonne.
2000-2003
´
Moniteur a` l’Universit´e d’Evry-Val
d’Essonne.
1
Formation Universitaire
´
2000-2003 Doctorat en Informatique a` l’Universit´e d’Evry-Val
d’Essonne,
inscrit le 16 octobre 2000 ;
th`ese soutenue le 12 d´ecembre 2003.
mention Tr`es Honorable.
Titre de la th`ese :
M´
ethode d’optimisation pour le partitionnement logiciel/mat´
eriel
de syst`
emes `
a description multi-mod`
eles.
Directeur de th`ese :
´
M. Jean-Marc Delosme, professeur a` l’Universit´e d’E.V.E.
Pr´esident du Jury :
Mlle. Anne Mignotte, professeur a` l’INSA-Lyon
Rapporteurs :
M. Michel Auguin, directeur de recherche `a Sophia-Antipolis
M. Patrice Quinton, professeur a` l’IRISA de Rennes
mars 2003 Ecole de printemps
“Architectures des syst`emes mat´eriels
enfouis et m´ethodes de conception associ´ees” a` Roscoff (Finist`ere).
1999-2000
D.E.A. Architecture des Syst`
emes Int´
egr´
es et Micro-Electronique
a` l’Universit´e Pierre et Marie Curie (Paris VI), laboratoire ASIM
option Conception Assist´ee par Ordinateur.
Class´e 2e aux examens, et 6e apr`es les stages.
Stage intitul´e Traitement des architectures `a base de bus et
des m´emoires lors de l’allocation de structure de test,
effectu´e sous la direction de Mme Meryem Marzouki,
professeur a` l’Universit´e PARIS VI.
1997-1998
Maˆıtrise d’informatique a` l’universit´e PARIS VI.
option Architecture des ordinateurs.
Stage r´ealis´e sur le d´eveloppement d’un outil de visualisation sch´ematique
de circuits (niveau portes), appel´e Xsch.
Encadrement du stage : Fr´ed´eric P´etrot, Ludovic Jacomme, Antony Lester.
Cet outil fut int´egr´e dans la chaˆıne de CAO Alliance.
1996-1997
Licence d’informatique a` l’universit´e PARIS VI.
1994-1997
Deug Science Pour l’Ing´
enieur a` l’universit´e PARIS VI.
1993-1994
Baccalaur´
eat, s´erie C.
2
1.1
Activit´
es d’enseignement
L’activit´e d’enseignement a` l’universit´e est le volet compl´ementaire et indissociable
de la recherche lorsque les th´ematiques enseign´ees sont coh´erentes avec les sujets de recherche du professeur. Cette part du m´etier d’enseignant-chercheur contribue non seulement `a ´eveiller les esprits des nouvelles g´en´erations, mais ´egalement a` former les futurs
chercheurs `a une actualit´e scientifique et technologique toujours changeante.
C’est en suivant cette approche que j’ai construit depuis 2005 le parcours d’informatique embarqu´
ee a` l’universit´e de Cergy-Pontoise. L’universit´e passait alors au format
LMD et le programme p´edagogique ´etait alors repens´e en y incluant un parcours d’architecture des ordinateurs et d’informatique embarqu´ee encore inexistant. Mon recrutement
´etait justifi´e par le montage de ce parcours.
Celui-ci se construit de mani`ere progressive depuis la deuxi`eme ann´ee de licence informatique (L2-I) jusqu’au master professionnel des Syst`emes Informatiques Intelligents et
Communicant (SIIC). Il repr´esente chaque ann´ee un volume horaire d’enseignement (cours
et TD confondus) d’environ 380 heures ´equivalent TD (HETD). J’exposerai le programme
de ce parcours dans la section suivante.
L’´evolution du contexte universitaire et des relations avec les entreprises de la r´egion
dans le cadre du comit´e de site Intelligence Embarqu´e m’a conduit en 2010 `a cr´eer une
nouvelle formation dont je suis aujourd’hui responsable. Cette formation, la licence professionnelle Informatique Embarqu´
ee, a pour ambition de former des techniciens
sup´erieurs dans les nombreux m´etiers li´es aux syst`emes embarqu´es. Cette formation professionnelle a ´et´e construite selon un rythme en alternance o`
u l’´etudiant suit la moiti´e du
temps les cours th´eoriques et pratiques `a l’universit´e et l’autre moiti´e du temps effectue
son apprentissage dans une entreprise r´egionale. J’ai ´etabli un programme p´edagogique
construit sur 550 HETD. J’exposerai en d´etail ce projet de licence professionnelle en section 1.1.2. L’ouverture de cette licence a d’abord ´et´e pr´ec´ed´ee par la cr´eation d’un DU
en Syst`
emes embarqu´
es en 2010 dont j’´etais le responsable.
Mon int´egration dans le laboratoire a aussi ´et´e l’occasion de participer `a la construc´
tion p´edagogique et scientifique du nouveau master recherche en Electronique
des
Syst`
emes Autonomes (ESA). J’y suis actuellement responsable d’un module fondamental et de deux modules optionnels. Le contenu de ces modules est ´egalement d´etaill´e
dans la section suivante. En moyenne et selon les choix d’option des ´etudiants, j’effectue
une trentaine d’heures d’enseignement (principalement des cours) sur mon service global
en master recherche.
3
1.1.1
Parcours Traitement temps r´
eel du cursus g´
en´
eral
Ma premi`ere contribution au sein du d´epartement de sciences informatiques de l’universit´e de Cergy-Pontoise correspond a` la construction d’un parcours de traitement temps
r´eel. Cet enseignement de l’architecture mat´erielle de syst`emes de mono `a multi-processeurs
est pr´esent a` quatre niveaux au sein du cursus :
– Architecture des ordinateurs au niveau L2,
– Syst`emes a` micro-processeurs au niveau L3,
– Informatique embarqu´ee en M1,
– puis Architecture avanc´ee de syst`emes a` micro-processeurs en module optionnel de
M1,
– et Architecture pour syst`emes multim´edia, renomm´e par la suite en System-on-Chip
(2007) au niveau M2.
L2
L3
Archi
Assembleur
M1
S1
S2
S1
IE
M1
S2
RISC / DSP
M2−P
S2
SoC
Figure 1.1: Le parcours de traitement temps r´eel dans le LMD. Le positionnement des modules
en semestres 1 ou 2 y est indiqu´e.
Ma premi`ere tˆache a donc ´et´e d’organiser l’ensemble de ces enseignements en un parcours th´ematique ´evolutif menant l’´etudiant du principe du calcul num´erique jusqu’`a la
probl´ematique de la conception de syst`emes mat´eriels embarqu´es sur puce.
Cette organisation des connaissances est d´ecompos´ee a` travers ces cinq modules et tente
de faire le lien avec les autres modules du cursus et plus particuli`erement avec les enseignements de Java, syst`eme d’exploitation, syst`emes temps r´eel, traitement d’image et
intelligence artificielle.
L’objectif de ce parcours est d’amener `a une r´eflexion hi´erarchique sur l’organisation
d’un ordinateur (embarqu´e ou non) et donc d’un syst`eme multi-composants. Il ambitionne
a` la fois de faire comprendre le fonctionnement d’une machine de traitement et d’amener
l’´etudiant `a une r´eflexion plus abstraite sur le rapport entre intelligence et substrat de
calcul. Cette seconde d´emarche permet d’entretenir le lien entre l’enseignement et la recherche et d´ebouche certaines ann´ees sur des stages d’initiation a` la recherche effectu´es au
laboratoire. Dans le cadre de la premi`ere d´emarche, qui nous int´eresse dans cette section,
les quatre probl´ematiques pos´ees `a ces quatres niveaux sont les suivantes :
– compr´ehension du principe d’ex´ecution d’un programme : simulation d’un processeur
4-bits (2005), ´evolu´e vers 8-bits en 2012,
– piloter les processeurs par des langages : programmation en assembleur et m´ecanismes de g´en´eration d’ex´ecutables,
4
– choix d’architecture au niveau processeur, au niveau syst`eme pour applications de
traitement de signal, fonctionnement et programmation des architectures multiprocesseurs (MPSoC),
– conception de syst`emes sur puce : langage de description mat´erielle (VHDL), simulation ´ev`enementielle, sp´ecification conjointe logicielle/mat´erielle par approches
orient´ee objet (SystemC), raffinement vers une plateforme SoPC sur FPGA Altera.
Pour cela, les cours s’appuient tout d’abord sur la notion de machine multi-couches telle
qu’elle est pr´esent´ee par Tanenbaum dans [Tan01]. L’ordinateur actuel est compos´e de
plusieurs machines, ayant chacune son langage et jouant chacune le rˆole de machine virtuelle pour le niveau imm´ediatement sup´erieur. L’objectif du cours de premier niveau
(L2) est de comprendre le sch´ema d’ex´ecution d’un programme a` travers ces diff´erentes
couches. En effet, si la plupart des programmeurs ne sont int´eress´es que par le niveau de
la machine la plus haute (celui qui ressemble le moins au langage machine), les gens qui
s’int´eressent au fonctionnement d’un ordinateur, qui plus est ceux qui veulent concevoir
de nouvelles machines a` quelque niveau que ce soit (processeur, OS, machine virtuelle...),
doivent connaˆıtre l’ensemble des couches constituant les ordinateurs actuels. On s’interessera donc a` comprendre le fait que le programme qui s’ex´ecute a` un instant donn´e dans
la machine est pr´esent simultan´ement a` chaque niveau sous un format (langage) diff´erent.
Ainsi, comme le pr´esente la figure 1.2, au niveau 0 on trouve le mat´eriel o`
u les circuits
´electroniques ex´ecutent les programmes en langage machine de niveau 1. C’est la couche
physique sujet principal du cours de L2 qui s’int´eresse aux m´ecanismes du Calcul Artificiel (repr´esentation et manipulation des nombres, organisation et hi´erarchie des ´el´ements
´electroniques de base aussi bien logiques que s´equentiels).
Le niveau suivant est le niveau 1 ou niveau micro-architecture. Au fur et a` mesure du
Level 5
Problem-oriented language level
Translation (compiler)
Level 4
Assembly language level
Translation (assembler)
Level 3
Operating system machine level
Partial interpretation (operating system)
Level 2
Instruction set architecture level
Interpretation (microprogram) or direct execution
Level 1
Microarchitecture level
Hardware
Level 0
Digital logic level
Figure 1.2: La machine multi-couches d´ecrite par Tanenbaum.
cours, de l’encapsulation de chaque expertise dans des composants visibles comme des
boˆıtes noires et donc de l’abstraction de la complexit´e sous-jacente, on s’attachera a` y
associer le langage correspondant et donc le format sous lequel le programme a` ex´ecuter
est repr´esent´e. Les m´ecanismes de conception utilis´es en mat´eriel sont ici mis en cor5
respondance avec ceux de la programmation orient´ee objet : encapsulation, hi´erarchie,
abstraction, interface et approche composants.
L’ensemble des types de donn´ees, des op´erations et des caract´eristiques de chaque niveau
s’appelle l’architecture de ce niveau. C’est cette notion d’architecture globale que nous
´etudierons du niveau L2 jusqu’au niveau M2 du cursus et en suivant naturellement la
direction de l’informatique embarqu´ee.
Si le cours de niveau L2 s’attarde sur les 2 premiers niveaux (L0 et L1) de l’ordinateur,
il passe rapidement a` travers les niveaux 2 `a 5 pour pr´esenter les ´etapes de traduction et
d’interpr´etation d’un niveau a` l’autre.
Le cours de niveau L3 s’int´eresse justement a` l’aspect utilisation pratique des processeurs
et se focalise donc sur la programmation assembleur du mat´eriel, c’est-`a-dire sur la notion
de jeu d’instructions (niveau 2) et sur celle d’assembleur au niveau 4. La couche 3 est
survol´ee et mise en r´ef´erence lors du cours de syst`eme d’exploitation (OS) de L3 (I501)
ainsi qu’`a celui de Informatique embarqu´ee de M1 o`
u est ´etudi´e une classe particuli`ere
d’OS les OS temps r´eel.
Une machine particuli`ere trait´ee en cours ´etant la machine picoJava II (impl´ementation
mat´erielle de la machine virtuelle Java), les exemples de programmation tentent de faire
comprendre l’ex´ecution des programmes Java, principal support pour les modules d’informatique du cursus (I100, I301, I401) a` travers l’assembleur particulier qu’est le bytecode
Java.
A la fin de la licence, l’objectif est triple : avoir compris le m´ecanisme d’ex´ecution d’un
programme, avoir une repr´esentation structur´ee de l’ordinateur (et principalement du processeur) et savoir le manipuler.
Sur ces bases, le profil ”architecture” continue en M1 `a la fois sur un aspect th´eorique :
les impacts des d´ecisions d’architecture au sein du processeur et au niveau syst`eme ; et
sur un aspect pratique : l’implantation d’algorithmes sur processeurs sp´ecialis´es et coprocesseurs mat´eriels d´edi´es. Ce cours essaie de faire le lien avec le module de Traitement du
signal (UEF 4) et/ou de Syst`emes de traitement d’images (UEC 2).
Il est pr´ec´ed´e d’un module d’Informatique Embarqu´ee, dont le sujet principal est la couche
OS (plus pr´ecis´emment RTOS) de la figure 1.2. Les ´etudiants y apprennent a` d´evelopper une application temps r´eel en environnement embarqu´e sous le syst`eme d’exploitation
temps-r´eel uC/OS-II sur soft-processeur Nios-II. La notion mˆeme de temps r´eel est d´efinie
et les algorithmes d’ordonnancement principaux sont ´etudi´es.
Le niveau M2 pousse la r´eflexion en amenant l’´etudiant devant un probl`eme de conception : comment implanter une application dans un syst`eme soumis aux contraintes li´ees a`
l’autonomie (performances, consommation, d´eterminisme...).
Plusieurs aspects de cette probl´ematique sont trait´es :
– M´ethodologie de conception, du g´enie logiciel au g´enie mat´eriel.
– Les langages de description et de simulation du mat´eriel (VHDL, SystemC).
– Les composants mat´eriels (ASIC, FPGA) et logiciels (processeurs RISC, DSP) d’un
syst`eme sur puce,
– Le probl`eme des communications dans les syst`emes multi-coeurs,
– Les choix d’implantation : le probl`eme du Co-design Hw/Sw,
– Et retour sur les m´ethodologies de conception, les probl`emes actuels.
Le cours est mis en pratique par la conception d’un syst`eme sur puce multiprocesseurs
sur cible FPGA-Altera.
Le parcours complet s’appuie sur les ouvrages de Tanenbaum [Tan01], Hennessy et
Patterson [Hen04] [Hen00], Sriram et Bhattacharyya [SB00], Edwards [Edw00], Labrosse
6
´
Etablissement
MCF - UCP
D´
epartement
de
Sciences Informatiques (UCP)
Niveau
Mati`
ere
L2 - I
Architecture
des
Ordinateurs
L3 - I
Architecture
des
syst`
emes
`
a microprocesseur
M1 - SIGE
Architecture
Avanc´
ee
Informatique
Embarqu´
e
M2 - S2IC
Architecture
des
syst`
emes
multim´
edia
Volume
horaire (hetd)
2x32 TD/TP
36 Cours
100 Total
24 TP
36 Cours
84 Total
2x24 TP
36 Cours
84 Total
24 TD/TP
18 Cours
60 Total
32 TP
18 Cours
50 Total
216 TP
162 Cours
378 Total
Parcours Traitement temps
r´
eel
Effectif
´
etudiant
Contribution
[35,40]
Responsable de
module
[30,35]
Responsable de
module
[12,24]
Responsable de
module
[30,40]
Responsable de
module
[8,15]
Responsable de
module
[8,15]
Responsable de
parcours
Table 1.1: Synth`ese quantitative des enseignements cr´e´es en cursus initial au d´epartement de
sciences informatiques.
[Lab92], Liu [Liu00], Li [Li03]. Les travaux pratiques utilisent les outils et technologies
suivants :
– outil LogiSim d’´edition sch´ematique de circuits et de simulation ´ev´enementielle. Cet
outil est co-d´evelopp´e avec le Hendrix College au ´etats-unis et les ´ecoles HEIGVD `a
Lausanne et HESSO a` Gen`eve en Suisse,
– outil Quartus d’Altera pour les TPs de VHDL,
– outil SoPC Builder / QSys pour les TPs de SoC,
– OS uC/OS-II de Micrium,
– cartes DE2 de Terasic,
– outil VisualDSP++ d’Analog devices,
– cartes Sharc-21061 d’Analog Devices.
Le tableau 1.1 r´esume les heures d’enseignement qui composent ce parcours tout au
long du cursus LMD au d´epartement de sciences informatiques. Les volumes horaires sont
indiqu´es en ´equivalent TD hors pr´eparation.
Soit au total 378 heures ´equivalent TD, r´eparties entre : 162 heures de cours et 216
heures de travaux dirig´es ou de travaux pratiques.
Ce volume complet est assur´e chaque ann´ee par un poste d’ATER complet (192 hetd),
une mission d’enseignement de contrat doctoral (64 hetd) et une partie de mon propre
service. Celui-ci sera d´etaill´e en section 1.1.4 apr`es avoir pr´esent´e la licence professionnelle
et le master recherche dans lesquels s’effectue le reste de mon service.
7
1.1.2
Licence professionnelle informatique embarqu´
ee
Ce projet a pris naissance suite a` l’observation faite, par un certain nombre de membres
de l’UCP et du laboratoire ETIS de l’Universit´e impliqu´es dans les pˆoles de comp´etitivit´e SYSTEM@TIC, MOVEO et ASTECH, que l’offre de formation au niveau local ne
r´epondait pas aux besoins croissants des industries nouvelles implant´ees dans le d´epartement dans les secteurs des nouvelles technologies et de l’informatique embarqu´ee. Suite
a` mon implication dans certains des projets mentionn´es ci-dessus, j’ai lanc´e avec l’aide
du Comit´e d’Expansion Economique du Val d’Oise (CEEVO) une enquˆete dont l’objectif
´etait de confirmer la tendance locale (reflet d’une tendance internationale) d’explosion du
domaine de l’embarqu´e. Les r´esultats de cette enquˆete [Ber08] confirment cette ad´equation entre le projet et le march´e de l’emploi sur la r´egion. Les 150 entreprises interrog´ees
ont ´et´e inform´ees de ce projet de formation et sont autant de partenaires potentiels pour
l’accueil des apprentis et le recrutement des nouveaux diplˆom´es.
Les professions vis´ees sont celles li´ees `a la programmation, l’int´egration et la validation
des syst`emes embarqu´es selon les normes et les technologies des domaines applicatifs vis´es.
Le positionnement de la formation dans l’agglom´eration de Cergy-Pontoise et la participation de l’UCP dans les pˆoles de comp´etitivit´e Moveo, System@tic et Astech permettent de
viser plus particuli`erement le bassin d’emploi local correspondant aux domaines porteurs
de l’automobile, des transports et de l’a´eronautique.
Le d´eveloppement rapide des applications embarqu´ees conduit aujourd’hui a` un besoin
croissant de techniciens sup´erieurs qualifi´es pour r´epondre aux d´efis de conception de
syst`emes toujours plus performants et moins coˆ
uteux dans des temps de mise sur le
march´e toujours plus courts. La Commission Europ´eenne estime en effet que 40% des
gains de productivit´e et 25% du PNB peuvent ˆetre attribu´es aux technologies avanc´ees
de l’information. La strat´egie de Lisbonne, r´evis´ee en 2005, mise pr´ecis´ement sur une
croissance dans le d´eveloppement et l’utilisation de ces nouvelles technologies, avec un
programme ambitieux qui se traduit, entre autres, par un budget de 1.8 milliards d’euros
investis annuellement dans des programmes de recherche sur des domaines tels que les
communications mobiles, les syst`emes embarqu´es et les contenus audio visuels.
La formation propos´ee vise a` r´epondre `a ces besoins. Elle se distingue des formations
existantes en r´egion parisienne par un profil d’expert en logiciel embarqu´e, plus marqu´e
que ces derni`eres, orient´ees automatique et ´electronique, et par une ad´equation forte avec
le contexte socio-´economique local (Agglom´eration de Cergy-Pontoise labellis´ee par les
pˆoles de comp´etitivit´e site « Intelligence embarqu´ee ») et par des moyens p´edagogiques
de premier plan mis en oeuvre a` hauteur de plusieurs ´equipements embarqu´es par ´el`eve.
La licence repr´esente 550 heures de formation organis´ees de la mani`ere suivante :
– (UE1) Bases Informatiques 90h,
– (UE2) Conception Conjointe 90h,
– (UE3) Syst`emes Temps R´eel 60h,
– (UE4) Architecture des Syst`emes Embarqu´es 90h,
– (UE5) Syst`emes communicants 60h,
– (UE6) Formation G´en´erale 90h,
– (UE7) Projet tuteur´e 120h,
– UE Professionnelle : apprentissage en entreprise.
J’assure pour ma part une cinquantaine d’heures d’enseignement au sein de cette
licence professionnelle.
Toutes les informations relatives a` la formation sont disponibles sur la page web de la
licence : http ://depinfo.u-cergy.fr/licproie/index.php.
8
1.1.3
´
Master recherche Electronique
des Syst`
emes Autonomes
´
Le Master Recherche ESA (Electronique
des Syst`emes Autonomes) est une forma´
tion organis´ee `a la fois par l’ENSEA (Ecole
Nationale Sup´erieure de l’Electronique et de
ses Applications) et l’Universit´e de Cergy-Pontoise. Cette formation dans le bassin local
s’adresse tout d’abord `a la fois aux ´etudiants en premi`ere ann´ee de master (cf section
1.1.1) `a l’UCP et aux ´el`eves ing´enieurs en troisi`eme ann´ee de l’ENSEA. Pour ces derniers
le master ESA est alors suivi en cursus conjoint avec la formation de troisi`eme ann´ee de
l’´ecole. Les autres ´etudiants sont principalement des ´etudiants venant de l’´etranger. Le
programme du master est compos´e d’un semestre de cours th´eoriques et d’un semestre
de stage de recherche r´ealis´e soit en laboratoire soit en entreprise. C’est dans le cadre de
ce second semestre que je propose chaque ann´ee des sujets de stage de recherche et que
j’effectue les encadrements r´esum´es en section 1.1.5.
Le master ESA est une formation cr´e´ee en octobre 2005, a` l’occasion a` nouveau du
passage de l’universit´e au programme LMD. Mon intervention au sein du master a ´et´e
progressive :
– de 2005 a` 2008, avec mon coll`egue Fran¸cois Verdier, nous avons co-anim´e le module
de tronc commun appel´e Architecture des Syst`emes Embarqu´es organis´e dans un
volume de 20 HETD,
– en 2008, j’ai cr´e´e un nouveau module d’option appel´e Exploration et simulation
architecturale en SystemC,
– de 2008 a` 2010, avec le d´epart de mon coll`egue pour l’universit´e de Nice, j’ai pris la
responsabilit´e du module dont j’assure aujourd’hui toutes les interventions,
– en 2010 avec mon coll`egue Bertrand Granado, nous avons cr´e´e et co-anim´e un module
d’option appel´e Syst`emes Embarqu´es Auto-Adaptables organis´e dans un volume de
20 HETD.
Mes interventions dans le master ESA repr´esentent ainsi aujourd’hui une trentaine
d’heures HETD (soit 16 % ) sur mon service complet comme cela est repr´esent´e dans la
table 1.2.
´
Etablissement
MCF - UCP
ENSEA / UCP
Niveau
Mati`
ere
Master
Recherche ESA
Architecture
des Syst`
emes
Embarqu´
es
Exploration et
simulation architecturale en
SystemC
Syst`
emes Embarqu´
es AutoAdaptables
Volume
horaire (hetd)
4 TD
16 Cours
20 Total
Effectif
´
etudiant
Contribution
[8,15]
Responsable de
module
12 TP
8 Cours
20 Total
[7,12]
Responsable de
module
4 TP
16 Cours
20 Total
[7,12]
Responsable de
module
Table 1.2: Synth`ese quantitative des enseignements cr´e´es en master recherche ESA.
Module Architecture des Syst`
emes Embarqu´
es
L’objectif du module d’Architecture des Syst`emes Embarqu´es est de s’assurer de l’acquisition, au sein d’un public vari´e, des connaissances n´ecessaires aux modules d’option
du parcours Architecture du master (dont font par exemple parties les deux modules pr´esent´es dans les paragraphes suivants). Il est ainsi compos´e de 5 cours de 3 heures qui
traitent des sujets suivants :
9
– conception de circuits VLSI aux syst`emes sur puce (SoC),
– architecture des processeurs programmables RISC,
– jeu d’instructions des processeurs programmables
– m´ecanismes architecturaux pour l’am´elioration des performances,
– architecture et programmation des SoC multiprocesseurs.
Les notions fondamentales sont ensuite mises en pratique lors d’une s´eance de TD de 4
heures.
Le module se termine enfin par l’intervention d’un invit´e industriel, en l’occurrence J´erˆome
Quevremont, de l’entreprise Thales Communication. Celui-ci conclut le module par la mise
en correspondance du cours avec les probl´ematiques industrielles en conception de SoC
pour la radio-logicielle.
Module Exploration et simulation architecturale en SystemC
Ce module est une formation au langage SystemC. Ce langage est ´etudi´e dans le cadre
de la probl´ematique de la conception conjointe logicielle/mat´erielle et de l’exploration
architecturale. Le cours aborde les sujets suivants :
– probl´ematique de mod´elisation conjointe logicielle/mat´erielle des SoC,
– niveaux de mod´elisation, du niveau algorithmique au niveau porte,
– les objets du langage, syntaxe et exemples,
– les canaux primitifs,
– les canaux hi´erarchiques,
– le noyau de simulation SystemC,
– la mod´elisation transactionnelle (TLM).
Le cours est mis en pratique par 4 s´eances de TP qui abordent la mod´elisation d’une
application de filtrage d’images en mat´eriel a` 3 niveaux de mod´elisation : algorithmique,
tim´e et transactionnel.
Module Syst`
emes Embarqu´
es Auto-Adaptables
Ce module d’option du master ESA a ´et´e cr´e´e en 2008 avec mon coll`egue Bertrand
Granado, alors responsable de l’´equipe ASTRE a` ETIS. J’anime encore aujourd’hui ce
module avec Bertrand Granado, maintenant professeur a` l’universit´e Pierre et Marie Curie a` Paris.
Nos activit´es de recherche sur l’´etude de la dynamicit´e dans les architecture SoC nous
a conduit `a proposer ce nouvel enseignement, principalement bas´e sur l’´etude des syst`emes bio-inspir´es et sur les technologies ´emergentes. Le module est organis´e autour de 8
principaux sujets :
– Automates Cellulaires,
– Algorithmes G´en´etiques,
– Evolvable Hardware,
– Mod`ele POetiC [MTS+ 04],
– auto-organisation dans les architectures neuronales,
– Nanotubes,
– Nano PLA et CMOL,
– Quantum Dot Cellular Automata.
10
1.1.4
Synth`
ese horaire
Mon service d’enseignement varie depuis 2005 entre 192 et 300 hetd. Cette variation
est repr´esent´ee `a travers l’histogramme de la figure 1.3. La proportion de ce service en
cours magistral est repr´esent´e en rouge et celle correspondant aux TDs en vert.
Figure 1.3: Synth`ese quantitative des services d’enseignement effectu´es depuis 2005.
Comme en t´emoigne l’histogramme de la figure 1.3 mon service annuel a ´evolu´e depuis mon recrutement en 2005, notamment avec l’ouverture de la licence professionnelle
Informatique Embarqu´ee en 2010. Cette ´evolution a modifi´e la proportion entre CM et
TD mais n’a que tr`es peu influ´e sur la r´epartition par niveau, ´etant rest´e responsable de
l’ensemble de ces modules pour lesquels j’assure au moins le cours. A titre indicatif donc,
je repr´esente dans la figure 1.4 la r´epartition de mes enseignements dans les diff´erents
niveaux d´ecrits pr´ec´edemment.
La figure 1.5 indique la r´epartition horaire des diff´erents modules dont je suis responsable a` travers les niveaux de formation en y incluant mon implication et celle de mes
coll`egues du d´epartement (ATER et doctorant).
11
Figure 1.4: R´epartition de mon service par niveau en 2013 (pour un total de 193 hetd). Mes
interventions dans le parcours traitement temps r´eel repr´esentent en moyenne 59% de mon
service, dans la LP IE 26% et dans le master recherche 16%.
Figure 1.5: R´epartition des enseignements cr´e´es par niveau en 2013 (pour un total de 468 hetd)
12
1.1.5
Encadrements de stages et de projets
Le cycle d’apprentissage d’un ´etudiant est naturellement compos´e des enseignements
g´en´eraux qui sont dispens´es en cours magistral et en travaux dirig´es ou pratiques. Mais il
doit ´egalement ˆetre compl´et´e par une projection personnelle de l’´etudiant dans un cadre
moins d´efini que celui de l’enseignement coll´egial. Les projets qui jalonnent le cursus d’un
´etudiant sont l’occasion non seulement de mettre en pratique les notions fondamentales
´etudi´ees en cours mais aussi de le soumettre `a ses capacit´es d’initiative propre.
Les projets et stages qui forment le cadre de ce compl´ement indispensable de l’apprentissage universitaire sont les suivants :
– [Stages de fin de licence, 2 mois] : Le stage de fin de licence est l’occasion de
terminer les enseignements de premier cycle en cursus initial par une projection vers
un secteur professionnel. Les ´etudiants sont amen´es a` se confronter a` la recherche
d’entreprises d’accueil, ou bien, le cas ´ech´eant lorsque la recherche les int´eressent,
d’un stage en laboratoire. C’est dans ce cadre que j’ai accueilli durant l’´et´e des ´etudiants de licence pour les initier aux probl´ematiques de recherche dans le domaine
vaste des architectures de calcul embarqu´ees sur puce.
– [Projets de M1 - SIGE, 3 mois] : Le projet annuel de master 1 s’effectue en
laboratoire lorsque les ´etudiants se pr´eparent `a une seconde ann´ee de master en
cursus recherche. Dans le cas d’une seconde ann´ee en apprentissage, ce projet correspond `a une r´ealisation technique pluridisciplinaire. Voici quelques exemples de
sujets encadr´es depuis 2009 :
– Traitement audio-num´erique en temps r´eel par un processeur de traitement de
signal, [2009, 2 ´etudiants, fili`ere pro].
– Auto-r´eplication de code dans un r´eseau de capteurs, [2009, 2 ´et., f. pro].
– Interface de simulation pour les grands r´eseaux de neurones [2010, 1 ´et., f. recherche].
– Simulation conjointe logicielle-mat´erielle de r´eseaux de neurones artificiels [2012,
1 ´et., f. recherche]
– [M2 pro - S2IC, ann´
ee] : Ce projet de synth`ese annuel fait intervenir les notions
des diff´erents cours du M2 Pro. Les sujets que j’ai propos´es ´etaient notamment li´es
a` la domotique, la robotique, le suivi de cibles, les architectures SoC ...
– [Stage de M2 recherche SIC et ESA, 6 mois] : Ces masters recherche sont tous
deux organis´es en 2 semestres, dont le second correspond `a un stage de recherche
en laboratoire ou en entreprise. Ce stage de 6 mois est pr´ec´ed´e d’un mini-projet
d’initiation `a la recherche de 2 mois.
Les encadrements r´ealis´es depuis 2005 sont r´esum´es dans le tableau 1.3 suivant. Leur
nombre ne permet ici qu’un r´esum´e quantitatif. Seuls les sujets de stage de recherche
seront d´etaill´es dans ce document en section 1.2.5.
13
Dur´ee
2005-2006
2006-2007
2007-2008
2008-2009
2009-2010
2010-2011
2011-2012
2012-2013
2013-2014
L3
M1
M2 pro
2 mois
2 mois
2
4
1
ann´ee
3
3
1
1
2
3
3
4
1
1
1
1
M2 R
mini-projet
2 mois
1
1
2,5
3
3
2
3
3
5
M2 R
stage
6 mois
1
1
2
1
1
2
Table 1.3: Synth`ese quantitative des encadrements de stages et projets.
1.2
1.2.1
Activit´
es d’animation de la recherche
Th´
ematiques de recherche
Th`
emes de recherche La th´ematique principale couverte par mes travaux de recherche au sein de l’´equipe ASTRE (anciennement Architecture) est la conception de
syst`emes sur puce reconfigurables pour le domaine de l’embarqu´e temps r´eel. Ces syst`emes int´egrant de plus en plus de complexit´e que ce soit du point de vue du nombre
d’unit´es de calcul (processeurs, coprocesseurs et unit´e reconfigurables) que du point de
vue applicatif (intelligence embarqu´ee), il devient n´ecessaire de fournir des m´ethodes et
outils permettant d’abstraire et de g´erer cette complexit´e. La gestion de telles plateformes
est trait´ee a` travers mes travaux de recherche a` un niveau syst`eme et se d´ecompose en
trois axes :
´
1. Etude
et conception de m´ecanismes d’ordonnancement d´edi´es a` la gestion des ressources dans les SoC. Publications principales relatives a` cet axe : [Mir06] [GMV09]
[MCG10] [GMV08].
2. Mise en oeuvre d’un flot de mod´elisation/exploration/validation `a haut niveau de
syst`emes d’exploitation temps r´eel (RTOS) d´edi´es a` la gestion d’unit´es de calcul
reconfigurables (projet OveRSoC, th`ese d’E. Huck). Les r´esultats obtenus dans cet
axe m’ont permis de d´emarrer en 2008 un nouveau projet sur des probl´ematiques
soulev´ees durant les projets pr´ec´edents sur la conception d’un OS distribu´e en logiciel et en mat´eriel et des m´ecanismes de virtualisation de plateforme associ´es (projet FOSFOR). Publications principales relatives `a cet axe : [GKM+ 12] [MHV+ 09]
[GMME10] [KKG+ 12].
´
3. Etude
prospective sur la conception de syst`emes autoadaptatifs. Cet axe s’appuie
notamment sur une application de vision robotique (th`ese de T. Lefevbre, collaboration avec l’´equipe Neurocybern´etique) pour ´etudier des m´ecanismes de calcul et
de contrˆole bioinspir´es capables d’adapter les ressources du calculateur embarqu´e
aux besoins ´evolutifs de l’application. Publications principales relatives `a cet axe :
[FCM14] [VMM+ 08] [RFM13] [RFM11] [RMKG12].
14
1.2.2
Projets de recherche
Participation aux projets de recherche
1. Porteur Francais du projet RETINE pour le financement de missions internationales dans le cadre de l’appel EGIDE Germaine de Stael 2012 avec Andres
Upegui a` Gen`eve. La r´eponse a ´et´e obtenue en novembre 2012. Le projet a ´et´e retenu pour un d´ebut de financement en 2013. L’objectif de ce projet est de r´ealiser
une architecture reconfigurable auto-organis´ee de traitement d’images dans le cadre
de la vision robotique. Cette architecture s’appuie sur la plateforme CONFETTI
disponible a` Gen`eve.
2. Porteur du projet inter-´
equipe ROBOTSoC du laboratoire ETIS (2012)
sur financement de la Communaut´e d’Agglom´eration de Cergy-Pontoise (CACP).
Ce projet r´eunit les ´equipes ASTRE et Neurocybern´etique dans la conception d’une
plateforme embarqu´ee temps r´eel pour la robotique mobile. Cette plateforme est
constitu´ee de plusieurs syst`emes mat´eriels et logiciels embarqu´es sur une plateforme
robotique utilis´ee pour des missions de navigation. Ce projet a obtenu le financement d’une th`ese par la CACP (cf. page 18). http ://www-etis.ensea.fr/robotsoc/
3. Porteur du projet ANR Jeune Chercheur SATURN (2011).
L’objectif du projet SATURN est de remettre en cause les principes mˆeme des calculateurs actuels. Les densit´es d’int´egration offertes par des technologies toujours plus
agressives rendent aujourd’hui difficile la maˆıtrise du comportement de calculateur
disposant de centaines de coeurs de processeurs. Le projet cherche a` revisiter le paradigme ´el´ementaire de la programmation de ces syst`emes en les consid´erant a` leur
´echelle actuelle et non plus a` celle du processeur individuel. Pour cela, nous explorons
les comportements et m´ecanismes pr´esents dans le monde biologique pour rendre ces
syst`emes plus autonomes dans leur comportement et dans le contrˆole de leur ex´ecution. Nous travaillons notamment dans la th`ese de L. Rodriguez sur l’exploitation
de m´ecanismes d’auto-organisation pr´esents dans certaines structures c´er´ebrales et
nous les d´eportons dans nos circuits prototypes sur FPGA par la conception de r´eseaux de neurones mat´eriels. http ://projet-saturn.ensea.fr/
4. Membre du projet ANR – ARFU FOSFOR (2008), labellis´e par le pˆole System@tic. Ce projet de 3 ans ´etait port´e par A. Guilieri et F. Muller au LEAT. Les
participants ´etaient les laboratoires LEAT, ETIS, et CAIRN, et l’entreprise Thales
RT. Le projet FOSFOR (Flexible Operating System FOr Reconfigurable platform)
visait a` reconsid´erer la structure du RTOS qui est g´en´eralement logiciel, centralis´e
et statique en un RTOS flexible, distribu´e, et proposant une interface homog`ene du
point de vue de l’application. Pour atteindre cet objectif, nous avons propos´e d’exploiter la reconfiguration dynamique et partielle des SoC reconfigurables ainsi que
le d´eploiement statique ou dynamique des tˆaches sur des unit´es de traitement logicielles (processeurs g´en´eraux) ou mat´erielles (zones reconfigurables). La flexibilit´e
de l’OS est rendue possible grˆace a` des m´ecanismes de virtualisation des services de
l’OS n´ecessaires pour que les tˆaches de l’application s’ex´ecutent et communiquent
sans connaissance a priori de leur affectation a` une unit´e de traitement logicielle
ou mat´erielle. ETIS a d´evelopp´e et d´eploy´e sur les familles de circuits Virtex 5 et
Virtex 6 le middleware responsable de cette virtualisation.
http ://users.polytech.unice.fr/˜fmuller/fosfor/
15
5. Membre du projet Ter@Ops du pˆ
ole de comp´
etitivit´
e System@tic (2007).
Ce projet de 2 ans ´etait port´e par Fabrice Lemonnier de Thales RT. Le projet comptait 7 partenaires acad´emiques, 9 groupes industriels et 4 PME.
L’objectif du projet Teraops est de d´efinir l’architecture d’un calculateur parall`ele
multi-domaine ainsi que le flot de programmation associ´e. L’architecture est organis´ee en un syst`eme multi-tuiles communiquant a` travers un r´eseau sur puce (NoC)
Arteris. Chaque tuile int`egre un micro-contrˆoleur, une m´emoire locale, un DMA et
un acc´el´erateur d´edi´e qui rend l’architecture globalement h´et´erog`ene. Un mod`ele de
programmation homog`ene doit quant-`a lui assurer l’ind´ependance entre le mat´eriel
et les couches applicatives.
Le projet a abouti d’une part au d´eveloppement d’un simulateur SystemC de cette
architecture MPSoC pour des configurations jusqu’`a 32 tuiles, et d’autre part a` la
d´efinition d’un flot de conception logiciel compos´e de plusieurs outils de parall´elisation.
La contribution d’ETIS dans le projet a ´et´e d’int´egrer le mod`ele d’OS SystemC
con¸cu lors de la th`ese d’E. Huck, cf. 1.2.4, dans le simulateur de l’architecture multiprocesseurs. Ce mod`ele d’OS sert de contrˆole local de chaque tuile et de support
a` la couche de virtualisation de la plateforme.
http ://www.systematic-paris-region.org/fr/projets/teraops
6. Membre du projet ANR – ARA SSIA OveRSoC (2005).
Ce projet de 3 ans ´etait port´e par Jean-Christophe Pr´evotet de l’IETR. Les partenaires acad´emiques de ce projet ´etaient IETR, ETIS, CAIRN et le LIP6.
L’objectif du projet OveRSoC est de d´evelopper une m´ethodologie d’exploration
et de validation des architectures de syst`emes d’exploitation temps-r´eel (RTOS)
embarqu´es pour les plate-formes SoC reconfigurables (RSoC). ETIS a dans ce but
con¸cu un mod`ele d’OS modulaire multiprocesseur en SystemC. Cette conception a
´et´e r´ealis´ee dans le cadre de la th`ese d’E. Huck, cf section 1.2.4. La modularit´e de
cet OS est le m´ecanisme propos´e pour faciliter l’exploration architecturale au niveau
syst`eme. Le mod`ele a ensuite servi de brique ´el´ementaire dans le d´eveloppement de
l’outil d’aide a` l’exploration DOGME (Distributed Operating system Graphical Modelling Environment).
http ://oversoc.ensea.fr/
D´
epˆ
ots de projets en cours
1. D´epˆot du projet SOMA dans le cadre de l’appel Lead-Agency Franco-Suisse (ANRFNS) le 1er avril 2014. Le projet SOMA (Self-Organising Machine Architecture) a
pour objectif d’´etudier la mise en oeuvre mat´erielle de large r´eseaux de neurones a`
spikes auto-organis´es pour doter les architectures de traitement parall`eles de capacit´es d’auto-adaptation. Ce projet est d´epos´e en collaboration avec les laboratoires
Cortex a` Nancy (porteur), Mnemosyne a` Bordeaux, InIT a` Gen`eve et ETIS `a Cergy.
2. Participation au d´epˆot de projet Capacit´es dans le cadre de l’appel Investissements
d’Avenir D´eveloppement de l’Economie Num´erique sur le th`eme ”Logiciel embarqu´e
et objets connect´es” en janvier 2014. L’objectif du projet Capacit´es est d’´etudier les
m´ethodes de calcul parall`ele pour les applications critiques en temps et en sˆ
uret´e. Le
projet est pilot´e par l’entreprise Kalray. L’objectif pour ETIS est d’´etudier comment
programmer et tirer parti des capacit´es de calcul d’architectures many-core sur des
applications de radio-logicielle. Le consortium est compos´e de plus d’une vingtaine
de partenaires.
16
1.2.3
Collaborations
Les projets d´ecrits pr´ec´edemment ont ´et´e l’occasion de d´evelopper des collaborations
aussi bien acad´emiques qu’industrielles. Les personnes avec qui j’ai directement collabor´e
sont cit´ees ci-dessous. Les collaborations encore en cours sont indiqu´ees en gras.
Acad´
emiques
–
–
–
–
–
–
–
–
–
N. Cuperlier – ETIS, UMR 8051 ´
equipe Neurocybern´
etique – Cergy
B. Granado – SoC – Paris 6
F. Muller, F. Verdier – LEAT UMR 6071 – Nice
J.C. Prevotet – INSA – Rennes
D. Chillet, – CAIRN, IRISA – Lannion
S. Pillement – IETR – Nantes
R. David, N. Ventroux – CEA LIST – Saclay
Membre du GDR SoCSiP
Membre du GDR ISIS
Industrielles
–
–
–
–
–
–
J.-M. Vuillamy – Altera, Inc.
E. Hochapfel – Adacsys, Palaiseau
F. Lemonnier – Thal`es Research & Technology – Palaiseau
Abound Logic – France R & D Center – Bievres
R. David, N. Ventroux – CEA List – Saclay
J.-L. Brelet – Xilinx, Inc. Sophia Antipolis
Internationales
– Laboratoire Init - Professeurs Andres Upegui et Fabien Vannel, Gen`
eve
Suisse
Depuis 2009, je d´eveloppe une collaboration avec Andres Upegui du laboratoire Init
a` Gen`eve sur la conception d’architectures bio-inspir´ees. J’ai notamment accueilli Andres
Upegui comme professeur invit´e au laboratoire ETIS en juillet 2010 et juillet 2013. Nous
organisons r´eguli`erement des journ´ees de travail a` Gen`eve dans le cadre du projet RETINE
financ´e par l’EGIDE (cf. section 1.2.2).
17
1.2.4
Encadrements de th`
ese
1. Emmanuel Huck, th`ese soutenue le 25 novembre 2011, d´emarrage en octobre 2006
sur financement BDI entre le CNRS et Thal`es. La th`ese est intitul´ee :
Simulation SystemC de RTOS h´
et´
erog`
enes distribu´
es pour syst`
emes sur
puces reconfigurables. Les sujets de recherche trait´es durant cette th`ese seront
d´ecrits dans le chapitre 4. Cet encadrement de th`ese a conduit aux productions suivantes en conf´erences internationales [HMV08], [PBG+ 08], [HMV07], et en journaux
internationaux [MHV+ 09] et [VMM+ 08].
Taux d’encadrement : 60%. Le directeur de th`ese est Fran¸cois Verdier, professeur
au laboratoire LEAT a` l’universit´e de Nice Sophia Antipolis.
Cette th`ese a ´et´e examin´ee par le jury suivant :
– Fr´ed´eric P´etrot, TIMA, pr´esident du jury,
– C´ecile B´eleudy, LEAT, rapporteur,
– Dragomir Milojevic, Universit´e libre de Bruxelles, rapporteur,
– Guy Gognat, Lab-STICCC, examinateur,
– Fabrice Lemonnier, Thales RT, examinateur,
– Benoˆıt Miramond, ETIS, encadrant,
– Fran¸cois Verdier, LEAT, directeur de th`ese.
2. Thomas Lefebvre, th`ese soutenue le 24 septembre 2012, d´emarrage en octobre
2007 sur financement de l’Ecole Doctorale Sciences et Ing´enierie de l’universit´e de
Cergy-Pontoise (ED 417). Il a travaill´e a` l’interface entre les ´equipes ASTRE et
Neurocybern´etique sur le sujet intitul´e :
Architecture MPSoC Adaptative pour cam´
era robotique intelligente. Les
sujets de recherche trait´es durant cette th`ese seront d´ecrits dans les chapitres 4 et
6. Cet encadrement de th`ese a conduit `a deux publications dans des revues internationales [VMM+ 08] [MHV+ 09].
Taux d’encadrement : 70%. Le directeur de th`ese est Lounis Kessal, MCF HDR
au laboratoire ETIS.
Cette th`ese a ´et´e examin´ee par le jury suivant :
– Lionel Lacassagne, IEF, pr´esident du jury,
– Michel Paindavoine, LEAD, rapporteur,
– Jocelyn Serot, LASMEA, rapporteur,
– Serge Weber, LIEN, examinateur,
– Benoˆıt Miramond, ETIS, encadrant,
– Fran¸cois Verdier, LEAT, encadrant,
– Lounis Kessal, ETIS, directeur de th`ese.
3. Amel Khiar, soutenance pr´evue en juin 2014, d´emarrage en f´evrier 2009 sur financement ANR (Projet ARFU FOSFOR). Elle est actuellement en quatri`eme ann´ee
et doit soutenir la th`ese en 2014 sur le sujet suivant :
Virtualisation des communications pour plate-forme reconfigurable dynamiquement. Les sujets de recherche trait´es durant cette th`ese seront d´ecrits
dans le chapitre 5. Cet encadrement de th`ese a conduit a` la publication d’un article
de journal [GKM+ 12], deux conf´erences internationales [KKG+ 12] [GKM+ 11] et
deux posters, l’un `a l’occasion d’une r´eunion du GDR SoC/SiP, l’autre pour l’´ecole
th´ematique Fetch’2010.
Taux d’encadrement : 80%. Le directeur de th`ese est Fran¸cois Verdier, professeur
au laboratoire LEAT a` l’universit´e de Nice Sophia Antipolis.
Cette th`ese sera examin´ee le 5 novembre 2014 par le jury suivant :
18
–
–
–
–
–
–
Daniel Chillet, IRISA, rapporteur,
Guy Gogniat, LabSTICC, rapporteur,
Samy Meftali, LIFL, examinateur,
Bertrand Granado, examinateur,
Benoˆıt Miramond, ETIS, encadrant,
Fran¸cois Verdier, LEAT, directeur de th`ese.
4. Laurent Rodriguez, d´emarrage en F´evrier 2011 sur financement ANR (Projet
JCJC SATURN). Il est actuellement en quatri`eme ann´ee et a particip´e au projet
ANR SATURN sur le sujet suivant :
D´
efinition d’un substrat computationnel pour architectures de traitement
auto-adaptables dans le cadre de la vision robotique. Les sujets de recherche
trait´es durant cette th`ese seront d´ecrits dans le chapitre 7. Cet encadrement de th`ese
a conduit a` deux publications en conf´erences internationales [RMKG12] et [RFM11]
ainsi que deux posters aux colloques du GDR SoC/SiP.
Taux d’encadrement : 90%. Le directeur de th`ese est Bertrand Granado, professeur au laboratoire ETIS au moment de l’inscription en th`ese, actuellement professeur a` l’universit´e Pierre et Marie Curie a` Paris.
5. Laurent Fiack, d´emarrage en octobre 2012 sur financement du comit´e d’agglom´eration de Cergy-Pontoise (CACP). Il est actuellement en deuxi`eme ann´ee de th`ese
et participe indirectement au projet ANR SATURN sur le sujet suivant :
Les effets de l’environnement sur l’organisation des architectures mat´
erielles auto-organis´
ees. Les sujets de recherche trait´es durant cette th`ese seront
d´ecrits dans les chapitres 6 et 7. Cet encadrement de th`ese a conduit `a la publication d’un article de journal [FCM14], de trois conf´erences internationales ainsi qu’un
poster au colloque du GDR SoC/SiP 2012.
Taux d’encadrement : 90%. Le directeur de th`ese est Olivier Romain, professeur
au laboratoire ETIS.
6. Wenhao Wang, d´emarrage en avril 2014 sur financement CIFRE avec l’entreprise
Valeo sur le sujet suivant :
Processus de d´
etermination d’architecture logicielle optimale pour processeurs MultiCoeurs pour le milieu automobile.
Taux d’encadrement : 90%. Le directeur de th`ese est Olivier Romain, professeur
au laboratoire ETIS.
Poucentage
d’encadrement
total
D´emarrage de
nouvelle th`ese
Type de
financement
Soutenance
de th`ese
2006
2007
2008
2009
2010
2011
2012
2013
2014
60
130
130
210
150
240
170
260
270
(1) E.
Huck
BDI
Thales
(2) T.
Lefebvre
ED
(4) L.
Rodriguez
ANR
SATURN
E. Huck
25 nov.
(5) L.
Fiack
CACP
(6) W.
Wang
CIFRE
T. Lefbvre
24 sep.
A. Khiar
5 Nov.
(3) A.
Khiar
ANR
FOSFOR
Table 1.4: Synth`ese quantitative et chronologique des encadrements de th`ese. La premi`ere ligne
repr´esente le pourcentage annuel cumul´e d’encadrement sur les diff´erentes th`eses.
19
1.2.5
Encadrement des travaux de recherche
Encadrement de stages de master recherche
Deux masters recherche sont adoss´es au laboratoire ETIS, le master SIC (Syst`emes Intelligents et Communicants) et le master ESA (Electronique des Syst`emes Autonomes),
cf. section 1.1.3. Ces masters recherche sont tous deux organis´es en 2 semestres, dont le
second correspond a` un stage de recherche en laboratoire ou en entreprise. Ce stage de 6
mois est pr´ec´ed´e d’un mini-projet d’initiation `a la recherche de 2 mois. Les ´etudiants sont
alors accueillis au sein du laboratoire ETIS. Ils participent a` la vie de l’´equipe ASTRE
durant la dur´ee de leur stage. Je r´esume ici les encadrements de stage de recherche dans
le cadre de ces deux masters.
1. 2005-2006, Samir Koualed, Ordonnanceur hi´erarchique pour architecture multiprocesseur sur puce, Master Recherche SIC
2. 2006-2007, Baptiste Monzain, Ordonnancement temps r´eel hors-ligne a` occupation m´emoire optimis´ee, Master Recherche ESA
3. 2007-2008, Bechir Bennani, Simulation h´et´erog`ene de syst`emes embarqu´es logiciels/mat´eriels dans le cadre du projet OveRSoC, Master Recherche ESA
4. 2007-2008, Gilles Tourreau, Mise en comp´etition de tˆaches logicielles pour une
ex´ecution en environnement temps r´eel, Master Recherche SIC
5. 2009-2010, Sami Aloui, MPSoC pour le suivi des cibles en temps r´eel, Master EEA
Syst`emes Micro´electroniques de l’Universit´e Montpellier 2
6. 2010-2011, Yohann Borges, Middleware embarqu´e logiciel pour les plateformes
de traitements d’images : application a` la segmentation d’image, Master Recherche
ESA
7. 2011-2012, Soufyane Lkad, Mod`ele de programmation unifi´e de threads logiciels
et mat´eriels, Master Recherche ESA
8. 2011-2012, Laurent Fiack, Architecture mat´erielle prototyp´ee sur FPGA d’une
camera intelligente pour la robotique mobile, Master Recherche ESA
Autres encadrements scientifiques
– encadrement de l’ing´
enieur d’´
etude Mehdi Aichouch recrut´e sur le projet ANR
OveRSoC pendant 18 mois (de f´evrier 2008 a` juillet 2009). Sa mission a ´et´e de d´evelopper un outil d’aide a` la conception de syst`emes d’exploitation temps r´eel sp´ecifiques pour les architectures reconfigurables dynamiquement sur puce. Ce travail a
conduit aux productions [ABH08] et [MHV+ 09]. L’outil DOGME (Distributed Operating system Graphical Modelling Environment) est d´ecrit plus en d´etails sur la page
web suivante : http ://oversoc.ensea.fr/oversoc-graphical-modeling-environment-1
– encadrement de postdoctorat de Fakhreddine Ghaffari recrut´e sur le projet Teraops pendant 12 mois (de septembre 2007 a` aoˆ
ut 2008). Sa mission a ´et´e d’une
part de contribuer a` la conception d’une machine virtuelle embarqu´ee pour la programmation de l’architecture multiprocesseur h´et´erog`ene Teraops puis d’´etendre
l’architecture pour la doter de capacit´e de reconfiguration dynamique. Ce travail de
mod´elisation et de simulation en SystemC a conduit aux productions [GMV08] et
[GMV09].
20
Les encadrements de recherche, hors th`eses, sont r´esum´es dans le tableau 1.5.
Dur´ee
2005-2006
2006-2007
2007-2008
2008-2009
2009-2010
2010-2011
2011-2012
2012-2013
2013-2014
M2 R
M2 R PostDoc Ing´enieur
mini-projet stage
2 mois
6 mois
1 an
1 an
1
1
3
1
2,5
2
1
3
1
4
1
2
1
3
2
0,5
3
5
Table 1.5: Encadrements de travaux de recherche, hors th`eses.
1.2.6
Autres activit´
es
Responsabilit´
es nationales
1. Organisateur des Journ´
ees NeuroSTIC avec Michel Paindavoine du laboratoire
LEAD 1 . Ces journ´ees sont organis´ees chaque ann´ee comme un lieu de rencontre interdisciplinaire autour des syst`emes de calcul neuromorphiques. Ils r´eunissent chaque
ann´ee des sp´ecialistes des architectures num´eriques, du codage de l’information, des
roboticiens, des informaticiens, des ´electroniciens, des neuroscientifiques, et des psychologues. Les journ´ees sont soutenues par les GDR ISIS, SoC/SiP et Robotique.
Les programmes des ´editions pass´ees sont fournis en annexe.
2. Animateur des journ´ees sur les Architectures bio-inspir´
ees dans le th`eme C du
GDR ISIS depuis 2012.
3. Membre des comit´es de s´election en section 27 et 61 a` l’UCP a` Cergy, mai-juin 2010,
4. Membre du comit´e de s´election en section 61 a` l’Universit´e d’Orsay, mai-juin 2009,
Responsabilit´
es au sein du laboratoire ETIS
1. Animateur scientifique de l’axe Architectures reconfigurables de l’´equipe ASTRE
depuis 2008. Cette ´equipe est actuellement dirig´ee par Olivier Romain (anciennement par Bertrand Granado entre 2008 et 2012) et est compos´ee de trois autres
axes de recherche intitul´es Radiologicielle, Communications et Syst`emes embarqu´es
pour la sant´e. Le groupe Architectures reconfigurables est compos´e a` ce jour de 4
permanents et de 8 doctorants. Par cette responsabilit´e, je suis amen´e a` animer les
r´eunions de travail et a` organiser les activit´es de recherche du groupe.
2. Membre ´elu du conseil du laboratoire ETIS depuis 2008,
1. Laboratoire d’Etude de l’Apprentissage et du D´eveloppement de l’universit´e de Bourgogne
21
Participation `
a des jurys de th`
ese
1. Mle Yan Xu, Universit´e de Grenoble, Gestion Logicielle L´eg`ere pour la Reconfiguration Dynamique Partielle sur les FPGAs, 13 F´evrier 2014.
2. M. Mohamed-Amine Bounouar, Universit´e de Sherbrook - Qu´ebec / INL - Lyon,
Transistors mono-´electroniques double-grille : Mod´elisation, Conception et Evaluation d’architectures logiques, 23 Juillet 2013,
3. M. Georges Afonso, LIFL - Lille, Vers une nouvelle g´en´eration de syst`emes de test
et de simulation avionniques dynamiquement reconfigurables, 2 Juillet 2013,
Activit´
es de relecture
1. depuis septembre 2013, reviewer pour le journal of Real-Time Image Processing,
´editeurs M. Huebner et D. Chillet,
http ://www.editorialmanager.com/jrtip/
2. membre depuis 2009 du comit´e de programme technique de la conf´erence IEEE internationale on Design and Architectures for Signal and Image Processing (DASIP),
http ://www.ecsi.org/dasip/program-committee
3. juin 2012, reviewer invit´e pour le journal of Real-Time Image Processing, ´editeurs
M. Huebner et D. Chillet,
http ://www.editorialmanager.com/jrtip/
4. juin 2012, reviewer invit´e pour la conf´erence internationale on ReConFigurable Computing and FPGAs,
http ://www.reconfig.org/
5. f´evrier 2010, reviewer invit´e pour la conf´erence IEEE International Symposium on
Industrial Electronics (ISIE), ´editeur E. Monmasson,
http ://ieee-ies.org/index.php/conferences/isie
6. mai 2009, reviewer pour le journal Eurasip Journal on Embedded Systems,
http ://jes.eurasipjournals.com/
7. 2007, expert relecteur pour le projet Ter@Ops du pˆole de comp´etitivit´e System@tic.
Ce rˆole consistait a` expertiser les livrables techniques fournis par les partenaires du
projet (cf. section 1.2.2).
8. membre du comit´e de relecture en 2008 de la revue Technique et Science Informatique (TSI), ´editeur J.-L. Giavito,
http ://tsi.revuesonline.com/accueil.jsp
Diffusion de la recherche
1. d´ecembre 2011, animation d’un stand pour la pr´esentation et la d´emonstration du
projet ANR FOSFOR lors du colloque ANR STIC a` Lyon
22
2. janvier 2010, animation d’un stand pour la pr´esentation et la d´emonstration du projet ANR FOSFOR lors du colloque ANR STIC a` Paris
3. Juin 2008, B. Miramond, F. Verdier, F. Ghaffari, ”ETIS embarqu´e dans Ter@Ops”,
Journal de l’Ecole Nationale Sup´erieure de l’Electronique et de ses Applications
4. Mars 2007, pr´esentation ”Intelligence collective, du concept a` l’impl´ementation mat´erielle”, Semaine de la Recherche et de l’Innovation en Val d’Oise,
5. Mars 2006, pr´esentation ”Les d´efis du mat´eriel reconfigurable”, dans le cadre de la
Journ´ee Intelligence Embarqu´ee, UCP,
6. Mars 2006, pr´esentation ”Calculateurs embarqu´es, le d´efi du Tera op´eration par
seconde”, Semaine de la Recherche et de l’Innovation en Val d’Oise,
23
1.3
Publications
Revues Internationales `
a comit´
e de lecture
1. Toward a sparse self-organizing map for neuromorphic architecture, Laurent Rodriguez, Benoˆıt Miramond et Bertrand Granado, ACM Journal of Emerging Technologies and Computing Systems (JECTS), pages 1-25.
2. Embedded and real-time architecture for bio-inspired vision-based robot navigation,
Laurent Fiack and Nicolas Cuperlier and Benoˆıt Miramond, Springer Journal of
Real Time Image Processing (JRTIP), pages 1-24, 2014.
3. Enhancing reconfigurable platform programmability for synchronous dataflow applications, Laurent Gantel, Amel Khiar, Benoˆıt Miramond, Mohamed El Amine
Benkhelifa, Lounis Kessal, Fabrice Lemonnier, Jimmy Lerhun, ACM Transaction on
Reconfigurable Technology and Systems, Volume 5 Issue 4, December, pages 1-16,
2012.
4. Run-Time HW/SW Scheduling of Data Flow Applications on Reconfigurable Architectures, Fakhreddine Ghaffari, Benoˆıt Miramond, Fran¸cois Verdier, Eurasip
Journal on Embedded Systems, pages 1-13, 2009.
5. OveRSoC : a Framework for the Exploration of RTOS for RSoC Platforms, Benoˆıt
Miramond, Emmanuel Huck, Fran¸cois Verdier, Mohamed El Amine Benkhelifa,
Bertrand Granado, Thomas Lefebvre, Mehdi Aichouch, Jean-Christophe Pr´evotet,
Yasset Oliva, Daniel Chillet, International Journal of Reconfigurable Computing,
pages 1-22, 2009.
6. Using High-Level RTOS Models for HW/SW Embedded Architecture Exploration :
Case Study on Mobile Robotic Vision, Fran¸cois Verdier, Benoˆıt Miramond, Mickael Maillard, Emmanuel Huck, Thomas Lefebvre, Eurasip Journal on Embedded
Systems, pages 1-17, 2008.
Revues Nationales `
a comit´
e de lecture
1. Technique de r´eduction adaptative de l’espace de recherche pour les m´ethodes d’optimisation par recherche locale, Benoˆıt Miramond, Techniques et Sciences Informatiques, N. 27, V. 5, pages 627-657, 2008.
2. Technique d’ordonnancement hors-ligne pour applications embarqu´ees a` contraintes
temps r´eel, B. Miramond, Technique et Sciences Informatiques, N. 25, V. 7, pages
867-892, septembre 2006.
Chapitres de livres
1. SystemC Multiprocessor RTOS model for services distribution on RTOS platforms,
Benoˆıt Miramond, Emmanuel Huck, Thomas Lefebvre and Fran¸cois Verdier, chapitre de l’ouvrage Algorithm-Architecture Matching for Signal and Image Processing,
Springer Editor, pages 1—19, 2010.
24
Conf´
erences internationales `
a comit´
e de lecture
1. (Soumis le 19 septembre 2014) A neural approach for bio-inspired computing systems, Laurent Fiack, Benoˆıt Miramond, Laurent Rodriguez, submitted to IEEE
conference on Design Automation and Test in Europe (DATE), 2015.
2. (Soumis le 19 septembre 2014) Optimizing Application Distribution on Multicore
Systems within AUTOSAR, Wenhao Wang, Sylvain Cotard, Pierre Dupontavice,
Fabien Gravez, Yael Chambrin, Benoˆıt Miramond, submitted to IEEE conference
on Design Automation and Test in Europe (DATE), 2015.
3. Dynamic parallel reconfiguration for self-adaptive hardware architectures, Laurent
Fiack, Benoˆıt Miramond, Andres Upegui and Fabien Vannel, NASA/ESA Conference on Adaptive Hardware and Systems (AHS-2014), 2014.
4. A neural model for hardware plasticity in artificial vision systems, L. Rodriguez, L.
Fiack and B. Miramond, in IEEE Proceedings of Conference on Digital Architectures for Image and Signal Processing (DASIP), 8 pages, octobre, 2013.
5. FPGA-based vision perception architecture for robotic missions, L. Fiack, B. Miramond and N. Cuperlier, in proceedings of First Workshop on Smart CAmeras
for roBOTic applications (SCaBot/IROS), 6 pages, 2012
6. Middleware Based Executive for Embedded Reconfigurable Platforms, A. Khiar,
N.Knecht, L.Gantel, S.Lkad, B. Miramond, in IEEE Proceedings of Conference
on Design and Architectures for Signal and Image Processing (DASIP), 6 pages,
2012.
7. Embodied computing : self-adaptation in bio-inspired reconfigurable architectures,
L. Rodriguez, B. Miramond, I. Kalboussi, B. Granado, to appear in 19th Reconfigurable Architectures Workshop (RAW), 6 pages, May 2012.
8. Dataflow Programming Model For Reconfigurable Computing, Gantel L., Khiar A.,
Miramond B., Benkhelifa M. E. A., Lemonnier F., Kessal L., in 6th International
Workshop on Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC),
6 pages, France, 2011.
9. Generation of static tables in embedded memory with dense scheduling, B. Miramond, L. Cucu-Grosjean, in IEEE Proceedings of Conference on Design and
Architectures for Signal and Image Processing (DASIP), 6 pages, 2010.
10. SystemC multiprocessor RTOS model for services distribution on MPSoC platforms,
Huck E., Miramond B., Verdier F., in Proceedings of IEEE Conference on Design
and Architectures for Signal and Image Processing (DASIP), 6 pages, Belgique, 2008.
11. Dynamic adaptation of Hardware-Software scheduling for Reconfigurable Systemon-Chip, Ghaffari F., Miramond B., Verdier F., in Proceedings of - 19th IEEE/I´
FIP International Symposium on Rapid System Prototyping (RSP), 6 pages, EtatsUnis, 2008.
25
12. A Framework for the Exploration of RTOS Dedicated to the Management of Hardware Reconfigurable Resources, Pr´evotet J.-C., Benkhelifa A., Granado B., Huck
E., Miramond B., Verdier F., Chillet D., Pillement S., International Conference
on Reconfigurable Computing and FPGAs (Reconfig), 8 pages, 2008.
13. A Modular SystemC RTOS Model for Embedded Services Exploration, Huck E.,
Miramond B., Verdier F., in Proceedings of 1st Conference on Design and Architectures for Signal and Image Processing (DASIP), 8 pages, France, 2007.
14. Decision Guide Environment for design space exploration, B. Miramond and J-M.
Delosme, 10th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), 6 pages, September 2005.
15. Design Space Exploration for dynamically reconfigurable architectures, B. Miramond and J-M. Delosme, Design Automation and Test in Europ Conference
(DATE), 166-171, march 2005.
Communications internationales `
a comit´
e de lecture, format court
1. Validation of neural networks onto FPGA, L. Fiack, L. Rodriguez, B. Miramond
et E. Hochapfel (ADACSYS), International Workshop on NeuroComputing, 2 pages,
Grenoble, Mars, 2013.
2. Hardware architecture of Self-Organizing Maps, L. Rodriguez, L. Fiack, B. Miramond, International Workshop on NeuroComputing, 2 pages, Grenoble, Mars, 2013.
3. Best FPGA design practices to comply with new standards while reducing field
failures, S. Jeeawoody (Blue Pearl Software), E. Hochapfel, (ADACSYS), B. Miramond (ETIS Lab). Technical paper in international conference of Sophia Antipolis
Microelectronics, 6 pages, october, 2012.
4. Self-organization of reconfigurable processing elements during mobile robots missions, Rodriguez L., Fellus J., Miramond B., short paper in proceedings of the
6th International Workshop on Reconfigurable Communication-centric Systems-onChip (ReCoSoC), 2 pages, France, 2011.
5. A Flexible Operating System for Dynamic Applications, F. Muller, J. Le Rhun, F.
Lemonnier, B. Miramond, L. Devaux, Xilinx Journal (XCELL), vol. 73, 2010.
Conf´
erences nationales `
a comit´
e de lecture
Optimisation en place des ordonnancements temps r´eel hors-ligne, B. Miramond,
8`eme ´edition de SYMPosium en Architectures nouvelles de machines, avril 2005.
Autres communications nationales
1. Integration of a Bio-Inspired Robotic Vision System on FPGA, L. Fiack, T. Lefebvre, B. Miramond, Colloque national du GDR SoC SiP, Paris, juin 2012.
26
2. Conception d’un Middleware pour la programmation des architectures h´et´erog`enes
reconfigurables sur puce, N. Knecht, S. Lkad, B. Miramond, Colloque national du
GDR SoC SiP, Paris, juin 2012.
3. Self-organization in embodied reconfigurable architectures, L. Rodriguez, B. Miramond, F. Ghaffari, B. Granado, Colloque national du GDR SoC SiP, Paris, juin 2012.
4. Data-flow Actors deployed onto Heterogenous And Reconfigurable Plateforms, A.
Khiar, B. Miramond, Colloque national du GDR SoC SiP, Paris, juin 2012.
5. Self-organization of reconfigurable processing elements during mobile robots missions, L. Rodriguez, J. Fellus, B. Miramond, B. Granado, Colloque national du
GDR SoC SiP, Lyon, juin 2011.
6. Virtualisation des communications pour une plateforme reconfigurable dynamiquement et h´et´erog`ene A. khiar, B. Miramond, F. Verdier, Colloque national du GDR
SoC SiP, Cergy, juin 2010.
7. HW/SW MPSoC architecture exploration for a robotic vision application, T. Lefebvre, B. Miramond, F. Verdier, Colloque national du GDR SoC SiP, Cergy, juin
2010.
8. SystemC modeling of RTOS in MPSoC Platforms, Emmanuel HUCK, Benoˆıt Miramond, Fran¸cois VERDIER, Colloque national du GDR SoC SiP, Orsay, juin 2009.
9. OveRSoC Graphical Modelling Environment, Mehdi AICHOUCH, Benoˆıt Miramond, Colloque national du GDR SoC SiP, Orsay, juin 2009.
10. OveRSoC Graphical Design Environment, M. Aichouch, B, Miramond, E. Huck,
short paper in proceedings of 1st Conference on Design and Architectures for Signal
and Image Processing (DASIP), Bruxelles, 2008.
27
Bibliographie
[ABH08] M. Aichouch, Miramond B, and E. Huck. Oversoc graphical design environment. In short paper in international conference on Digital Architecture for
Signal and Image Processing (DASIP), 2008.
´
[Ber08] Aur´elie Bernard. LA SITUATION ET LES PERSPECTIVES DE DEVE`
´
LOPPEMENT DE LA FILIERE
DE L’INTELLIGENCE EMBARQUEE
DANS LE VAL D’OISE. Comit´e d’expansion ´economique du val d’oise, 2008.
[Edw00] Stephen A. Edwards. Languages for digital embedded systems. Kluwer academic publishers, 2000.
[FCM14] Laurent Fiack, Nicolas Cuperlier, and Benoˆıt Miramond. Embedded and realtime architecture for bio-inspired vision-based robot navigation. Journal of
Real-Time Image Processing, pages 1–24, 2014.
[GKM+ 11] Laurent Gantel, Amel Khiar, Benoˆıt Miramond, Mohamed El Amine Benkhelifa, Fabrice Lemonnier, and Lounis Kessal. Dataflow Programming Model For
Reconfigurable Computing. In 6th International Workshop on Reconfigurable
Communication-centric Systems-on-Chip (ReCoSoC), pages 1–8, Montpellier,
France, June 2011.
[GKM+ 12] Laurent Gantel, Amel Khiar, Benoˆıt Miramond, Mohamed El Amine Benkhelifa, Lounis Kessal, Fabrice Lemonnier, and Jimmy Lerhun. Enhacing reconfigurable platform programmability for synchronous dataflow applications.
ACM Transaction on Reconfigurable Technology and Systems (TRETS), 5(4),
December 2012.
[GMME10] G. Gogniat, D. Milojevic, A. Morawiec, and A. Erdogan, editors. SystemC
Multiprocessor RTOS model for services distribution on RTOS platforms, page
1—19. Springer, 2010.
[GMV08] Fakhreddine Ghaffari, Benoit Miramond, and Fran¸cois Verdier. Dynamic
adaptation of Hardware-Software scheduling for Reconfigurable System-onChip. In Proceedings of 19th IEEE/IFIP International Symposium on Rapid
´
System Prototyping (RSP), page 6, Monterey, CA, Etats-Unis,
June 2008.
[GMV09] Fakhreddine Ghaffari, Benoit Miramond, and Fran¸cois Verdier. Run-Time
HW/SW Scheduling of Data Flow Applications on Reconfigurable Architectures. Eurasip Journal on Embedded Systems (JES), 2009 :976296, 2009.
[Hen00] Patterson Hennessy. A quantitative approach. Prentice Hall, 2000.
[Hen04] Patterson Hennessy. Computer System Design. Prentice Hall, 2004.
[HMV07] Emmanuel Huck, Benoit Miramond, and Fran¸cois Verdier. A Modular SystemC RTOS Model for Embedded Services Exploration. In Proceedings of
Digital Architecture for Signal and Image Processing (DASIP), page 6, Grenoble, France, November 2007.
[HMV08] Emmanuel Huck, Benoit Miramond, and Fran¸cois Verdier. SystemC multiprocessor RTOS model for services distribution on MPSoC platforms. In
Proceedings of Conference on Design and Architectures for Signal and Image
Processing (DASIP), page 6, Bruxelles, Belgique, November 2008.
28
[KKG+ 12] Amel Khiar, Nicolas Knecht, Laurent Gantel, Soufyane Lkad, and Benoˆıt Miramond. Middleware based executive for embedded reconfigurable platforms.
In in IEEE Proceedings of Conference on Design and Architectures for Signal
and Image Processing (DASIP), page 6, october 2012.
[Lab92] Jean Labrosse. uC/OS-II, The Real-Time Kernel. R D Publications, 1992.
[Li03] Qing Li. Real-time concepts for embedded systems. CMP Books, 2003.
[Liu00] Jane W. S. Liu. Real-time systems. Prentice Hall, 2000.
[MCG10] Benoˆıt Miramond and Liliana Cucu-Grosjean. Generation of static tables in
embedded memory with dense scheduling. In IEEE Proceedings of Conference on Design and Architectures for Signal and Image Processing (DASIP),
page 6, France, October 2010.
[MHV+ 09] Benoit Miramond, Emmanuel Huck, Fran¸cois Verdier, Mohamed El Amine
Benkhelifa, Bertrand Granado, Mehdi Aichouch, Jean-Christophe Pr´evotet,
Daniel Chillet, S´ebastien Pillement, Thomas Lefebvre, and Yaset Oliva. OveRSoC : a Framework for the Exploration of RTOS for RSoC Platforms. Hindawi
International Journal on Reconfigurable Computing (JRC), 2009(11) :450607,
2009.
[Mir06] Benoˆıt Miramond. Technique de r´eduction d’ordonnancements hors-ligne pour
applications embarqu´ees a` contraintes temps r´eel. Revue Technique et Science
Informatiques (TSI), 25(7) :867, November 2006.
[MTS+ 04] Juan Manuel Moreno, Yann Thoma, Eduardo Sanchez, Oriol Torres, and
Gianluca Tempesti. Hardware realization of a bio-inspired poetic tissue. In
Evolvable Hardware, pages 237–244, 2004.
[PBG+ 08] Jean-Christophe Pr´evotet, Mohamed El Amine Benkhelifa, Bertrand Granado, Emmanuel Huck, Benoit Miramond, Fran¸cois Verdier, Daniel Chillet,
and S´ebastien Pillement. A Framework for the Exploration of RTOS Dedicated to the Management of Hardware Reconfigurable Resources. In International Conference on Reconfigurable Computing and FPGAs (ReConFig),
pages 61–66, Mexique, 2008.
[RFM11] Laurent Rodriguez, J´erˆome Fellus, and Benoˆıt Miramond. Self-organization of
reconfigurable processing elements during mobile robots missions. In Proceedings of the 6th International Workshop on Reconfigurable Communicationcentric Systems-on-Chip (ReCoSoC), pages 1–2, Montpellier, France, June
2011.
[RFM13] Laurent Rodriguez, Laurent Fiack, and Benoˆıt Miramond. A neural model
for hardware plasticity in artificial vision systems. In in IEEE Proceedings
of Conference on Digital Architectures for Image and Signal Processing (DASIP), page 8, octobre 2013.
[RMKG12] Laurent Rodriguez, Benoˆıt Miramond, Imen Kalboussi, and Bertrand Granado. Embodied computing : self adaptation in bio-inspired reconfigurable
architectures. In in proceedings of 19th Reconfigurable Architectures Workshop (RAW), page 6, june 2012.
[SB00] S. Sriram and S.S. Bhattacharyya. Embedded multiprocessors. Scheduling and
synchronization. Marcel Dekker, Inc., 2000.
29
[Tan01] Tanenbaum. Structured Computer Organization. Prentice Hall, 2001.
[VMM+ 08] Fran¸cois Verdier, Benoit Miramond, M. Maillard, Emmanuel Huck, and Thomas Lefebvre. Using High-Level RTOS Models for HW/SW Embedded Architecture Exploration : Case Study on Mobile Robotic Vision. Eurasip Journal
on Embedded Systems (JES), 2008 :349465, 2008.
30
Chapitre 2
Introduction et probl´
ematique
Concevoir un syst`eme embarqu´e est un m´etier, concevoir un syst`eme embarqu´e sous
contraintes temps r´eel un d´efi contre l’incertitude des lois qui r´egissent tout syst`eme complexe. Or, au rythme auquel avance la technologie, les futurs syst`emes devraient atteindre
un nouveau stade de complexit´e synonyme d’une intelligence embarqu´ee, telle que promise
par les m´edias et les grandes entreprises am´ericaines. Mais de tels syst`emes seront-ils encore con¸cus de la mˆeme mani`ere que ceux qui ´equipent aujourd’hui nos smartphones, nos
v´ehicules, nos transports, nos satellites... ? A partir d’une certaine complexit´e du syst`eme,
l’homme-concepteur est-il encore capable de pr´edire ? Ou bien une part de cette conception doit-elle revenir au syst`eme lui-mˆeme ? La nature nous a montr´e, avec l’´evolution,
une m´ethode de conception bien diff´erente de ce que nous avons pu entreprendre jusque
l`a. Peut-on s’en inspirer ?
Plus la technologie ´evolue, plus les syst`emes d’informations que nous concevons sont
´evolu´es et complexes. Ils tendent a` fournir des services de plus en plus ´evolu´es, se substituant parfois au travail de certains de nos organes d´efectueux (coeurs artificiels, implants
auditifs, suppl´eance visuelle ...) ou mˆeme aux tˆaches auparavant assur´ees par la main de
l’homme (chaˆınes de montage robotis´ees, pilotage de lignes de m´etro, aide au stationnement, ...).
Ces syst`emes sont encore loin d’exhiber des comportements intelligents, et pourtant
tous les indicateurs nous montrent que vivre en compagnie des robots (entit´e artificielle
synonyme d’intelligence dans l’imaginaire collectif) n’est plus qu’une question de quelques
ann´ees. Ainsi l’entreprise Glory au Japon exploite d´ej`a dans ses chaˆınes de montage des
robots humano¨ıdes de la soci´et´e Kawada qui travaillent en collaboration avec les autres
employ´es, humains. Outre les questions ´ethiques que l`event nos avanc´ees technologiques,
celle de l’intelligence a` venir de tels syst`emes se pose naturellement.
Aux horizons proches, que sont ceux des prochains d´efis soci´etaux annonc´es par l’ANR
ou par les programmes de recherche europ´eens, la question n’est certainement pas de savoir
si les syst`emes informatiques et m´echatroniques seront intelligents - ils ne nous serviraient
plus - mais bien de savoir quel degr´e d’autonomie on peut en attendre. Cette autonomie
est encore le degr´e acceptable d’intelligence que l’on s’autorise dans les diff´erentes tˆaches
d’assistance `a la personne, de traitement de l’information, des transports intelligents...
avant que ne se l`event les questions ´ethiques fondamentales de l’aboutissement de nos
disciplines.
Dans ce d´ebat trop rare, Jean-Paul Laumond s´epare le rˆole de l’ing´enieur de celui du
biologiste en s’appuyant sur un mythe Grec, celui d’Ephaistos 1 , fils d’H´era et de Zeus
1. Jean-Pau Laumond, La robotique : Une r´ecidive d’H´epha¨ıstos, 2012
31
qui fa¸conna Pandore, une statue d’argile a` laquelle Ath´ena prˆeta vie. A travers cette
image mythique, Laumond associe au biologiste le rˆole de Comprendre et a` l’ing´enieur
roboticien celui de Faire. Et finalement, d’apr`es Laumond, ”si faire n’est pas comprendre,
comprendre permet de faire”. Cette maxime est vou´e a` d´epasser le cadre de la robotique
pour se diffuser dans les diff´erentes sciences de l’ing´enieur. En effet, notre seule, mais
insatiable, source d’inspiration en terme d’autonomie restera toujours la nature et son
formidable curriculum.
Je formule donc le questionnement principal de ce document ainsi : ”Jusqu’o`
u l’ing´enieur sera-t-il capable de concevoir des syst`emes autonomes ou adaptatifs sans avoir a`
comprendre la v´eritable autonomie, celle du vivant ?” Et j’y discuterai de mani`ere transverse d’une intelligence embarqu´ee accessible par conception, ou par ´emergence.
2.1
Syst`
emes embarqu´
es, le difficile compromis entre
la conception et l’autonomie
Le paradigme de calcul de la machine de Turing a modifi´e en profondeur les capacit´es
d’innovation de nos soci´et´es, les habitudes et le raisonnement humain. Le prochain d´efi
de l’informatique est maintenant d’aider l’humain dans le d´eveloppement durable de ses
activit´es, de l’assister dans ses handicaps et de mieux le prot´eger au quotidien. La machine
originale de Von Neumann a d´epass´e le stade du simple calculateur pour ˆetre associ´e a` une
fonction toujours plus complexe. De ce fait le vieux terme ordinateur tend `a disparaˆıtre
pour ˆetre remplac´e par la d´esignation de l’objet qui l’entoure et du service qu’il apporte :
smartphone, GPS, robot, box (ADSL), tablette, pacemaker, drone, ... Mais tous restent
constitu´es d’une architecture de calcul int´egr´ee, de plus en plus souvent autonome.
Pour parvenir a` ces fonctions toujours plus intelligentes, la tendance dans les syst`emes
embarqu´es comme dans les autres syst`emes informatiques, est d’augmenter le nombre de
coeurs de calcul : de quelques coeurs en 2014 (dans les circuits FPGA qui nous int´eresserons dans la suite, Xilinx propose d´ej`a 2 coeurs ARM dans le Zynq 2 , et Altera en annonce
4 dans le futur Stratix10 3 ) vers plus de cinq cents d´ej`a annonc´es par Kalray 4 pour 2015.
Cependant, l’histoire combin´ee de la micro-´electronique et de l’informatique nous a appris
qu’il existe une grande diff´erence entre ce que la technologie nous permet de r´ealiser et ce
que nous pouvons en faire. La science de l’architecture des syst`emes de calcul cherche justement le bon compromis entre les capacit´es de traitement et la programmabilit´e, entre
ce qui doit ˆetre pr´evu a` la conception et ce qui doit ˆetre d´ecid´e `a l’ex´ecution, entre la
bonne partition entre le logiciel et le mat´eriel... Une forme nouvelle de s´election naturelle,
appliqu´ee aux syst`emes artificiels, fait ensuite le tri des solutions adapt´ees ou non a` une
large utilisation.
Le domaine qui nous int´eresse dans ce document est celui de l’´electronique embarqu´ee
temps r´eel. Dans ce secteur particulier, la recherche acad´emique explore les solutions qui
pourront `a la fois apporter une avanc´ee scientifique et qui resteront proches des consid´erations industrielles : le syst`eme est-il utilisable ? Les architectures parall`eles sur puce
ou MPSoC (Multi-Processor System-on-Chip) font donc partie des grands enjeux de ce
d´ebut de XXIe si`ecle pour l’industrie de l’embarqu´e 5 .
2.
3.
4.
5.
All Programmable SoC, http ://www.xilinx.com
Stratix 10 FPGAs and SoCs, http ://www.altera.com
MPPA, Many-core processors for embedding computing, http ://www.kalray.eu
les probl´ematiques sont diff´erentes dans l’informatique ”de bureau”
32
Ce document se positionne dans cette perspective et a pour objectif de pr´esenter les
probl´ematiques que j’ai d´evelopp´ees `a titre individuel durant mes ann´ees de recherche a`
l’universit´e de Cergy-Pontoise. Je m’appuierai sur ces travaux pour questionner, sous la
forme d’une progression entre les chapitres, les d´efis qui me semblent majeurs dans ma
discipline :
– Quel sera donc l’avenir du calculateur multicoeur actuel ?
– Dans les secteurs les plus critiques de l’´electronique embarqu´ee, ce parall´elisme restet-il compatible avec les contraintes temps r´eel ?
– Peut-on encore conserver une id´ee de d´eterminisme et de pr´edictibilit´e sur un syst`eme de plus d’un milliard de transistors ?
– A ce stade de complexit´e, quels compromis s’offrent a` l’architecte et au concepteur
entre ce qu’il peut encore d´eterminer hors-ligne et ce qui doit ˆetre g´er´e a` l’ex´ecution
par le syst`eme lui-mˆeme ?
– A partir de quel seuil, le nombre croissant d’unit´es de calcul parall`eles appelle-t-il
un changement profond dans le paradigme mˆeme du calcul ?
– Peut-on s’inspirer des capacit´es d’auto-organisation des syst`emes de calcul naturel
pour faire face a` cette augmentation de complexit´e structurelle ?
Je discuterai de cette progression dans les 5 chapitres scientifiques qui composent ce
document. Les th`emes de ces chapitres ainsi que la progression de ma probl´ematique
g´en´erale sont pr´esent´es dans la section 2.3.2.
2.2
Mod`
eles de programmation des architectures parall`
eles
L’ex´ecution d’une application multi-tˆaches sur une architecture multiprocesseur suit
un mod`ele particulier de programmation. Un mod`ele de programmation parall`ele a pour
objectif d’abstraire l’architecture pour faciliter le d´eploiement des algorithmes de l’application. Il sp´ecifie pour cela la granularit´e des traitements `a parall´eliser, le type de
parall´elisme, ainsi que la s´emantique des communications entre chaque traitement.
J’introduis dans cette section ces notions fondamentales a` la suite du document et je propose un cadre g´en´erique permettant de mieux positionner et comparer mes apports au fil
du document.
Les deux principaux mod`eles de programmation parall`eles qui sont traditionnellement
employ´es dans les architectures multiprocesseur (figure 2.1) sont le mod`ele `a m´emoire
partag´ee et le mod`ele par passage de messages. En suivant le mod`ele a` m´emoire partag´ee
C
C
C
C
C
C
C
M
partagée
C
C
a)
C
C
C
M
M
M
M
M
M
M
M
M
M
C
C
C
C
C
C
C
C
C
C
C
C
M
M
M
partagée
C
C
C
C
C
C
C
C
M
M
M
M
M
M
M
M
b)
c)
C Noeud de calcul
M Mémoire
Interconnect
Figure 2.1: Architecture de communication par (a) M´emoire partag´ee, (b) Passage de messages,
(c) Distribu´ee et hybride
33
les diff´erentes portions de l’application communiquent au moyen de lectures et ´ecritures
dans des variables partag´ees. Les traitements r´epartis sur les processeurs utilisent donc un
mˆeme espace d’adressage. Et puisque les adresses m´emoire sont partag´ees, des m´ecanismes
sp´ecifiques de synchronisation doivent autoriser et contrˆoler l’unicit´e de l’´ecriture, pour
garantir la consistance m´emoire. Son inconv´enient majeur est que ce mod`ele d’architecture
supporte difficilement la mise a` l’echelle.
Avec le mod`ele par passage de messages, les diff´erentes parties d’une application communiquent en s’envoyant et en recevant des messages. De ce fait, les diff´erents processeurs
peuvent avoir des espaces m´emoire totalement priv´es. De plus, cela permet de relˆacher
le couplage entre l’´emetteur et le r´ecepteur, en utilisant un m´ecanisme de bufferisation
autorisant a` produire plus vite que les donn´ees ne sont lues/utilis´ees par exemple.
Les deux mod`eles peuvent ´egalement ˆetre combin´es. Dans les architectures que je viserai (figure 2.2), chaque nœud de calcul peut avoir sa propre m´emoire locale, consid´er´ee
comme priv´ee et disposer d’une m´emoire globale partag´ee qui lui sert a` ´echanger des
informations de donn´ee ou de contrˆole avec les autres nœuds de l’architecture. Cette arDomaine 1
Domaine 2
DMA
PE
K
LMEM
NI
Domaine 3
DMA
PE
K
Domaine N
DMA
PE
K
LMEM
NI
DMA
PE
K
LMEM
NI
LMEM
NI
NoC
SMEM
K
K représente l’ajout
logiciel ou matériel
spécifique
à chaque chapitre
Figure 2.2: Caract´eristiques g´en´erales des architectures MPSoC vis´ees dans ce document. Dans
le cas d’un domaine logiciel, le PE est un processeur, dans le cas d’un domaine mat´eriel, le PE
est un bloc d´edi´e fig´e ou reconfigurable. D´efinition des acronymes : PE : Processing Element,
LMEM : Local Memory, SMEM : Shared Memory, K : l’ajout sp´ecifique pr´esent´e dans chaque
chapitre, DMA : Direct Memory Access, NI : Network Interface, NoC Network-on-Chip
chitecture, repr´esent´ee dans la figure 2.2, sert de cadre g´en´erique a` la pr´esentation de
mes travaux. J’essaierai de m’appuyer sur ce patron d’architecture multiprocesseur pour
positionner et comparer mes apports au fil du document. Cette architecture g´en´erale est
compos´ee d’un certain nombre de tuiles de calcul appartenant soit a` un domaine logiciel, soit `a un domaine mat´eriel. Dans le premier cas, le Processeur Elementaire (PE)
repr´esente un processeur programmable, dans le second cas, il repr´esente un acc´el´erateur
mat´eriel d´edi´e. Ce PE peut acc´eder a` sa m´emoire locale (LMEM), qui peut ˆetre publique
ou priv´ee, par l’interm´ediaire d’un bus local. Les tuiles peuvent communiquer directement
ou en passant par la m´emoire partag´ee. Dans tous les cas, les communications passent par
un r´eseau sur puce (NoC) et en programmant un DMA. L’´el´ement discriminant apparaˆıt
sous la d´esignation K dans la figure 2.2. Il d´esigne la m´ethode propos´ee dans chaque chapitre pour faciliter la programmation d’un type particulier d’architecture parall`ele. Cet
´el´ement pourra ˆetre impl´ement´e en logiciel ou en mat´eriel selon les cas.
34
Les sigles utilis´es dans le document sont d´efinis dans le glossaire page xi.
2.3
2.3.1
Plan et organisation du m´
emoire
Plan du m´
emoire
La partie scientifique du m´emoire est organis´ee en 5 chapitres, eux-mˆemes regroup´es
en deux grandes parties.
Premi`
ere partie
La premi`ere partie intitul´ee Contributions aux ex´
ecutifs embarqu´
es multiprocesseurs d´ecrit mes travaux de recherche r´ealis´es depuis mon recrutement en temps que
Maˆıtre de Conf´erences a` l’universit´e de Cergy-Pontoise de 2005 jusqu’`a 2011. Durant
cette p´eriode, je me suis int´eress´e `a prolonger mes travaux de postdoctorat sur la programmation temps r´eel des architectures multicoeurs. En partant d’un cadre temps r´eel
stricte, je montrerai comment et pourquoi j’en suis arriv´e `a relˆacher progressivement la
contrainte de pr´edictibilit´e au fur et `a mesure que les architectures devenaient de plus en
parall`eles.
Les trois chapitres de la premi`ere partie sont intitul´es :
Chapitre 3 - Ordonnancement statique dans les syst`
emes temps r´
eel (p. 41),
Chapitre 4 - Mod´
elisation d’ex´
ecutif temps r´
eel pour les architectures multiprocesseurs sur puce (p. 47),
Chapitre 5 - Programmation flot de donn´
ees d’architectures multiprocesseurs reconfigurables (p. 57).
Sur cette p´eriode de recherche de 6 ans, j’ai encadr´e 3 th`eses (dont 2 soutenues) et
publi´e dans 6 revues, 1 chapitre de livre et 8 conf´erences. Les doctorants ayant travaill´e
avec moi sur ces th`emes sont Emmanuel Huck, Thomas Lefebvre et Amel Khiar. Les sujets
et les sources de financement de ces th`eses sont pr´ecis´es dans mon dossier personnel page
18 et sont r´esum´es dans le tableau 2.1.
Deuxi`
eme partie
La seconde partie intitul´ee Architectures bio-inspir´
ees, vers des paradigmes de
calcul neuromorphiques d´ecrit mes travaux de recherche r´ealis´es depuis le d´ebut de
mon projet ANR Jeune Chercheur en 2011. Ce projet marque un tournant dans mon
travail de recherche puisque c’est grˆace a` ce financement que j’ai pu aborder la probl´ematique du parall´elisme autrement, en cherchant dans les syst`emes biologiques une source
d’inspiration. Je montrerai au travers de ces chapitres que l’auto-organisation peut aussi
se d´ecliner dans le domaine des architectures micro-´electroniques. Je positionnerai pour
cela le rˆole du calculateur autrement ; non plus comme un composant interchangeable,
mais comme un organe unique int´egrant une partie de la m´emoire (de l’exp´erience) du
syst`eme. Pour cela, le calcul devient incarn´e (embodied computing) et le calculateur devient neuronal, il fait donc partie int´egrante du syst`eme.
Les deux chapitres de la seconde partie sont intitul´es :
35
Chapitre 6 - Conception d’un syst`
eme de vision artificielle sur puce (p. 67),
Chapitre 7 - Auto-organisation dans les architectures de traitement massivement parall`
eles (p. 75)
Chapitre
P´
eriode /
Financement
2000-2003
Statut
Th`ese
UEVE
Postdoc
+ McF
UCP
Chapitre 3
p.41
2003-2007
Chapitre 4
p.47
2005-2009
BDI
+ANR
+FUI
McF
UCP
Chapitre 5
p.57
2008-2011
ANR
McF
UCP
Chapitre 6
p.67
2009-2014
ED
+CACP
2011-2014
ANR
+CACP
McF
UCP
Chapitre 7
p.75
McF
UCP
Apport
personnel
Recuit simul´e
adaptatif
M´ethode de
l’ordonnancement
dense
section 3.1
Mod`ele d’OS
distribu´e et
m´ethodologie
de raffinement
associ´ee
section 4.1
M´ethodologie
de gestion des
communications
section 5.2
Architecture de
la Smart cam´era
section 6.1
Principe de
Plasticit´e
mat´erielle
section 7.1
Projets
Applications
Architectures
MPSoC
Jeux de
tˆaches
synth´etiques
MPSoC
OveRSoC
Teraops
Vision
attentionnelle
MPSoC
+ TeraOps
FOSFOR
Tracking
(Camshift)
MPSoC
reconfigurable
RobotSoC
Robotique
mobile
Chaˆıne de
convolutions
SATURN
Robotique
mobile
Neuro
processeur
parall`ele
Table 2.1: Synth`ese chronologique des travaux r´ealis´es de la th`ese jusqu’`
a nos jours. Les financements de ces travaux proviennent de contrats industriels (BDI), des projets ANR OveRSoC,
FOSFOR et SATURN, du Fond Unique Inter-minist´eriel (FUI) pour le projet Teraops, de l’Ecole
Doctorale (ED) de l’Universit´e de Cergy-Pontoise (UCP), et de la Communaut´e d’Agglom´eration de Cergy-Pontoise (CACP) pour le projet RobotSoC. La colonne Apport Personnel met en
avant ma contribution sp´ecifique et fait r´ef´erence `
a la section illustrant cet apport principal.
Sur cette p´eriode de recherche de 3 ans qui continue aujourd’hui en 2014, j’encadre encore
2 th`eses et j’ai publi´e dans 2 revues (une en cours de r´evision) et 4 conf´erences (une en
cours de soumission). Les doctorants ayant travaill´e avec moi sur ces th`emes sont Laurent
Rodriguez et Laurent Fiack. Les sujets et les sources de financements de ces th`eses sont
pr´ecis´es dans mon dossier personnel page 18 et sont r´esum´es dans le tableau 2.1.
2.3.2
Organisation du m´
emoire
Cinq points importants doivent ˆetre mentionn´es sur l’organisation du manuscrit.
Premi`erement, chacun de mes chapitres dispose de son introduction et de sa conclusion
propres, qui ont pour objectif `a la fois d’introduire le contexte et de dresser un bilan de
chaque chapitre, mais aussi de cr´eer la progression globale discut´ee dans la section 2.1.
Deuxi`emement, je propose au lecteur deux versions du document : une version
courte et une version ´etendue. La version courte a pour objectif de se focaliser sur ma
36
progression et limite de ce fait la description de chaque chapitre `a une section (en plus
de l’introduction et de la conclusion) qui pr´esente la contribution principale du th`eme
abord´e. La version ´
etendue s’adresse aux sp´ecialistes qui souhaiteraient obtenir plus
de d´etails sur un ou plusieurs sujets trait´es dans chaque chapitre. La version courte est
uniquement compos´ee d’un sous-ensemble des sections de la version ´etendue et n’ajoute
aucune information.
Troisi`emement, trois modes de lectures sont ainsi propos´es :
– la vue d’ensemble. Ce mode s’appuie sur une lecture de la version courte du
document selon l’ordre propos´e des chapitres. Il permet rapidement d’avoir `a la fois
une vue d’ensemble de mes activit´es pass´ees et de suivre la progression qui m’am`ene
a` d´efendre les id´ees pr´esent´ees en section 2.1.
– la lecture en profondeur. Ce mode s’appuie sur une s´election (par le lecteur) de
chapitres `a lire dans la version ´etendue du document.
– le mode complet. Ce mode propose une lecture en profondeur de chaque chapitre
dans l’ordre propos´e. Je fait remarquer que les th`emes abord´es dans le document
appartiennent a` des domaines souvent disjoints.
Dans tous les cas, je pr´econise de commencer par une lecture de vue d’ensemble avant
de s’engager dans une lecture en profondeur. Les lectures en profondeur rentrent dans de
nombreux d´etails techniques et s’adressent de ce fait plutˆot aux sp´ecialistes.
Quatri`emement, en d´ebut de chaque chapitre, j’essaie de synth´etiser mes contributions a` travers un tableau r´ecapitulatif indiquant la contribution majeure qui y est
d´evelopp´ee, les caract´eristiques de l’architecture de traitement vis´ee, la nature du compl´ement K de la figure 2.2, la section d´ecrivant mon apport personnel principal et les
publications r´ealis´ees. Ce tableau est organis´e de la mani`ere suivante :
Contribution
majeure
Intitul´e
de la
contribution
Architecture
vis´
ee
multi-processeur
Compl´
ement
K
compl´ement
logiciel
ou
mat´eriel
Apport
personnel
section X
du chapitre
courant
Publications
correspondantes
Revues (R.) [Mir13]
Chapitre de Livre (L.) [Mir09]
Conf´erence (C.) [Mir11]
Th`eses (T.) [PhD10]
Enfin, chaque chapitre se termine par une section intitul´ee une recherche en ´
equipe.
En effet, le travail de recherche se fait rarement seul. Entre les encadrements de th`eses
ou de postdocs, les collaborations avec les membres du laboratoire ou les collaborations
ext´erieures au laboratoire, la recherche s’enrichit des discussions, des d´ebats et des avis
personnels.
La recherche est aussi faite de petites choses qui, mises bout a` bout, conduisent a` des
avanc´ees int´eressantes.
Cette section me permet de citer les personnes qui ont contribu´e `a ces travaux durant ces
ann´ees de recherche pass´ees au laboratoire ETIS et me conduit a` opter pour une r´edaction
de la suite de ce document `a la premi`ere personnel du pluriel plutˆot qu’`a celle du singulier.
37
38
Partie 1 : Contributions aux
ex´
ecutifs embarqu´
es
multiprocesseurs
39
Chapitre 3
Ordonnancement statique dans les
syst`
emes temps r´
eel
Dans le contexte sp´ecifique des syst`emes embarqu´es temps r´eel, la probl´ematique principale `a laquelle doit faire face l’architecte est de rendre son syst`eme pr´edictif et d´eterministe. En effet, il ne lui suffit pas de pouvoir rendre ses algorithmes et leur ex´ecution
stable dans le temps de mani`ere fonctionnelle et temporelle, il lui faut encore pr´evoir `a
l’avance leur temps d’ex´ecution. Dans bien des cas de syst`emes temps r´eel durs, comme
celui qui sera discut´e dans ce chapitre, a` d´efaut de pouvoir pr´evoir, l’architecte pr´ef`ere
imposer.
La technique la plus sˆ
ure pour assurer un d´eterminisme temporel est appel´ee clock-driven
ou time-driven scheduling [Liu00]. L’ex´ecutif qui supporte cette m´ethode se base sur un
s´equenceur de tˆaches dont les dates de lancement sont impos´ees par une table g´en´er´ee
hors-ligne en fonction des contraintes applicatives.
Le domaine qui nous int´eresse ici correspond aux syst`emes embarqu´es de contrˆole critiques (automobile, avionique, robotique industrielle...). Ces syst`emes sont compos´es de
divers capteurs et actionneurs ´echantillonn´es chacun `a des taux diff´erents, et les tˆaches
applicatives associ´ees sont alors soumises a` une contrainte d’ex´ecution p´eriodique. La
th´eorie de l’ordonnancement temps r´eel associe a` ces syst`emes dits multi-rate la notion
d’hyper-p´eriode. Cette grandeur, qui comme nous le verrons, d´efinit la p´eriode minimale
d’ordonnancement d’un tel syst`eme, est un facteur majeur de complexit´e `a la fois pour la
validation (par simulation) de politiques d’ordonnancement, mais aussi et surtout pour la
g´en´eration des tables embarqu´ees associ´ees, dans notre contexte hors-ligne.
Nous discuterons dans ce chapitre d’une m´ethode de compression de ces tables ainsi que
d’un flot de g´en´eration automatique de l’ordonnanceur mat´eriel associ´e. L’objectif est ici
de minimiser la taille de la m´emoire embarqu´ee contenant les tables d’ordonnancement
d´efinies `a la compilation sans surcoˆ
ut de temps d’ex´ecution en-ligne. Cette m´ethode exploite les temps Idle dans les syst`emes multiprocesseurs sur puce (MPSoC) pour identifier
au sein d’une table d’ordonnancement des motifs cycliques appel´es les ordonnancements
denses. En appliquant cette m´ethode a` nos cas d’´etudes, nous obtenons des tables dont
l’empreinte est r´eduite d’un facteur proche de 90% tout en garantissant une ex´ecution
temps r´eel grˆace a` un ordonnanceur cabl´e prototyp´e sur FPGA.
Nous discutons tout d’abord de l’int´erˆet des techniques d’ordonnancement hors-ligne
dans le contexte temps-r´eel. Nous y illustrons le probl`eme de la taille des tables g´en´er´ees
par les techniques existantes dans la litt´erature. Cette grandeur apparaˆıt comme une limite computationnelle a` leur implantation au sein de syst`emes embarqu´es. Nous d´ecrivons
ensuite la m´ethode consistant `a d´eterminer ce motif de taille minimale, appel´e ordonnan41
cement dense, a` r´ep´eter ind´efiniment et permettant de toujours respecter les contraintes
p´eriodiques de l’application. A la suite de cette ´etape vient celle de la validation du motif
trouv´e et de la g´en´eration d’une proc´edure de correction en-ligne des impr´ecisions engendr´ees par la compression. Finalement, nous pr´esentons les r´esultats exp´erimentaux de
notre m´ethode lorsqu’elle est d´eploy´ee sur SoC et nous concluons ce chapitre.
Contribution
majeure
M´ethode de g´en´eration
d’ordonnanceurs
statiques mat´eriels
Architecture
vis´
ee
SoC
multi-processeur
Compl´
ement
K
Ordonnanceur
cabl´e
Apport
personnel
section 3.1
Publications
correspondantes
R. [Mir06]
C. [MCG10]
Table 3.1: R´esum´e des principales contributions du chapitre 3.
3.1
Introduction `
a l’ordonnancement dense
L’ordonnancement dense se base sur des tables d’activation de tˆaches dont les dates ont
´et´e modifi´ees artificiellement pour condenser l’ordonnancement dans un motif r´ep´etitif de
taille r´eduite. Notre approche assure pourtant que les contraintes d’ordonnancement d’origine du syst`eme soient respect´ees. Puisque le motif est r´ep´et´e bout-`a-bout, la proc´edure
de g´en´eration de tables doit respecter les contraintes suivantes :
(C1 ) la taille du motif doit ˆetre un diviseur de l’hyper-p´eriode H,
(C2 ) durant la r´ep´etition infinie du motif, pour chaque tˆache Ti , toutes les p´eriodes
de temps pi doivent contenir au moins ci plages qui lui sont r´eserv´ees.
Dans la plupart des cas, pour compacter l’information, le nombre de plages r´eserv´ees par
p´eriode est sup´erieur `a ci . Dans ce cas, une fois la table g´en´er´ee hors-ligne, le syst`eme
doit en contrepartie d´eterminer a` l’ex´ecution un sous-ensemble d’entr´ees dans la table (de
taille ci ) n´ecessaire `a l’ex´ecution v´eritable de chaque processus dans sa p´eriode . Cette
d´ecision simple (comptage) peut-ˆetre prise au d´ebut de chaque r´ep´etition du motif 1 , permettant ainsi de prendre le minimum de d´ecisions en-ligne tout en pr´eservant la capacit´e
de pr´ediction.
Algorithme 1: Algorithme g´en´eral de l’approche
minSchedule(){
(1) CalculdOrdonnancabilit´e()
(2) q = minTable() //calcul du vecteur de r´ep´etition minimum
(3) tronquerlOrdonnancement(q)
(4) Si l’ordonnancement reste valide apr`es compression
alors passer en (5)
sinon r´e-ordonnancer le motif
(5) allouerTableR´eservation()
}
L’objectif de ce chapitre est donc d’apporter une technique de g´en´eration de tables
d’ordonnancement temps-r´eel hors-ligne de tailles r´eduites par rapport a` celles qui sont
habituellement d´etermin´ees sur l’hyper-p´eriode. Cette approche consid`ere notamment des
syst`emes multi-fr´equences (multirate) s’ex´ecutant sur des plate-formes multiprocesseurs
1. Similairement aux d´ecisions prises en d´ebut de frames dans l’ordonnancement clock-driven[BS88]
42
homog`enes a` m´emoire partag´ee. Elle prend en entr´ee trois types d’informations : une description de l’application (dur´ees, p´eriodes, ´ech´eances), une description de l’architecture du
syst`eme consid´er´e et enfin les informations relatives a` l’ordonnancement que l’on cherche
a` optimiser pour l’implanter dans l’architecture. Notre approche r´ealise ensuite l’optimisation de taille de tables correspondant aux ordonnancements d’entr´ee et g´en`ere a` la fois
le contenu de la m´emoire embarqu´ee et le s´equenceur mat´eriel qui sera responsable de
la lecture en temps r´eel de cette table. Le principe g´en´eral de la m´ethode et du flot de
g´en´eration de ces tables denses est sch´ematis´e dans la figure 3.1.
Figure 3.1: La technique d’ordonnancement dense part du r´esultat d’un ordonnancement et
g´en`ere une table embarqu´ee compress´ee (a) ainsi qu’un s´equenceur mat´eriel d´ecompressant la
table `
a l’ex´ecution (b). Issu de [Mir06]
L’organisation de ce chapitre suit les ´etapes de l’algorithme g´en´eral de notre approche
(Algorithme 1). Nous construisons tout d’abord la description de l’application et v´erifions
son ordonnancabilit´e (´etape 1). Cette description sert de support a` l’´elaboration de l’heuristique minTable() qui d´etermine les caract´eristiques du motif r´ep´etitif qui correspond `a
la table d’ordonnancement r´eduite. La taille de ce motif ainsi que le nombre d’invocations
de chaque tˆache a` l’int´erieur du motif (que nous notons q) sont alors connus (´etape 2).
L’ordonnancement initial d’entr´ee est ensuite tronqu´e sur la longueur du motif trouv´e (3)
de mani`ere `a ˆetre test´e (´etape 4). La table embarqu´ee est enfin g´en´er´ee avec sa proc´edure de correction (´etape 5) sous forme d’un s´equenceur mat´eriel coupl´e aux processeurs
(comme on peut le voir sur la figure 3.1).
3.2
Conclusion
Nous avons pr´esent´e dans ce chapitre une technique de g´en´eration de tables d’ordonnancements cycliques dont la taille permet des gains d’espace m´emoire de 90 % en
moyenne dans la plupart des cas par rapport a` l’hyper-p´eriode.
43
Les contraintes de g´en´eration de ces tables ont ´et´e d´efinies afin qu’elles respectent
les contraintes de p´eriode des tˆaches d’une application temps-r´eel au cours de ces r´ep´etitions. Pour d´eterminer ces tables notre m´ethode est d´ecoup´ee en 3 ´etapes principales. La
premi`ere d´etermine les caract´eristiques du motif a` r´ep´eter. La seconde construit un s´equencement imposant explicitement les contraintes de p´eriodes et d’´ech´eances des tˆaches
invoqu´ees au sein du motif. La troisi`eme ´etape g´en`ere et int`egre la table correspondante
et son s´equenceur mat´eriel dans l’architecture cible.
Ce type d’ordonnancement par table est utilisable dans les syst`emes o`
u les estim´es de
temps au pire cas sont fiables et permettent donc une analyse d´eterministe du comportement du syst`eme.
Table 3.2: R´esum´e des principales caract´eristiques de la m´ethode pr´esent´ee dans le chapitre 3.
M´
ethode
Architecture
Contraintes
Mod`
ele
cible
applicatives
de tˆ
aches
Ordonnancement multi-processeur temps r´eel dur
p´eriodiques
statique dense
homog`ene
ind´ependantes
Cas de test
jeux de tˆaches
synth´etiques
Si cette m´ethode apporte des r´esultats int´eressants dans ce contexte, elle connaˆıt encore
un certain nombre de limites.
En premier lieu, le cas multiprocesseur reste aujourd’hui simplifi´e. Premi`erement, notre
approche ne remet pas en cause l’affectation d’origine des tˆaches aux processeurs. La
remise en cause de l’affectation pourrait conduire `a trouver des solutions denses dans
les cas actuellement non faisables. Deuxi`emement, l’hypoth`ese de tˆaches ind´ependantes
(et donc d’absence de communications) devient difficile a` admettre dans une architecture
multi-processeur `a m´emoire partag´ee. Une des extensions principale a` consid´erer consiste
donc a` travailler sur des tˆaches li´ees par des d´ependances de donn´ees. Cette extension l`eve
un certain nombre de questions non-triviales comme
– Peut-on obtenir de mani`ere fiable des temps de communication au pire cas (WCCT 2 )
sur une architecture a` m´emoire partag´ee sans tester toutes les configurations d’affectation/ordonnancement de tˆaches ?
– Dans le cas de d´ependances locales (sur le mˆeme processeur), comment tenir compte
de cette contrainte suppl´ementaire, alors que le motif dense est d´ej`a plus contraint
que les probl`emes d’ordonnancement classiques ? La m´ethode doit alors int´egrer les
temps de communication pour modifier notre contrainte de pr´ec´edence.
– Dans le cas de d´ependances globales (entre processeurs), la m´ethode de r´eduction de
table doit ˆetre totalement remani´ee pour consid´erer l’ensemble des tˆaches sur tous
les processeurs et non plus processeur par processeur.
En deuxi`eme lieu, quelques ´etudes plus pouss´ees pourraient ˆetre men´ees :
– La prise en compte de tˆaches moins critiques (tˆaches sporadiques) durant les temps
Idle de l’application apporterait plus de flexibilit´e `a cette approche. Nous avons montr´e qu’`a l’ex´ecution notre m´ethode de correction permettait de revenir `a l’utilisation
initiale de chacun des processeur. Durant les temps Idle de chaque processeur, une
routine d’ordonnancement en-ligne pourrait alors d´ecider de l’ex´ecution de tˆaches
sporadiques. Une large bibliographie serait alors a` notre disposition sur ce sujet
pour ´etendre la m´ethode. Une contribution originale serait de consid´erer l’associa2. Worst Case Communication Time
44
tion d’un RTOS classique et de notre s´equenceur mat´eriel. On retrouverait alors une
association proche de celle des hyperviseurs logiciels, comme Adeos [Yag01] pour la
version temps r´eel de Linux [Xen], mais avec tous les avantages d’un s´equenceur
d´eport´e et mat´eriel.
– L’am´elioration de l’algorithme de r´e-ordonnancement serait int´eressante voire in´evitable pour consid´erer les questions soulev´ees dans le paragraphe pr´ec´edent.
– Enfin, l’utilisation de notre approche sur une application r´eelle permettrait d´efinitivement de conclure sur l’utilisabilit´e et le gain de cette m´ethode.
– Nous noterons que mˆeme si cette option n’a pas ´et´e explor´ee dans ce pr´esent travail, cette m´ethode pourrait s’appliquer au cas de tˆaches compl`etement mat´erielles,
comme celles qui seront pr´esent´ees dans le chapitre 5.
Ces travaux futurs sont des ´etapes indispensables pour rendre l’ordonnancement dense
applicable sans restrictions (mod`ele de tˆaches, architecture multiprocesseur). Telles que
ces ´etapes sont pr´evues aujourd’hui, elles ne correspondent pas `a des probl`emes insolubles
qui pourraient remettre en cause la possibilit´e de m´ethodes temps r´eel statiques dans les
architectures massivement parall`eles annonc´ees dans un horizon proche dans l’embarqu´e.
Le verrou le plus difficile a` lever semble plutˆot provenir de la pr´edictibilit´e des temps de
calcul et des temps de communication (wcet et wcct). Ceux-ci se basent aujourd’hui sur un
travail de profiling pr´ealable `a la conception de l’ex´ecutif. Or dans un contexte multiprocesseur, la variabilit´e de ces mesures d´epend en grande partie des d´ecisions d’affectation
et d’ordonnancement des tˆaches.
C’est pour tenter de r´epondre a` cette probl´ematique que nous pr´esenterons dans le
chapitre suivant une m´ethode de mod´elisation de haut-niveau d’OS et de leur ordonnanceur qui permet d’explorer rapidement des solutions de d´eploiement d’applications sur des
architectures multi-processeurs. Les effets combin´es des d´ecisions d’affectation et d’ordonnancement peuvent y ˆetre test´es par simulation. Et les estimations de performance qui
r´esultent de la simulation peuvent en retour alimenter les strat´egies d’ordonnancement
pour affiner la pr´edictibilit´e du comportement.
Une recherche en ´
equipe
Stages encadr´
es
1. 2005-2006, Samir Koualed, Ordonnanceur hi´erarchique pour architecture multiprocesseur sur puce, Master Recherche SIC
2. 2006-2007, Baptiste Monzain, Ordonnancement temps r´eel hors-ligne a` occupation
m´emoire optimis´ee, Master Recherche ESA
Publications principales 3
[Mir06] Generation of static tables in embedded memory with dense scheduling, B.
Miramond, L. Cucu-Grosjean, in IEEE Proceedings of Conference on Design and
Architectures for Signal and Image Processing (DASIP), 6 pages, 2010.
[MCG10] Technique d’ordonnancement hors-ligne pour applications embarqu´es `a contraintes
temps r´eel, B. Miramond, Technique et Sciences Informatiques, N. 25, V. 7, 2006.
3. D´etails page 24
45
Projets et collaborations 4
1. L. Cucu-Grosjean, INRIA AOSTE, Paris-Rocquencourt.
Bibliographie
[BS88] T.P. Baker and A. Shaw. The cyclic executive model and ada. In Proceedings
of IEEE Real-time systems symposium, pages 120–129, 1988.
[Liu00] Jane W. S. W. Liu. Clock-driven scheduling, chapter 5. Prentice Hall PTR,
Upper Saddle River, NJ, USA, 1st edition, 2000.
[MCG10] Benoˆıt Miramond and Liliana Cucu-Grosjean. Generation of static tables in
embedded memory with dense scheduling. In IEEE Proceedings of Conference
on Design and Architectures for Signal and Image Processing (DASIP), page 6,
France, October 2010.
[Mir06] Benoˆıt Miramond. Technique de r´eduction d’ordonnancements hors-ligne pour
applications embarqu´ees a` contraintes temps r´eel. Revue Technique et Science
Informatiques (TSI), 25(7) :867, November 2006.
[Xen] http ://www.xenomai.org.
[Yag01] Karim Yaghmour. Adaptive domain environment for operating systems, 2001.
4. D´etails page 15
46
Chapitre 4
Mod´
elisation d’ex´
ecutif temps r´
eel
pour les architectures
multiprocesseurs sur puce
Depuis la fin des ann´ees 90, l’augmentation croissante de l’int´egration des technologies
VLSI a relanc´e la probl´ematique scientifique du parall´elisme. Initialement r´eserv´ees aux
super-calculateurs, les architectures num´eriques parall`eles ont alors ´equip´e les serveurs, les
stations de travail, puis les ordinateurs personnels et aujourd’hui les syst`emes embarqu´es
industriels sous la forme de syst`emes multiprocesseurs sur puce (MPSoC).
Avec ses promesses de performances, ce parall´elisme de tˆaches [Fly72] apporte ´egalement
des probl´ematiques suppl´ementaires au concepteur. Parmi elles, la premi`ere consiste a`
d´ecider des portions de l’application a` parall´eliser. On retrouve a` nouveau dans cette probl´ematique d’affectation la dichotomie statique/dynamique discut´e au chapitre pr´ec´edent,
selon le secteur d’application vis´e.
La seconde tient au d´eterminisme du comportement fonctionnel et des temps d’ex´ecution.
Or, l’informatique embarqu´ee, qu’elle soit d´eploy´ee dans un cadre temps r´eel dur ou mou,
a pour mission de concevoir des syst`emes ´electroniques autonomes, enfouis au sein d’un
syst`eme plus complexe, et qui ne peuvent donc supporter ni retard, ni mise a` jour pour
remplir correctement leur fonction. Cependant, si la parall´elisation est souvent synonyme
d’acc´el´eration, elle intervient ´egalement comme un nouveau facteur d’ind´eterminisme dans
la pr´ediction des futures performances du syst`eme MPSoC (hi´erarchie m´emoire, coh´erence
de caches, ressources partag´ees, contentions de communication...).
Face a` ces probl´ematiques, la conception de syst`emes embarqu´es, `a base de syst`emes
multiprocesseurs sur puce (MPSoC), n’a donc d’autres choix que i) soit de r´eduire l’architecture aux ´el´ements les plus simples pour r´eduire l’ind´eterminisme (au d´etriment de la
facilit´e de programmation), ii) soit de recourir a` des ´etapes pr´ealables de simulation pour
s’assurer du respect des contraintes applicatives. Apr`es avoir ´etudi´e la premi`ere option
dans le chapitre 3, nous nous int´eressons maintenant `a la seconde.
Le point essentiel qu’il convient alors de discuter, pour envisager une m´ethode qui s’applique aussi bien aux syst`emes MPSoC actuels qu’aux architectures many-core futures,
correspond au compromis entre pr´ecision des estimations de performance et temps de simulation. Notre contribution consiste a` utiliser une mod´elisation de haut-niveau centr´ee
sur l’ex´ecutif ; composant responsable des d´ecisions d’ordonnancement et d’affectation de
tˆaches, son influence sur les performance est incontestable.
Nous proposons pour cela d’appuyer la simulation sur un mod`ele SystemC original d’ex´ecutif (on parlera ´egalement d’OS 1 dans la suite du chapitre), distribu´e sur les diff´erents
1. Operating System
47
noeuds de calcul de l’architecture embarqu´ee. Ce mod`ele est modulaire et permet donc au
concepteur de tester l’influence de diff´erentes strat´egies d’ex´ecutif (en-ligne ou hors-ligne)
sur le respect des contraintes, de mani`ere `a explorer l’espace des solutions architecturales.
Ce mod`ele est abstrait et permet donc de mod´eliser des ex´ecutifs logiciels ou mat´eriels
pour le s´equencement de tˆaches s’ex´ecutant soit sur des processeurs, soit sur des zones
reconfigurables. Enfin ce mod`ele travaille a` un niveau transactionnel et se simule comme
une sp´ecification ex´ecutable du syst`eme complet, ce qui autorise `a explorer rapidement
diff´erentes d´ecisions de conception, aussi bien sur le plan applicatif, ex´ecutif, qu’architectural.
Ce chapitre est organis´e en 5 sections. La premi`ere section introduit et discute la
probl´ematique de la simulation de syst`emes MPSoC. La deuxi`eme section pr´esente notre
approche originale de mod´elisation centr´ee sur l’ex´ecutif. La troisi`eme section s’int´eresse
au d´eploiement de notre mod`ele d’OS sur des architectures multiprocesseurs et propose
une m´ethode de communication inter-OS transactionnelle. Elle expose les r´esultats obtenus sur une application de traitement d’images. La quatri`eme section montre le passage
a` l’´echelle de notre mod`ele en pr´esentant le travail d’int´egration dans un simulateur d’architecture complexe, celle du projet TeraOps. Nous concluons en section 4.2.
Contribution
majeure
Mod´elisation
SystemC d’OS
distribu´es
Architecture
vis´
ee
SoC
multi-processeur
Compl´
ement
K
Mod`ele
d’OS
Apport
personnel
section 4.1
Publications
correspondantes
R. [MHV+ 09, VMM+ 08]
L. [GMME10]
C. [HMV08, HMV07, PBG+ 08]
T. [Huc11, Lef12]
Table 4.1: R´esum´e des principales contributions du chapitre 4.
4.1
Mod´
eliser l’essentiel
Les d´ependances fonctionnelles et les communications entre les tˆaches ont ´et´e laiss´ees
de cˆot´e au chapitre pr´ec´edent pour se focaliser sur les propri´et´es temporelles et p´eriodiques
de chaque tˆache, individuellement.
Dans ce chapitre, nous nous int´eressons plus particul`erement a` des applications de
traitement de signal et des images o`
u les donn´ees ´echang´ees entre les tˆaches correspondent
a` des tableaux de scalaires `a une ou plusieurs dimensions.
4.1.1
L’ex´
ecutif comme support du mod`
ele de programmation
Une fois un mod`ele de programmation identifi´e, en fonction du domaine applicatif et
des sp´ecificit´es architecturales, une interface de programmation de haut-niveau, appel´ee
API 2 , d´efinit les op´erations de communication et de synchronisation qui seront le support
du parall´elisme. Ces op´erations sont impl´ement´ees sur la plateforme a` travers des couches
d’abstraction progressives du mat´eriel qui, une fois regroup´ees, forment l’ex´ecutif de la
plateforme. Il est constitu´e d’une premi`ere couche appel´ee HAL 3 , puis de l’OS, noyau de
services ´el´ementaires, et ´eventuellement, comme nous le verrons dans le cas du calculateur
2. Application Protocol Interface
3. Hardware Abstraction Layer
48
TeraOps, d’une couche d’abstraction suppl´ementaire appel´ee middleware.
De nombreuses librairies composent ces couches d’abstraction de haut niveau, suivant le
mod`ele de programmation utilis´e, les plus r´epandues ´etant OpenMP [DM98], POSIX 4 et
MPI [For12, Pac96]. Les librairies OpenMP et POSIX sont bas´ees sur l’utilisation d’un
mod`ele `a m´emoire partag´ee alors que MPI utilise plutˆot le passage de messages.
Consid´erer l’ex´
ecutif comme support du mod`
ele de programmation est donc
notre premi`ere motivation pour porter notre attention sur la mod´elisation de l’ex´ecutif.
Son rˆole est crucial avec l’augmentation du parall´elisme dans les architectures embarqu´ees.
Non seulement il exprime un type de parall´elisme et de communications, mais il est ´egalement responsable de d´ecisions qui seront prises lors de l’ex´ecution r´eelle du syst`eme.
Il mat´erialise donc a` la fois une fronti`ere entre le logiciel et le mat´eriel, mais aussi une
fronti`ere entre les d´ecisions de conception ; celles prises hors-ligne par le concepteur, et
celles prises en-ligne par le syst`eme lui-mˆeme.
Positionn´e comme cl´e de voute du syst`eme, l’OS devient donc notre principal centre
d’int´erˆet pour la simulation. Nous soutenons d’ailleurs l’id´ee qu’`a lui seul il peut mod´
eliser l’essentiel de ce qui int´eresse le concepteur, c’est-`a-dire d’une part le passage
d’une sp´ecification s´equentielle a` une sp´ecification ex´ecutable parall`ele de son application et, d’autre part, de fournir une estimation de performances globale avec une erreur
raisonnable. Le tout dans une simulation rapide et pour un effort de conception, ou de
r´e-´ecriture minimal.
Le mod`ele d’ex´ecutif pr´esent´e dans ce chapitre tente de r´epondre `a ce d´efi.
Domaine 1
Domaine 2
DMA
PE
K
Domaine 3
DMA
PE
DMA
PE
K
DMA
PE
K
LMEM
NI
Domaine N
K
LMEM
LMEM
NI
LMEM
NI
NI
NoC
SMEM
K
K représente le noyau
local de l’exécutif
Espace mémoire SystemC
Espace mémoire Linux
Figure 4.1: Caract´eristiques des architectures MPSoC vis´ees. Dans le cas d’un domaine logiciel,
le PE est un processeur, dans le cas d’un domaine mat´eriel, le PE est un bloc d´edi´e fig´e ou
reconfigurable. D´efinition des acronymes : PE : Processing Element, LMEM : Local Memory,
SMEM : Shared Memory, K : OS Kernel, DMA : Direct Memory Access, NI : Network Interface,
NoC Network-on-Chip. En simulation, l’espace m´emoire de cette architecture multiprocesseur est
lui-mˆeme inclu dans l’espace m´emoire de la machine de simulation.
4. Portable Operating System Interface POSIX
49
4.1.2
Ojectifs de notre approche
Pour des raisons de scalabilit´e et de flexibilit´e des futurs calculateurs, nous visons donc
un mod`ele de programmation hybride (figure 4.1 adapt´ee de la section 2.2) sans m´ecanisme de virtualisation m´emoire. Les traitements consid´er´es sont impl´ement´es comme des
threads et ´echangent entre eux des donn´ees scalaires ou vectorielles. Les communications
r´esultant de ces d´ependances peuvent prendre plusieurs formes selon que les tˆaches impliqu´ees appartiennent au mˆeme domaine ou non. Dans le premier cas, ces donn´ees restent
rang´ees en m´emoire locale. La protection des donn´ees est assur´ee par un m´ecanisme de
sychronisation assur´e par l’ex´ecutif. Dans le second cas, si les donn´ees sont de taille importante, elles sont d´eplac´ees de la m´emoire locale a` la m´emoire partag´ee et un message
de contrˆole est envoy´e a` l’interlocuteur pour l’informer de la disponibilit´e de ces donn´ees
et de leur emplacement exact. Pour des donn´ees scalaires simples, un service d’envoi de
message permet de d´eplacer les donn´ees d’une m´emoire priv´ee a` l’autre. L’ex´ecutif assure
donc trois types de communication entre les tˆaches :
– protection des donn´ees partag´ees locales,
– envoi de messages d’une m´emoire locale a` une autre,
– d´eplacement de donn´ees en m´emoire partag´ee et notification par message direct.
Du point de vue du contrˆole, en ciblant une architecture h´et´erog`ene, tant sur le type
de processeurs utilis´es que sur la nature logicielle ou mat´erielle des traitements, nous
supposons que l’ensemble des services de l’ex´ecutif n’est pas n´ecessairement distribu´e de
mani`ere homog`ene. La distribution des services de l’ex´ecutif sur tout ou partie des nœuds
du syst`eme est d’ailleurs consid´er´ee dans notre approche comme une des dimensions a`
explorer. Un service d’appel de service distant fait donc ´egalement partie des services `a
int´egrer dans notre ex´ecutif sous la forme de RPC (Remote Procedure Call).
Nous voyons donc se profiler la structure de notre ex´ecutif cible. Il est compos´e d’un
certain nombre de noyaux d´eploy´es sur chaque nœud de calcul de l’architecture (figure 4.1).
Chaque noyau rend un certain nombre de services en fonction de l’affectation des tˆaches
au nœud de calcul sous-jacent. La structure du mod`ele est donc modulaire pour autoriser
facilement l’exploration de nombreuses solutions de d´eploiement logiciel et mat´eriel. La
simulation de chaque solution permet de rendre compte `
a la fois de l’exactitude
fonctionnelle des algorithmes, de la concurrence entre les nœuds de calcul et
de la performance globale du syst`
eme.
4.1.3
Approche de mod´
elisation
L’un des principaux d´efis de la m´ethode propos´ee est donc de maintenir le mod`ele d’OS
aussi abstrait que possible pour des raisons d’exploration tout en assurant la pr´ecision
de l’estimation de performance et l’exactitude fonctionnelle (sp´ecification ex´ecutable du
syst`eme). Pour parvenir a` ce r´esultat, notre approche de mod´
elisation s´
epare les
probl´
ematiques [KNRSV00] en trois couches ind´ependantes comme nous les pr´esentons
dans la figure 4.2..
La couche sup´erieure se concentre sur la validation des sp´ecifications fonctionnelles
de l’application. Elle y est d´ecrite comme un code fonctionnel concurrent en utilisant
un paradigme de parall´elisation de tˆaches au niveau thread. L’application s’appuie pour
cela sur une API quelconque standard (POSIX, ITRON, MRAPI...) ou d´edi´ee (uC/OS-II,
RTEMS, OSEK/VDX...). A ce niveau de pr´eoccupation, le partitionnement de l’application sur les diff´erents nœuds de calcul n’est pas consid´er´e. Sans les niveaux sous-jacents,
l’application s’ex´ecute d’ailleurs comme un code natif sur la machine de simulation (si
celle-ci fournit l’API de programmation choisie). Le code fonctionnel appelle les services
50
Niveau de
modélisation
Préoccupation
Application
Application
F2
F1
fonctionnelle
F4
F3
Concurrence/OS
API
Gestion de la
Concurrence
API
Architecture RTOS
Architecture
Proc Proc
Architecture de
plateforme
DRA
accelerator
Communication media
Hiérarchie Mémoire
Evaluation des
Performances
I/Os
Figure 4.2: Notre approche suit le principe de la s´eparation des pr´eoccupations de mod´elisation.
Issu de [MHV+ 09].
de l’OS par le biais de cette API et c’est justement celle-ci qui conf`ere l’ind´ependance entre
la couche applicative et la couche de concurrence. Les communications et la synchronisation entre les tˆaches d´ependent alors des services fournis par l’OS mod´elis´e, comme les
mutex, s´emaphores, FIFOs, boˆıtes aux lettres, m´emoire partag´ee, et de la distribution de
ces services sur l’architecture mod´elis´ee dans la couche inf´erieure.
Au cours de l’´etape de raffinement suivante, la couche OS traite de la concurrence
entre les processus (logiciels ou mat´eriels) explicitement d´efinis. C’est dans ce but que
nous avons d´evelopp´e le mod`ele d’OS d´ecrit dansce chapitre. Les tˆaches concurrentes
y sont cr´e´ees grˆace a` des services sp´ecifiques de l’API de l’OS mais en tenant compte
de l’affectation des tˆaches aux nœuds de calcul. Plusieurs algorithmes d’ordonnancement
peuvent ˆetre test´es `a ce niveau, selon les contraintes de l’application et le mapping possible
des tˆaches sur l’architecture sous-jacente sans modification de la couche fonctionnelle. Lors
de cette ´etape, le concepteur peut aussi explorer l’architecture de services distribu´es sur
les diff´erents nœuds.
Enfin intervient la couche Architecture ex´ecutive du syst`eme embarqu´e. Elle est sp´ecifi´ee comme une composition d’´el´ements h´et´erog`enes de calcul (Processing Element, PE)
et d’´el´ements de communication (CE). Chaque PE et CE peut ˆetre mod´elis´e a` diff´erents
niveaux d’abstraction et le raffinement peut ˆetre r´ealis´e sans impact sur les autres couches
de la mod´elisation. Pr´ecis´ement, l’ISS 5 d’un processeur ex´ecutant une s´equence d’instructions est un mod`ele de raffinement pour un bloc de calcul abstrait. L’ind´ependance de la
couche mat´erielle est assur´ee par une API de bas niveau, la couche d’abstraction mat´erielle (HAL) qui fournit a` la couche OS les mˆemes services de bas niveau mais avec plus ou
moins de pr´ecision. Cette couche est ´egalement responsable des param`etres d’´evaluation :
d´elai d’ex´ecution, latence de communication, etc.
L’adoption d’une telle approche de mod´elisation permet d’atteindre l’objectif pr´esent´e,
a` savoir explorer la mise en œuvre de l’OS a` un haut niveau, donc de fa¸con rapide, tout en
offrant une ´evaluation suffisamment pr´ecise des performances de l’ensemble du syst`eme.
5. Instruction Set Simulator
51
4.2
Synth`
ese et conclusion
Nous avons commenc´e ce chapitre en pr´esentant les changements impliqu´es par les
architectures MPSoC dans les m´ethodes de conception de logiciel embarqu´e. Si du point
de vue acad´emique de nombreuses m´ethodes ont ´et´e explor´ees depuis les ann´ees 90, peu
d’entre elles ont r´eellement facilit´e l’utilisation industrielle de telles plateformes. Si bien
que plus de 20 ans plus tard, la probl´ematique du parall´elisme reste d’actualit´e. Apr`es les
raisons de savoir-faire et de longueur des cycles de vie des mat´eriels (monoprocesseur), une
des raisons discut´ee dans ce chapitre vient de l’ind´eterminisme accentu´e des architectures
multiprocesseurs compar´e aux architectures monoprocesseur classiques. Dans les syst`emes
embarqu´es critiques, la fronti`ere entre ce qui doit ˆetre impl´ement´e en logiciel ou en mat´eriel
est moins claire que dans les autres syst`emes informatiques. C’est donc naturellement dans
ce domaine de l’embarqu´e que les architectures embarqu´ees multiprocesseurs mettent le
plus de temps `a ´emerger.
Un changement de m´ethodologie s’impose donc. Ce changement s’impose pour permettre a` l’informaticien qui con¸coit le logiciel embarqu´e de mieux appr´ehender la r´ealit´e
d’une ex´ecution parall`ele. En effet, le changement de paradigme vers une algorithmique
parall`ele n’est toujours pas atteint, malgr´e un historique scientifique abondant dans ce
domaine du parall´elisme. Si les industriels sont frein´es par l’inertie de leurs pr´ec´edents
produits, les ing´enieurs qui sortent des formations sont encore peu sensibilis´es au parall´elisme, qu’il soit abord´e d’un point de vue algorithmique, de la programmation ou de
l’architecture mat´erielle. Or, les perspectives technologiques annoncent que le seul avenir
possible de l’´electronique passent par plus de parall´elisme,
Dans ce changement de m´ethodologie de conception, nous nous sommes int´eress´e dans
ce chapitre a` l’´etape de simulation du syst`eme MPSoC embarqu´e. Avec le mod`ele d’ex´ecutif propos´e, elle permet au concepteur de r´ealiser rapidement une premi`ere sp´ecification
ex´ecutable parall`ele de son application. La force de ce mod`ele est d’ex´ecuter de mani`ere
transparente l’application d’origine, pour peu que celle-ci employait d´ej`a un d´ecoupage en
threads, et d’apporter des estimations sur sa future ex´ecution parall`ele. Cette premi`ere
´etape est d´eterminante. Elle sera ensuite suivie de diff´erentes ´etapes de raffinement pour
fournir une sp´ecification toujours plus proche de la plateforme d’ex´ecution finale. Un flot
de conception associ´e a` notre mod`ele a ´et´e propos´e pour assister le concepteur dans ce
travail incr´emental [MHV+ 09].
L’objet de la recherche men´e dans ce cadre a donc principalement concern´e la conception d’un mod`ele d’ex´ecutif embarqu´e de haut niveau qui r´eponde au mieux au compromis
entre pr´ecision des estimations de performance et temps de simulation. Les r´esultats quantitatifs et qualitatifs obtenus sur des applications r´eelles ont permis de prouver la faisabilit´e
de notre m´ethode.
Ce travail a d’ailleurs essaim´e dans plusieurs laboratoires nationaux a` travers les th`eses
de Yacet Oliva et Mehdi Aichouch a` l’IETR ou de Nicolas Serna au LEAT. Une ´etude
d’utilisation industrielle de cette m´ethode dans le domaine automobile d´emarre enfin avec
la th`ese de Wenhao Wang au laboratoire ETIS sous mon encadrement.
De nombreuses perspectives sont encore `a envisager pour rendre le mod`ele plus fiable
et plus pr´ecis :
– l’exploration de l’espace de conception,
– l’estimation a` haut niveau des temps de communication, trop rapidement abord´ee
durant ce travail,
– la prise en compte des localit´es des donn´ees dans la hi´erarchie m´emoire,
– l’estimation de consommation (d´emarr´e au LEAT),
52
Table 4.2: R´esum´e des principales caract´eristiques de la m´ethode pr´esent´ee dans ce chapitre.
M´
ethode
Mod´elisation
haut-niveau
d’OS distribu´es
Architecture
Contraintes
cible
applicatives
multi-processeur temps r´eel mou
h´et´erog`ene
Mod`
ele
Cas de test
de tˆ
aches
threads
Traitement
p´eriodiques
d’images
communicants
– la transposition a` la probl´ematique sp´ecifique des architectures many-core,
– la mod´elisation statistique des temps d’ex´ecution [CQV+ 13],
– la mod´elisation conjointe d’ex´ecutifs h´et´erog`enes logiciels/mat´eriels.
Ce dernier type d’ex´ecutifs sera discut´e dans le chapitre 5 ou nous pr´esentons un OS
mat´eriel pour la programmation de SoC reconfigurables dynamiquement. Dans de telles
plateformes, la tˆache abstraite consid´er´ee dans ce chapitre peut ´egalement ˆetre d´eclin´ee
en mat´eriel et ˆetre manipul´ee comme une tˆache logicielle (pr´e-emption, ordonnancement).
Cette nouvelle dimension apporte des propri´et´es d’ex´ecution nouvelles qui am`eneront `a la
fronti`ere entre les syst`emes programm´es et les syst`emes auto-adaptables.
53
Une recherche en ´
equipe
Th`
eses encadr´
ees 6
1. Wenhao Wang, th`ese d´emarr´ee le 7 avril 2014 sous financement CIFRE avec Val´eo.
Processus de d´etermination d’architecture logicielle optimale pour processeurs MultiCœurs pour le milieu automobile.
2. Emmanuel Huck, th`ese soutenue le 25 novembre 2011.
Simulation SystemC de RTOS h´et´erog`enes distribu´es pour syst`emes sur puce reconfigurables.
Contrats et stages encadr´
es
1. 2008-2009, Mehdi Aichouch, ing´enieur d’´etude du projet ANR OveRSoC.
D´eveloppement logiciel de l’outil DOGME.
2. 2007-2008 Fakhreddine Ghaffari, postdoctorant recrut´e sur le projet Teraops.
Mod´elisation d’OS pour les tuiles reconfigurables du calculateur TeraOps
3. 2007-2008, Bechir Bennani, stage de master recherche ESA.
Simulation h´et´erog`ene de syst`emes embarqu´es logiciels/mat´eriels dans le cadre du
projet OveRSoC
Publications principales 7
[Mir08] Chapter SystemC Multiprocessor RTOS model for services distribution on
RTOS platforms, B. Miramond, E. Huck, T. Lefebvre and F. Verdier. in AlgorithmArchitecture Matching for Signal and Image Processing, Springer Editor, pages
1—19, 2010.
[MHV+ 09] OveRSoC : a Framework for the Exploration of RTOS for RSoC Platforms, B. Miramond, E. Huck, F. Verdier, M. E. A. Benkhelifa, B. Granado, T.
Lefebvre, M. Aichouch, J.-C. Pr´evotet, Y. Oliva, D. Chillet, International Journal
of Reconfigurable Computing, 2009.
[VMM+ 08] Using High-Level RTOS Models for HW/SW Embedded Architecture Exploration : Case Study on Mobile Robotic Vision, F. Verdier, B. Miramond, M.
Maillard, E. Huck, T. Lefebvre, Eurasip Journal on Embedded Systems, 2008.
Projets et collaborations 8
1. Projet ANR – ARA SSIA OveRSoC (2005-2008), J.-C. Prevotet IETR, Outil
de Validation et d’Exploration pour les plateformes RSoC.
2. Projet Ter@Ops du pˆ
ole de comp´
etitivit´
e System@tic (2007-2009), F.
Lemonnier TRT.
6. D´etails page 18
7. D´etails page 24
8. D´etails page 15
54
Bibliographie
[CQV+ 13] F. J. Cazorla, E. Quinones, T. Vardanega, L. Cucu-Grosjean, B. Triquet,
G. Bernat, E. Berger, J. Abella, F. Wartel, M. Houston, L. Santinelli, L. Kosmidis, and C. Lo. Proartis : Probabilistically analyzable real-time system.
ACM Transactions on Embedded Computing Systems, 12(94), 2013.
[DM98] Leonardo Dagum and Ramesh Menon. OpenMP : An Industry-Standard API
for Shared-Memory Programming. Computing in Science and Engineering,
5 :46–55, 1998.
[Fly72] Michael J. Flynn. Some computer organizations and their effectiveness. IEEE
Trans. Comput., 21(9) :948–960, September 1972.
[For12] Message Passing Interface Forum. MPI : A Message-Passing Interface Standard, Version 3.0., Sept 2012.
[GMME10] G. Gogniat, D. Milojevic, A. Morawiec, and A. Erdogan, editors. SystemC
Multiprocessor RTOS model for services distribution on RTOS platforms,
page 1—19. Springer, 2010.
[HMV07] Emmanuel Huck, Benoit Miramond, and Fran¸cois Verdier. A Modular SystemC RTOS Model for Embedded Services Exploration. In Proceedings of
Digital Architecture for Signal and Image Processing (DASIP), page 6, Grenoble, France, November 2007.
[HMV08] Emmanuel Huck, Benoit Miramond, and Fran¸cois Verdier. SystemC multiprocessor RTOS model for services distribution on MPSoC platforms. In
Proceedings of Conference on Design and Architectures for Signal and Image
Processing (DASIP), page 6, Bruxelles, Belgique, November 2008.
[Huc11] Emmanuel Huck. Simulation de haut niveau de syst`emes d’exploitations distribu´es pour l’exploration mat´erielle et logicielle d’architectures multi-noeuds
h´et´erog`enes. PhD thesis, Universit´e de Cergy-Pontoise, 2011.
[KNRSV00] K. Keutzer, A. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli. Systemlevel Design : Orthogonalization of Concerns and Platform-based Design.
IEEE Transactions on Computer-Aided Design of Integrated Circuits and
Systems, 19(12) :1523–1543, December 2000.
[Lef12] Thomas Lefebvre. Architecture MPSoC adaptative pour cam´era robotique
intelligente. PhD thesis, Universit´e de Cergy-Pontoise, 2012.
[MHV+ 09] Benoit Miramond, Emmanuel Huck, Fran¸cois Verdier, Mohamed El Amine
Benkhelifa, Bertrand Granado, Mehdi Aichouch, Jean-Christophe Pr´evotet, Daniel Chillet, S´ebastien Pillement, Thomas Lefebvre, and Yaset Oliva.
OveRSoC : a Framework for the Exploration of RTOS for RSoC Platforms. Hindawi International Journal on Reconfigurable Computing (JRC),
2009(11) :450607, 2009.
[Mir08] Benoˆıt Miramond. Technique de r´eduction adaptative de l’espace de recherche pour les m´ethodes d’optimisation par recherche locale. Revue Technique et Science Informatiques (TSI), 27(5) :627, October 2008.
[Pac96] Peter S. Pacheco. Parallel programming with MPI. Morgan Kaufmann, 1996.
55
[PBG+ 08] Jean-Christophe Pr´evotet, Mohamed El Amine Benkhelifa, Bertrand Granado, Emmanuel Huck, Benoit Miramond, Fran¸cois Verdier, Daniel Chillet,
and S´ebastien Pillement. A Framework for the Exploration of RTOS Dedicated to the Management of Hardware Reconfigurable Resources. In International Conference on Reconfigurable Computing and FPGAs (ReConFig),
pages 61–66, Mexique, 2008.
[VMM+ 08] Fran¸cois Verdier, Benoit Miramond, M. Maillard, Emmanuel Huck, and Thomas Lefebvre. Using High-Level RTOS Models for HW/SW Embedded Architecture Exploration : Case Study on Mobile Robotic Vision. Eurasip Journal on Embedded Systems (JES), 2008 :349465, 2008.
56
Chapitre 5
Programmation flot de donn´
ees
d’architectures multiprocesseurs
reconfigurables
5.1
Introduction
La technologie des circuits reconfigurables (FPGA) n’a cess´e de s’enrichir pour apporter de nouvelles possibilit´es de calcul et de communication depuis les trente derni`eres
ann´ees 1 . Cette ´evolution progressive a fini par rendre ce type de circuits incontournable
dans de nombreux domaines applicatifs embarqu´es et temps r´eel. Un changement profond
dans leur utilisation s’appuie depuis quelques ann´ees sur leur capacit´e `a pouvoir ˆetre reconfigur´es dynamiquement et partiellement, pendant que le reste du circuit continue a`
rendre des services d’ex´ecution et de communication [PTD13]. Ce passage d’un circuit
(et donc d’un mod`ele d’ex´ecution) statique a` dynamique trouve naturellement sa place
dans la probl´ematique trait´ee dans ce document et engage la discussion sur les nouveaux
paradigmes de calcul.
Cette dynamicit´e est maintenant ancr´ee au plus profond de l’organisation micro-´electronique
interne du FPGA et doit pour cela ˆetre pr´evue a` la conception mˆeme du circuit. Mais a`
nouveau, la difficult´e majeure r´eside dans la maˆıtrise du comportement d’un tel syst`eme
dans des environnements applicatifs critiques. Le travail pr´esent´e dans ce chapitre est issu
du projet ANR FOSFOR (Flexible Operating System FOr Reconfigurable platforms).
Nous nous sommes int´eress´es a` d´ecliner les concepts d’OS distribu´es ´etudi´es en simulation
de haut-niveau au chapitre pr´ec´edent sur une plateforme reconfigurable concr`ete. Nous
pr´esenterons dans la premi`ere section l’architecture propos´ee dans le projet FOSFOR, puis
en deuxi`eme section le flot de conception d´efini pour faciliter le d´eploiement d’acteurs de
haut-niveau (flot de donn´ees) en logiciel et en mat´eriel. La section suivante pr´esente les
principes et l’architecture des OS et middleware r´ealis´es en mat´eriel pour apporter au
domaine mat´eriel les concepts de programmation multi-tˆaches utilis´es classiquement dans
le domaine logiciel. Nous montrerons que ces concepts associ´es au flot de conception propos´e permettent d’abstraire l’h´et´erog´en´eit´e d’une telle platforme au concepteur, de faciliter
l’utilisation de la reconfiguration pour des applications r´ealistes et de retarder la prise de
d´ecision quand au partionnement logiciel/mat´eriel de ces applications. La derni`ere section
pr´esente les r´esultats obtenus sur une application de suivi de cible en traitement d’images.
1. Le premier FPGA de Xilinx, le XC2064, date de 1985
57
Contribution
majeure
Programmation
multi-tˆ
aches
Sw/Hw
Architecture
vis´
ee
SoC
multi-processeur
reconfigurable
Compl´
ement
K
MW logiciel
et mat´eriel
Apport
personnel
section 5.2
Publications
correspondantes
R. [GKM+ 12]
C. [KKG+ 12, GKM+ 11]
T. [Gan14, Khi14]
Table 5.1: R´esum´e des principales contributions du chapitre 5.
5.2
Mod`
ele de programmation et flot de conception
Nous voulons virtualiser les communications dans notre syst`eme MPSoC distribu´e et
h´et´erog`ene, qui contient des unit´es de calcul mat´erielles reconfigurables. Nous postulons
en effet que l’abstraction des communications dans une architecture dynamique est le
point d’entr´ee pour la d´efinition d’un flot de conception facilitant la programmation de
telles architectures. Nous suivons donc une approche bottom-up dans la d´efinition de ce
flot.
5.2.1
Concilier l’approche bottom-up et l’approche top-down
Nous partons donc a` bas niveau, au plus pr`es des composants mat´eriels, en proposant une gestion unifi´ee des communications, mises en oeuvre a` la fois en logiciel et en
mat´eriel. Au niveau de l’OS, cette gestion unifi´ee offre au concepteur une interface de
programmation unique, accessible a` partir de la couche d’abstraction appel´ee middleware.
L’architecture devient d`es lors programmable, il reste maintenant a` faciliter le partitionnement de l’application en tˆaches logicielles ou mat´erielles ainsi que leur d´eploiement. Les
tˆaches doivent donc suivre un mod`ele de calcul identifi´e apportant la s´emantique et les
propri´et´es de ces tˆaches et de leurs communications (cf. section 2.2 au chapitre 2). Nous
choisissons un mod`ele flot de donn´ees synchrones (SDF [LM87]) exprimant les besoins des
applications de traitement de signal et des images. Au plus haut niveau, la sp´ecification
est donc d´ecrite comme un graphe d’acteurs SDF, o`
u chaque acteur peut utiliser plusieurs
ports d’entr´ees et de sorties. Chaque port est ´egalement param´etr´e avec une quantit´e de
jetons consomm´es et produits.
Reprenant maintenant le flot en sens inverse, nous sommes capable de mettre en correspondance les repr´esentations de ces acteurs a` chaque niveau et d’´etablir des ´etapes
de g´en´eration de code et de v´erification s´emantique pour le raffinement progressif de la
sp´ecification, comme illustr´e sur la figure 5.1.
Grˆace `a des techniques de transformation de mod`eles, la s´emantique est respect´ee tout au
long du flot de conception, afin d’assurer la coh´erence entre la sp´ecification et la mise en
oeuvre. A un niveau interm´ediaire, le mod`ele de plateforme ind´ependante de l’application
est notamment raffin´e en un ensemble de machines a` ´etats finis (FSM) qui expriment et
s´equencent les ´etapes d’ex´ecution et de communication de l’acteur. Un acteur peut alors
suivre les transformations suivantes :
– Un port d’entr´ee SDF est raffin´e en un ´etat de r´eception avec un nombre de jetons
consomm´es comme attribut,
– Un port de sortie est raffin´e en un ´etat d’envoi ayant un nombre de jetons produits
comme attribut,
– Des ´etats de synchronisation sont ajout´es apr`es une s´equence d’´etats de r´eception.
Ils permettent de bloquer l’ex´ecution de l’acteur lorsque le nombre de jetons d’entr´ee
58
Figure 5.1: Flot de conception d’acteurs flots de donn´ees sur architecture reconfigurable. Issu
de [GKM+ 12]
ne correspond pas au nombre de jetons requis. Lorsque la r´eception d’un jeton requis
est termin´ee l’´etat de synchronisation d´eclenche l’action correspondante (figure 5.2).
– Chaque action exprim´ee dans un acteur SDF est raffin´e en un ´etat de calcul consommant les jetons d’entr´ee et produisant de nouveaux jetons sur les ports de sortie.
Figure 5.2: Lorsque la r´eception d’un jeton requis est termin´ee, l’´etat de synchronisation d´eclenche l’action d´ecrite par le comportement de chaque acteur qui est directement contrˆ
ol´e par
une FSM g´en´er´ee `
a partir du mod`ele SDF. Dans cet exemple, les jetons d’entr´ee A et B d´eclenchent deux actions diff´erentes. Les ´etats de d´eclenchement sont appel´es compute dans cette
figure. Issu de [GKM+ 12]
La machine a` ´etats finis de l’acteur peut alors ˆetre mise en oeuvre en VHDL ou en C,
en fonction de son assignation en mat´eriel ou en logiciel. Au niveau le plus bas, le lien
entre les ´etats de communication des diff´erents acteurs est dynamique. Il est assur´e par
59
les instances distribu´es du middleware qui assurent la gestion de canaux virtuels (VC)
en fonction de la localisation des acteurs. Pour assurer une synchronisation globale et
l’´echange entre les ´el´ements de la plateforme, deux types de transfert sont n´ecessaires :
– L’´echange explicite de donn´ees : chaque fois qu’un bloc de calcul termine son traitement sur les donn´ees d’entr´ee, les donn´ees obtenues peuvent ˆetre transmises au
bloc suivant pour un autre type de calcul selon la s´emantique propre aux transferts
de flot de donn´ees synchrones.
– L’´etat de coh´erence implicite : des informations de contrˆole sont ´echang´ees entre les
gestionnaires de communication, afin de maintenir une coh´erence permanente de la
localisation des acteurs et de leur ´etat, mˆeme pendant la reconfiguration.
Nous allons maintenant pr´esenter l’API de programmation propos´ee et nous int´eresser
aux couches d’abstraction sur lesquelles elle s’appuie.
5.2.2
Des acteurs flots de donn´
ees de haut niveau `
a la reconfiguration dynamique
Du point de vue du programmeur, notre ex´ecutif est divis´e en plusieurs couches d’abstraction. En haut de l’ex´ecutif, la gestion des communications est assur´ee par le middleware qui est d´elimit´e par les pointill´es rouges sur la figure 5.3. Cette couche fournit les
m´ecanismes n´ecessaires a` l’abstraction de la localisation des tˆaches et a` leurs communications. Elle s’appuie sur la notion de canaux virtuels qui sont propos´es dans le domaine
logiciel aussi bien que mat´eriel de l’architecture. Pour cela, le middleware est distribu´e en
autant d’instances que de noeuds de calcul comme nous le verrons dans la section suivante.
Cette couche agit comme une abstraction des services d’OS sous-jacent qui pourraient,
en th´eorie, correspondre a` des OS h´et´erog`enes. En pratique, dans nos exp´erimentations,
nous avons conserv´e le mˆeme OS AMP 2 (RTEMS) sur les noeuds logiciels et notre HwOS
sur le noeud mat´eriel.
Figure 5.3: Couches d’abstraction de la plateforme reconfigurable. Issu de [GKM+ 12]
Les tˆaches qui sont manipul´ees par le middleware correspondent au raffinement des
acteurs flots de donn´ees d´ecrits pr´ec´edemment. Une partie du code de ces tˆaches peut ˆetre
g´en´er´ee automatiquement par transformation de mod`eles comme nous le d´ecrivons dans
2. Asymmetric Multi Processing
60
la th`ese de A. Khiar [Khi14]. Le principal atout de la conception bas´ee sur les mod`eles
d’acteurs r´eside dans la possibilit´e de pouvoir capter de mani`ere rapide les besoins d’un
syst`eme embarqu´e reconfigurable, car les acteurs y repr´esentent des boˆıtes noires et la
(re)configuration de ceux-ci n’a pas `a y ˆetre exprim´ee. La reconfiguration est transparente
pour le concepteur. C’est une propri´et´e qui d´epend de l’architecture cible et qui n’a pas
a` ˆetre exprim´ee a` haut niveau. Celle-ci, au contraire, est g´er´ee au moment de l’ex´ecution
par le syst`eme (tout comme la pr´eemption des threads logiciels ne s’exprime pas a` hautniveau). Les informations exprim´ees durant la mod´elisation correspondent uniquement
aux propri´et´es du mod`ele de calcul adopt´e.
5.3
Conclusion et discussion vers de nouveaux paradigmes de calcul
La reconfiguration dynamique partielle (RDP) des circuits micro-´electroniques est un
principe aussi puissant que celui des syst`emes `a temps partag´e (multi-tˆaches) apparu dans
les OS dans les ann´ees 1960. Mais a` la diff´erence de ce dernier, le principe d’ex´ecution
puissant de la RDP n’a pas connu d’autre succ`es que celui d’avoir ´et´e ´etudi´e par vingt ans
de recherche scientifique [PTD13]. En dehors de quelques rares cas applicatifs, pourquoi
n’a-t-elle pas franchi le stade de l’industrialisation ? Ce qui ´etait vrai pour les tˆaches
logicielles n’est-il pas applicable au domaine mat´eriel ?
Nous avons pris le pari dans ce chapitre de consid´erer ce m´ecanisme comme une nouvelle ´etape dans la programmation multi-tˆaches. Nous nous sommes fix´es l’objectif d’appr´ehender le probl`eme dans sa globalit´e pour prouver, sur un exemple concret, que la RDP
ne devait plus apparaˆıtre comme une fonction ”bonus” des circuits reconfigurables, mais
bien comme un principe puissant qui ne souffre que d’un manque d’utilisation pratique.
Face aux nombreux travaux ayant ´etudi´e le probl`eme, nous avons montr´e deux contributions majeures. La premi`ere tient `a notre volont´e de parvenir `a un ensemble complet,
de la mod´elisation a` l’ex´ecution, coh´erent et op´erationnel. Des probl`emes d’outils de placement/routage partiel en mat´eriel, de retro-engineering sur les matrices reconfigurables
industrielles, des probl´ematiques d’OS, de cohabitation avec le domaine logiciel, de conception d’architectures sur puce, de flots de conception de haut-niveau... l’usage de la RDP
est souvent brid´e par la diversit´e et la complexit´e des maillons de la chaˆıne ainsi que
par le niveau d’expertise requis. Cette probl´ematique scientifique demande par ailleurs un
travail d’ing´enierie important qui ne peut ˆetre atteint qu’en ´equipe.
La seconde contribution vient de notre fa¸con de consid´erer les communications. Nous
avons montr´e dans ce chapitre que la virtualisation des communications avait ´et´e plac´ee
comme clef de voute de la probl´ematique. Nous l’avons en effet consid´er´e comme le probl`eme unifiant les probl´ematiques de haut-niveau, des mod`eles de calcul et de la g´en´eration
de code, et celles de bas niveau, de la maˆıtrise de l’ex´ecution.
Cette double fa¸con d’appr´ehender le probl`eme nous a permis de faire la preuve de
concept sur cible et application r´eelle, et de nous distinguer des approches partielles de
la litt´erature. Nous avons ainsi r´ealis´e notre prototype avant que ne soient propos´es les
premiers produits commerciaux [vdHZ13].
Certes des limites existent encore a` ce jour du point de vue des temps de reconfiguration. Mais ces limites, li´ees a` la technologie, sont surtout dˆ
ues `a un manque d’utilisation
pratique de la RDP dans les syst`emes industriels. Si des approches compl`etes et coh´erentes
61
d’un bout `a l’autre de la chaˆıne de conception modifient un jour ces utilisations, alors la
technologie s’adaptera pour rapprocher les principes ex´ecutifs des contraintes applicatives.
Table 5.2: R´esum´e des principales caract´eristiques de la m´ethode pr´esent´ee dans ce chapitre.
M´
ethode
Architecture
Contraintes
Mod`
ele
Cas de test
cible
applicatives
de tˆ
aches
Programmation multi-processeur temps r´eel mou flot de donn´ees Traitement
multi-tˆaches
et reconfigurable
(SDF)
d’images
Sw/Hw
Les limites de l’approche
Nous avons aussi montr´e que pour parvenir a` une programmation unifi´ee de la plateforme,
un surcoˆ
ut silicium non n´egligeable devait ˆetre ajout´e pour l’int´egration des composants de
contrˆole (l’ex´ecutif). Peut-on donc imaginer de futures architectures many-core compos´ees
a` moiti´e de processeurs et a` moiti´e de zones reconfigurables (cf. figure 2.2 page 34) ? D’un
cˆot´e, les chiffres pr´esent´es pour le surcoˆ
ut des structures de contrˆole n’ont pu ˆetre mesur´es
que pour un nombre fix´e de tˆaches. Ce surcoˆ
ut est a` consid´erer comme le coˆ
ut de d´epart
d’un syst`eme reconfigurable programmable. La majeure partie des ressources utilis´ees sont
ensuite conserv´ees ind´ependamment du nombre de tˆaches pr´esentes dans l’architecture.
´
Evidemment
cette analyse reste a` confirmer.
D’un autre cˆot´e, l’approche propos´ee promeut la distribution des services d’OS (approche AMP). On ne peut donc consid´erer que la pr´esence d’un seul OS mat´eriel (et son
middleware) reste valide si le nombre de tˆaches augmente de mani`ere importante.
Dans tous les cas, l’augmentation inexorable en complexit´e de nos calculateurs nous
conduit aujourd’hui a` reconsid´erer les principes fondateurs de l’informatique. En embarqu´e
particuli`erement, la maˆıtrise compl`ete du syst`eme d`es la conception, l’attente de pr´edictibilit´e, l’intol´erance de nos syst`emes face aux al´eas ne sont plus en phase avec le nombre
croissant de coeurs de calcul, avec les quantit´es de donn´ees g´en´er´ees par les capteurs,
avec les attentes que nous pla¸cons dans les futures applications d’intelligence embarqu´ee
(drˆones de service, robotique domestique, aide au handicap, r´ealit´e augment´ee, assistance
au conducteur 3 en automobile, e-sant´e...).
Ces limitations font face aux d´efis des futurs syst`emes de calcul et ouvrent la question
de nouveaux paradigmes de calcul. Nous pr´esentons dans la partie suivante du document
une alternative biologiquement inspir´ee de syst`emes de calcul embarqu´es.
3. ADAS : Advanced Driver Assistance Systems
62
Une recherche en ´
equipe
Th`
eses encadr´
ees 4
1. Amel Khiar, soutenance pr´evue pour juin 2014. Virtualisation des communications
pour plate-forme reconfigurable dynamiquement.
Th`
eses non encadr´
ees
1. Laurent Gantel, th`ese soutenue en Janvier 2014. Architecture mat´erielle et logicielle
favorisant l’exploitation par l’industrie de syst`emes embarqu´es h´et´erog`enes dont le
mat´eriel est dynamiquement adaptable.
Stages encadr´
es
1. 2009-2010, Sami Aloui, MPSoC pour le suivi des cibles en temps r´eel, Master EEA
Syst`emes Micro´electroniques de l’Universit´e Montpellier 2
2. 2010-2011, Yohann Borges, Middleware embarqu´e logiciel pour les plateformes de
traitements d’images : application `a la segmentation d’image, Master Recherche ESA
3. 2011-2012, Soufyane Lkad, Mod`ele de programmation unifi´e de threads logiciels et
mat´eriels, Master Recherche ESA
Publications principales
[GKM+ 12] Enhancing reconfigurable platform programmability for synchronous dataflow applications, L. Gantel, A. Khiar, B. Miramond, M. E. A. Benkhelifa, L.
Kessal, F. Lemonnier, J. Lerhun, ACM Transaction on Reconfigurable Technology
and Systems, Volume 5 Issue 4, 16 pages, December, 2012.
[KKG+ 12] Middleware Based Executive for Embedded Reconfigurable Platforms, A.
Khiar, N.Knecht, L.Gantel, S.Lkad, B. Miramond, in IEEE Proceedings of Conference on Design and Architectures for Signal and Image Processing (DASIP), 6
pages, 2012.
[GKM+ 11] Dataflow Programming Model For Reconfigurable Computing, L. Gantel,
A. Khiar, B. Miramond, M. E. A. Benkhelifa, F. Lemonnier, L. Kessal, in 6th
International Workshop on Reconfigurable Communication-centric Systems-on-Chip
(ReCoSoC), 6 pages, France, 2011.
Projets 5
1. Projet ANR – ARFU FOSFOR (2008), F. Muller - LEAT, Flexible Operating
System FOr Reconfigurable platforms.
4. D´etails page 18
5. D´etails page 15
63
Bibliographie
[Gan14] Laurent Gantel. Architecture mat´erielle et logicielle favorisant l’exploitation
par l’industrie de syst`emes embarqu´es h´et´erog`enes dont le mat´eriel est dynamiquement adaptable. PhD thesis, Encadr´ee par M.E.A. Ben Khelifa et F.
Verdier, Universit´e de Cergy-Pontoise, Janvier 2014.
[GKM+ 11] Laurent Gantel, Amel Khiar, Benoˆıt Miramond, Mohamed El Amine Benkhelifa, Fabrice Lemonnier, and Lounis Kessal. Dataflow Programming Model For
Reconfigurable Computing. In 6th International Workshop on Reconfigurable
Communication-centric Systems-on-Chip (ReCoSoC), pages 1–8, Montpellier,
France, June 2011.
[GKM+ 12] Laurent Gantel, Amel Khiar, Benoˆıt Miramond, Mohamed El Amine Benkhelifa, Lounis Kessal, Fabrice Lemonnier, and Jimmy Lerhun. Enhacing reconfigurable platform programmability for synchronous dataflow applications.
ACM Transaction on Reconfigurable Technology and Systems (TRETS), 5(4),
December 2012.
[Khi14] Amel Khiar. Middleware embarqu´e pour architectures reconfigurables. PhD
thesis, Universit´e de Cergy-Pontoise, 2014.
[KKG+ 12] Amel Khiar, Nicolas Knecht, Laurent Gantel, Soufyane Lkad, and Benoˆıt Miramond. Middleware based executive for embedded reconfigurable platforms.
In in IEEE Proceedings of Conference on Design and Architectures for Signal
and Image Processing (DASIP), page 6, october 2012.
[LM87] Edward A. Lee and David G. Messerschmitt. Synchronous Data Flow. In
Proceedings of the IEEE, volume 75, pages 1235–1245, sep. 1987.
[PTD13] K. Pocek, R. Tessier, and A. DeHon. Birth and adolescence of reconfigurable computing : A survey of the first 20 years of field-programmable custom
computing machines. In in the Highlights of the First Twenty Years of the
IEEE International Symposium on Field-Programmable Custom Computing
Machines, April 2013.
[vdHZ13] Dirk van den Heuvel and Ren´e Zenden. Dyplo by topics. XCell journal, 2013.
64
Partie 2 : Architectures
bio-inspir´
ees, vers des paradigmes de
calcul neuromorphiques
65
Chapitre 6
Conception d’un syst`
eme de vision
artificielle sur puce
Nous avons parcouru la premi`ere partie de ce document en nous int´eressant a` des
m´ethodes de conception sp´ecifiques dans les cas de syst`emes temps r´eel, d’architectures
multiprocesseurs puis reconfigurables. Dans notre perspective d’identifier les d´efis `a venir
des architectures sur puce massivement parall`eles, nous avons fait le constat que pour
faire face `a la complexit´e de ces syst`emes, un changement de paradigme de calcul devait
ˆetre entam´e. Nous avons progressivement relach´e la contrainte de pr´edictibilit´e depuis le
syst`eme temps r´eel du chapitre 3 cadenc´e par une table d’ordonnancement ´etablie horsligne jusqu’aux architectures reconfigur´ees dynamiquement au chapitre 5 en passant par
des prises de d´ecisions dynamiques au sein d’OS distribu´es (chapitre 4).
L’´etape suivante dans le relachement de cette maˆıtrise du comportement du syst`eme
d`es sa conception correspond au domaine des syst`emes auto-adaptables. D`es lors qu’un
certain stade de besoin d’adaptation est franchi, il ne devient plus possible, ni mˆeme
raisonnable, de chercher `a sp´ecifier un syst`eme qui doit faire face aux changements nonpr´edictibles de son environnement. Cela reviendrait a` mod´eliser l’environnement tout autant que le syst`eme lui-mˆeme.
Une approche radicalement oppos´ee consiste `a s’inspirer de l’adaptation naturelle des
syst`emes biologiques `a leur environnement. Une approche adaptative ne requiert pas de
programmer une application diff´erente sur une architecture classique. Elle demande de
penser le syst`eme comme un tout, comme un agent interagissant avec son environnement.
De ce fait, l’agent ne peut plus ˆetre consid´er´e comme un syst`eme op´erationnel d`es sa
mise en fonction. Ses capacit´es a` r´epondre a` une tˆache donn´ee se d´eveloppent avec le
temps, au rythme o`
u l’agent se cr´ee un mod`ele interne de l’environnement dans lequel
il ´evolue. La programmation est alors remplac´ee par l’apprentissage, et l’architecture de
calcul est remplac´ee par une boucle sensori-motrice o`
u le calculateur devient un maillon
d’une chaˆıne indivisible.
Nous allons commencer notre ´etude sur ces syst`emes computationnels d’un autre genre,
par la conception d’un agent robotique autonome dont la tˆache est de r´ealiser des patrouilles dans un environnement inconnu.
Les syst`emes de vision par ordinateur sont de plus en plus puissants mais restent encore inadapt´es a` une perception visuelle embarqu´ee et temps r´eel, n´ecessaire par exemple
en robotique mobile. Dans ce domaine, la modalit´e visuelle joue en effet un rˆole central
dans de nombreuses tˆaches de localisation, de reconnaissance et de manipulation d’objets,
de suivi de trajectoires ou d’imitation et d’interaction homme-machine.
67
Dans ce cadre, l’´etude du fonctionnement des syst`emes de vision biologique apporte une
alternative puissante aux m´ethodes algorithmiques. Les syst`emes de vision bio-inspir´ee
tentent de mimer le fonctionnement coupl´e de la r´etine et des structures neuronales complexes mises en jeu dans la perception visuelle. Diff´erents mod`eles peuvent ´evidemment
ˆetre tir´es des observations sur les syst`emes biologiques [CR03, SWB+ 07, RP99, FMA+ 10].
Et ce sont ces mod`eles qui discriminent aujourd’hui les approches computationnelles propos´ees dans la litt´erature.
Dans ce chapitre nous proposons de concevoir une smart camera dont le syst`eme
de traitement suit ce type d’approche. Le mod`ele visuel choisi est implant´e comme un
acc´el´erateur mat´eriel d´edi´e traitant les donn´ees a` la fr´equence de la cam´era.
Le syst`eme propos´e est bas´e sur des m´ecanismes d’attention visuelle pour reconnaˆıtre
lieux, objets, visages en fonction de la mission confi´ee au robot. Dans notre cadre exp´erimental, nous nous int´eressons a` la boucle sensori-motrice par laquelle le robot peut
apprendre des actions sp´ecifiques dans chaque lieu rencontr´e. Nous proposons une architecture mat´erielle optimis´ee et prototyp´ee sur des circuits reconfigurables pour d´etecter
les points saillants a` la fr´equence de la cam´era. Dans les missions de navigation que nous
ciblons, ces points sont utilis´es comme des amers visuels appris par l’´etage neuronal de
notre syst`eme. Nous pr´esentons les mod`eles computationnels sur lesquels notre architecture temps r´eel est bas´ee, ainsi que les r´esultats de navigation obtenus par ce syst`eme
autonome.
Notre syst`eme, appel´e RobotSoC, est ainsi compos´e de deux parties :
– l’´etage de vision : une smart-cam´era extrait les informations visuelles saillantes,
– l’´etage de contrˆole neuronal : un second syst`eme embarqu´e impl´emente des tˆaches
cognitives de plus haut niveau impliqu´ees dans les missions de navigation que nous
ciblons.
L’´etage de vision combine un capteur d’images, le pr´e-traitement des images et la
communication dans un seul Syst`eme sur puce (SoC) prototyp´e sur FPGA. RobotSoC
fournit ´egalement une partie de calcul embarqu´e programmable impl´ementant l’´etage de
contrˆole neuronal et de fusion multimodale bas´ee sur le syst`eme PerAc [GZ95]. Cette
compl´ementarit´e entre performance et flexibilit´e rend notre plateforme r´eutilisable dans
une vari´et´e de missions utilisant la vision comme principale source d’information sur
l’environnement.
La premi`ere section pr´esente les approches existantes dans le contexte des mod`eles
visuels bio-inspir´es. Aucune autre approche ne concilie `a la fois l’utilisation de mod`eles
bio-inspir´es, les capacit´es de traitement temps r´eel, et le fonctionnement op´erationnel
d’un syst`eme embarqu´e autonome. Nous pr´esentons ensuite le mod`ele attentionnel multi´echelles utilis´e. Nous d´ecrivons l’architecture mat´erielle de vision int´egr´ee dans notre
smart-camera. La troisi`eme section pr´esente la plateforme exp´erimentale couplant l’´etage
de vision et l’´etage d’apprentissage neuronal sur le robot. Nous montrons les r´esultats
obtenus sur des exp´erimentations en navigation r´eelle. Enfin nous concluons ces travaux.
Contribution
majeure
Conception d’une
smart-cam´era
bio-inspir´ee
Architecture
vis´
ee
Chaˆıne mat´erielle
d´edi´ee
Compl´
ement
K
Non
applicable
Apport
personnel
section 6.1
Publications
correspondantes
R. [FCM14, VMM+ 08]
C. [RFM13, FMC12]
T. [Lef12a, Fia15]
Table 6.1: R´esum´e des principales contributions du chapitre 6.
68
Capture
Preproc.
DMA
To RAM
Gradient
LogPol
Gaussian
Filter
LogPol
LogPol
Gaussian
Filter
DoG
Search
Sort
A
X
I
B
U
S
LogPol
Figure 6.1: Gauche : La smart-camera mont´ee sur la plate-forme robotique. Droite : Vue globale
de l’architecture de la smart-camera pour une octave. Issu de [FCM14].
6.1
Architecture mat´
erielle de la smart camera
Nous d´ecrivons l’architecture mat´erielle de notre d´etecteur pyramidal. Nous y pr´esentons principalement la premi`ere ´echelle du d´etecteur. Etant donn´e le caract`ere r´ep´etitif
de la pyramide, d’une part, et la g´en´ericit´e de nos blocs mat´eriels d’autre part, l’ensemble
de la chaˆıne peut ˆetre construite `a partir de plusieurs instanciations de celle-ci.
L’organisation g´en´erale de notre architecture est repr´esent´ee dans la figure 6.1. Cette
chaˆıne est pr´evue pour un d´eploiement sur FPGA mais est ind´ependante de toute cible
technologique. Son compl´ement, non repr´esent´e sur la figure, correspond a` la partie processeur qui se charge de transf´erer les r´esultats de la chaˆıne vers la partie applicative
connect´ee a` la smart-cam´era.
L’architecture est compos´ee d’une chaˆıne d’IP 1 propri´etaires, d´evelopp´ees a` ETIS dans
les th`eses de T. Lefebvre [Lef12b] et de L. Fiack. La chaˆıne est con¸cue pour ˆetre int´egr´ee
dans un syst`eme embarqu´e ´equip´e d’une cam´era dont elle lit le flux de pixels a` la vol´ee
grˆace a` une interface de type streaming (AXI streaming [ARM13] sur notre prototype
Zynq [Xil13]). Les r´esultats des traitements (les imagettes des points d´etect´es) sont eux
accessibles a` travers une interface m´emoire accessible par l’interm´ediaire du bus syst`eme
(AXI sur notre prototype). Les pixels de l’image a` diff´erents stades du traitement peuvent
ˆetre envoy´es en m´emoire principale pour les phases de calibration de la cam´era. Mais cette
sortie de donn´ees n’est pas utilis´ee en phase de calcul. Enfin, les blocs IP peuvent ˆetre
param´etr´es `a l’initialisation `a travers un ensemble de registres mapp´es en m´emoire non
repr´esent´es dans cette figure.
Les donn´ees suivantes peuvent donc ˆetre relues par la partie logicielle du syst`eme :
– n’importe quelle image interm´ediaire,
– la liste des points saillants tri´ee aux diff´erentes bandes de fr´equences,
– la liste des imagettes log-polaires associ´ees `a chaque point.
Les imagettes sont identifi´ees par leurs coordonn´ees, leur ´echelle et leur octave.
Les architectures internes de chaque bloc sont d´ecrites en d´etail dans [FCM14]. Les
blocs de convolution sont assez classiques. L’originalit´e de l’architecture vient des blocs
de recherche, de tri et de transformation en repr´esentation log-polaire. L’association de
la matrice FPGA et du processeur dual-core du Zynq apporte ´egalement un compromis
int´eressant entre performance et flexibilit´e. La flexibilit´e est apport´ee par la correction
1. Intellectual Properties
69
logicielle sur le processeur en s’appuyant sur le d´ebit accessible par la partie cabl´ee. Ainsi,
des corrections par moyennage et des feed-back top-down sont en cours d’int´egration sur
notre syst`eme pour am´eliorer les taux de reconnaissance et faciliter le lien avec les ´etages
cognitifs de plus haut-niveau.
6.2
Conclusion
Ce chapitre marque un tournant dans la d´emarche de conception de syst`emes computationnels embarqu´es. Trois aspects marquent ce tournant dans les travaux que nous
avons pr´esent´es ici.
Tout d’abord la m´ethode de traitement d’images utilis´ee ne s’appuie pas sur des algorithmes de vision par ordinateur mais sur une approche perceptive de l’environnement.
Par cette d´emarche bio-inspir´ee, le syst`eme propos´e n’est plus d´edi´e a` une sp´ecification
donn´ee, mais devient au contraire g´en´eral, applicable a` plusieurs probl´ematiques bas´ees
sur l’information visuelle. Du point de vue architectural, on ne peut encore observer de
diff´erences avec les approches classiques, ´etudi´ees par exemple au chapitre 5. Les acc´el´erateurs mat´eriels sont con¸cus comme des blocs de convolution flot de donn´ees fonctionnant
en accord avec le d´ebit de pixels fournis par la cam´era (60 images par seconde). La
diff´erence tient plus `a la d´emarche holistique dans laquelle s’ins`ere l’architecture computationnelle. Des propri´et´es int´eressantes d’un point de vue technique ´emergent cependant.
Notre smart-camera mimant les processus attentionnels biologiques, le flux de donn´ees
sortant est consid´erablement r´eduit. Cette r´eduction concerne la quantit´e d’information a`
transmettre, la consommation ´electrique n´ecessaire a` l’´emission et le traitement ult´erieur
de cette information.
Ensuite, le traitement de cette information visuelle, pour accomplir la tˆache demand´ee,
suit une approche par apprentissage. L’image n’est pas consid´er´ee comme une information
statique. Elle ne repr´esente pas non plus de donn´ee pertinente si elle est utilis´ee seule.
Dans cette d´emarche de calcul incarn´e, le flux dynamique de donn´ees visuelles est associ´e `a
l’action `a r´ealiser. C’est dans cette boucle sensori-motrice que le syst`eme peut discriminer
dans le flux d’informations une donn´ee utile a` son succ`es. L’apprentissage neuronal embarqu´e sur notre plateforme RobotSoC associe alors a` certains lieux une action `a r´ealiser.
Dans nos exp´eriences en navigation, ces actions apprises sont les mouvements montr´es
au robot par l’exp´erimentateur pour lui faire apprendre une trajectoire. L’approche est
robuste et dot´ee de capacit´es de g´en´eralisation face `a des lieux interm´ediaires. Une preuve
de concept a ´et´e r´ealis´ee dans un comportement de homing. La tˆache apprise n’a jamais
´et´e programm´ee enti`erement, comme dans les d´emarches classiques de conception. Elle
´emerge des associations locales qui ont ´et´e apprises.
Enfin, la d´emarche s’inspire du fonctionnement des syst`emes biologiques pour apporter aux syst`emes artificiels des capacit´es d’auto-adaptation. Une telle d´emarche tente de
comprendre les principes fondateurs du calcul naturel pour en tirer des mod`eles num´eriques simplifi´es mais efficaces dans un certain contexte. C’est avant tout cette nouvelle
orientation qui marque le tournant de cette recherche.
En effet, l’adaptation est un terme de plus en plus r´epandu dans le domaine de la
conception de syst`emes mat´eriels. Leur complexit´e croissante, permise par une technologie
toujours plus dense, soul`eve trop de probl´ematiques pour continuer sur la voie emprunt´ee
depuis pr`es de cinquante ans. La variabilit´e des processus de conception, le vieillissement
des composants, la limite d’appr´ehension intellectuelle de syst`emes compos´es de milliards
d’´el´ements, la tol´erance aux fautes g´en´er´ees par des environnements critiques, l’adaptation
70
aux environnements dans lesquels ils sont d´eploy´es, le traitement de masses de donn´ees
auxquelles il faut donner sens, l’intelligence embarqu´ee demand´ee par les applications ...
sont les symptˆomes d’une science informatique et ´electronique en changement.
Notre proposition est que l’adaptation attendue des syst`emes de calcul pourrait provenir d’un triptyque rapprochant sciences informatiques, ´electroniques et neurosciences
computationnelles.
Le prochain chapitre est d´evolu `a la derni`ere ´etape de notre progression. Nous ´etudierons
comment int´egrer le processus adaptatif au sein mˆeme de la structure du calculateur.
Cette approche propose de placer le calculateur au centre d’une boucle perceptive qui
associe le d´eveloppement de son architecture `a un processus ´enactif.
Table 6.2: R´esum´e des principales caract´eristiques de la m´ethode pr´esent´ee dans ce chapitre.
M´
ethode
Architecture
Contraintes
Mod`
ele
Cas de test
cible
applicatives
de tˆ
aches
Smart-cam´era Chaˆıne pipeline temps r´eel mou flot de donn´ees Traitement
bio-inspir´ee
d’acc´el´erateurs
d’images
cabl´es
Une recherche en ´
equipe
Th`
eses encadr´
ees 2
1. Laurent Fiack, d´emarrage en octobre 2012.
Les effets de l’environnement sur l’organisation des architectures mat´erielles autoorganis´ees.
2. Thomas Lefebvre, th`ese soutenue le 24 septembre 2012.
Architecture MPSoC Adaptative pour cam´era robotique intelligente.
Stages encadr´
es
1. 2011-2012, Laurent Fiack, Architecture mat´erielle prototyp´ee sur FPGA d’une camera intelligente pour la robotique mobile, Master Recherche ESA
Publications principales 3
[FCM14] Embedded and real-time architecture for bio-inspired vision-based robot navigation, L. Fiack and N. Cuperlier and B. Miramond, Springer Journal of Real
Time Image Processing (JRTIP), a` paraˆıtre en 2014.
[FMC12] FPGA-based vision perception architecture for robotic missions, L. Fiack,
B. Miramond and N. Cuperlier, in proceedings of First Workshop on Smart CAmeras for roBOTic applications (SCaBot/IROS), 6 pages, 2012
2. D´etails page 18
3. D´etails page 24
71
[VMM+ 08] Using High-Level RTOS Models for HW/SW Embedded Architecture Exploration : Case Study on Mobile Robotic Vision, F. Verdier, B. Miramond, M.
Maillard, E. Huck, T. Lefebvre, Eurasip Journal on Embedded Systems, 2008.
Projets 4
1. Projet RobotSoC, financ´e par la Communaut´e d’Agglom´eration de Cergy-Pontoise.
4. D´etails page 15
72
Bibliographie
[ARM13] ARM. Amba open specifications, the de facto standard for on-chip communication. http ://www.arm.com/products/system-ip/amba/amba-openspecifications.php, 2013.
[CR03] James L. Crowley and Olivier Riff. Fast computation of scale normalised
gaussian receptive fields. Springer Lecture Notes in Computer Science, 2695,
2003.
[FCM14] Laurent Fiack, Nicolas Cuperlier, and Benoˆıt Miramond. Embedded and realtime architecture for bio-inspired vision-based robot navigation. Journal of
Real-Time Image Processing, pages 1–24, 2014.
[Fia15] Laurent Fiack. Les effets de l’environnement sur l’organisation des architectures mat´erielles auto-organis´ees. PhD thesis, Th`ese en cours, Universit´e de
Cergy-Pontoise, 2015.
[FMA+ 10] Cl´ement Farabet, Berin Martini, Polina Akselrod, Sel¸cuk Talay, Yann LeCun,
and Eugenio Culurciello. Hardware accelerated convolutional neural networks
for synthetic vision systems. In ISCAS, pages 257–260, 2010.
[FMC12] L. Fiack, B. Miramond, and N. Cuperlier. Fpga-based vision perception architecture for robotic missions. In First Workshop on Smart CAmeras for
roBOTic applications (SCaBot/IROS), pages 1–6, october 2012.
[GZ95] P Gaussier and S. Zrehen. Perac : a neural architecture to control artificial
animals. Robotics and Autonomous Systems, 16(2–4) :291–320, 1995.
[Lef12a] Thomas Lefebvre. Architecture MPSoC Adaptative pour cam´era robotique
intelligente. PhD thesis, Universit´e de Cergy-Pontoise, 2012.
[Lef12b] Thomas Lefebvre. Phd report : Exploration architecturale pour la conception
d’un systeme sur puce de vision robotique, adequation algorithme-architecture
d’un systeme embarque temps reel. University of Cergy-Pontoise, 2012.
[RFM13] Laurent Rodriguez, Laurent Fiack, and Benoˆıt Miramond. A neural model
for hardware plasticity in artificial vision systems. In in IEEE Proceedings
of Conference on Digital Architectures for Image and Signal Processing (DASIP), page 8, octobre 2013.
[RP99] Maximilian Riesenhuber and Tomaso Poggio. Hierarchical models of object
recognition in cortex. Nature Neuroscience, 2 :1019–1025, 1999.
[SWB+ 07] Thomas Serre, Lior Wolf, Stanley Bileschi, Maximilian Riesenhuber, and Tomaso Poggio. Robust object recognition with cortex-like mechanisms. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 29(3) :411–426,
2007.
[VMM+ 08] Fran¸cois Verdier, Benoit Miramond, M. Maillard, Emmanuel Huck, and Thomas Lefebvre. Using High-Level RTOS Models for HW/SW Embedded Architecture Exploration : Case Study on Mobile Robotic Vision. Eurasip Journal
on Embedded Systems (JES), 2008 :349465, 2008.
[Xil13] Company Xilinx. All programmable soc, 2013.
73
74
Chapitre 7
Auto-organisation dans les
architectures de traitement
massivement parall`
eles
En poursuivant notre inspiration biologique, nous d´efendons l’id´ee que l’architecture
mat´erielle, qui est le support de l’ex´ecution embarqu´ee, ne peut pas ˆetre pens´ee seule
mais doit ˆetre consid´er´ee comme sous-partie d’un syst`eme adaptatif plus global compos´e
de capteurs, d’actionneurs, d’une source d’´energie et d’une unit´e de contrˆole du comportement de cette entit´e artificielle. Nous consid´ererons le cas d’un robot mobile dans le cadre
de ce chapitre.
Nous suivons ainsi une approche de calcul incarn´e, en r´ef´erence a` la th´eorie de l’Embodiement
´enonc´ee dans le domaine des sciences cognitives [PB06] [WF11] [Cla08].
En effet, l’objectif de notre travail dans ce chapitre est de concevoir un contrˆoleur
embarqu´e intelligent dont les ´el´ements s’auto-organisent de mani`ere `a adapter son architecture a` la fois `a la morphologie du robot et a` son comportement face aux variations de
son environnement.
Pour cela, le robot doit construire, a` travers cette architecture, une repr´esentation
interne de cet environnement externe qu’il per¸coit par l’interm´ediaire des capteurs r´epartis selon sa morphologie propre. Cette repr´esentation lui sert a` agir sur le monde
ext´erieur, a` interagir avec d’autres entit´es, `a planifier des trajectoires, suivre des objets
ou des personnes... Durant ce processus complexe, la structure mat´erielle et computationnelle n’agit plus comme un simple support d’ex´ecution des tˆaches d’une application mais
comme support de ce mod`ele interne de l’environnement. L’adaptation de l’architecture,
de la pr´ecision d’analyse de l’environnement, et de la quantit´e de calcul `a r´ealiser devient
imbriqu´ee dans une boucle d’interactions agent/environnement.
Ainsi, le processus adaptatif suit une approche d´eveloppementale. L’apprentissage, responsable de ce d´eveloppement, est assur´e par un r´eseau de neurones auto-organis´e inspir´e
des cartes de Kohonen et des champs de neurones dynamiques. Ce mod`ele neuronal prend
donc place dans une architecture computationnelle plus large. Celle-ci est embarqu´ee dans
un robot mobile o`
u les propri´et´es de plasticit´e mat´erielle [RMKG12] se r´ev`elent efficacement, compte tenu de la boucle sensori-motrice dans laquelle l’architecture est impliqu´ee.
L’un des enjeux commun `a la conception de calculateurs parall`eles et de syst`emes neuronaux artificiels est la scalabilit´e de leur architecture, notamment lorsque la dimension de
l’impl´ementation mat´erielle est consid´er´ee. La scalabilit´e de notre calculateur neuronal est
la premi`ere contrainte de notre approche. L’originalit´e du mod`ele neuronal propos´e tient
75
a` sa nature totalement distribu´e et `a son int´egration mat´erielle au sein d’un calculateur
many-core.
C’est la raison pour laquelle nous nous appuyons sur une autre propri´et´e compl´ementaire des syst`emes biologiques, la saillance. L’information per¸cue (mono ou multimodale)
n’est effectivement ni re¸cue ni trait´ee de mani`ere uniforme dans le cerveau. L`a o`
u les
syst`emes de calcul artificiels consid`erent de mani`ere identique l’ensemble des donn´ees
provenant des capteurs (par exemple l’ensemble des pixels d’une cam´era), les syst`emes
biologiques consid`erent des sous-ensembles de ces stimuli trait´es s´equentiellement dans les
tˆaches cognitives de haut-niveau. Cette focalisation est le r´esultat d’une boucle entre les
informations bottom-up (saillance) et les informations top-down (attention). D’un point
de vue calculatoire, elle r´eduit la charge de calcul de l’architecture en focalisant sur le
traitement des informations les plus saillantes (pour la tˆache consid´er´ee).
L’int´egration de l’architecture de calcul dans cette boucle rapproche donc le paradigme classique (programmable) du paradigme de calcul naturel (neuronal) mais ´eloigne
le concepteur des propri´et´es de d´eterminisme, de pr´edictibilit´e et donc de programmation
de son syst`eme. L’adaptativit´e est a` ce prix.
Dans ce dernier volet sur les architectures multi-coeurs, nous proposons un compromis,
une voie du milieu, entre ces deux paradigmes. L’architecture propos´ee se structure pour
cela en plusieurs couches int´egrant l’adaptation par l’apprentissage de l’environnement `a
travers un ´etage neuronal et la programmation applicative a` travers un ´etage processeur.
Contribution
majeure
Paradigme
de calcul
auto-organis´e
Architecture
vis´
ee
MPSoC
neuronal
Compl´
ement
K
Neurone
mat´eriel
Apport
personnel
section 7.1
Publications
correspondantes
R. [RMG14]
C. [FMUV14, RFM13, RMKG12, RFM11]
T. [Rod14, Fia15]
Table 7.1: R´esum´e des principales contributions du chapitre 7.
7.1
Organisation du calculateur
Le calculateur neuronal pr´esent´e dans cette section est le r´esultat principal du projet
ANR JC SATURN (2011-2013). Le comportement plastique attendu de notre syst`eme est
illustr´e dans la partie de gauche de la figure 7.1. L’architecture multicoeur vis´ee est un
syst`eme massivement parall`ele organis´e autour d’un r´eseau sur puce de topologie MESH
2D. A chaque tuile de calcul, repr´esent´ee par un carr´e gris, est associ´e un neurone mat´eriel,
repr´esent´e par un cercle blanc. Ce r´eseau de neurones imbriqu´e dans l’architecture est
responsable de l’affectation dynamique des processeurs au traitement d’un type de donn´ee
d’entr´ee. Des aires de calcul se d´eveloppent donc au cours des stimulations. Dans l’exemple
repr´esent´e, a` un instant donn´e de l’apprentissage, 3 tˆaches sont en comp´etition pour
l’obtention des ressources de calcul.
Ce comportement peut ˆetre atteint grˆace `a une organisation en couches d´efinie dans
le cadre de la th`ese de Laurent Rodriguez [Rod14]. Cette organisation est illustr´ee dans
la partie de droite de la figure 7.1.
Le premier niveau est responsable de l’acquisition des donn´ees provenant des capteurs
(vision, audition, proprioception ...). Ce niveau est appel´e couche d’acquisition dans le
reste du chapitre. La composition de ce niveau d´epend du nombre de capteurs et de la
morphologie de la cible robotique vis´ee. Dans une approche incarn´ee, une des propri´et´es de
76
Computing cell
Competing neuron
Local wiring
border cells
Task3
PE
(4)
N
O
S
E
Computing
Program
Memory
Controler
Self−Organizing Map
(3)
N
O
S
E
Adaptation
Extraction of salient regions
Data
Memory
(2)
Preprocessing
Camera
(1)
Task2
Proprioception
Data aquisition
Data propagation
Task1
Figure 7.1: Gauche : La vue imbriqu´
ee de l’architecture de notre syst`
eme. Le calculateur suit un mod`ele multi-SPMD reconfigurable. Droite : La vue en couches de l’architecture
de notre syst`
eme. (1) Les donn´ees acquises depuis le premier niveau sont pr´e-trait´ees de fa¸con
`
a extraire les informations saillantes provenant de chaque capteur. (2) La couche d’adaptation
correspond `
a la partie neuronale de l’architecture agissant comme une carte auto-organisatrice.
Celle-ci est le lieu de fusion de l’information multi-modale. Elle apprend la structure de l’information dans le but d’organiser les tˆ
aches d´eploy´ees sur la grille de processeurs ´el´ementaires
reconfigurables (RPE) composant la couche programmable (4). Issu de [RMKG12].
la plasticit´e mat´erielle est bien de s’adapter a` cette morphologie avec laquelle le syst`eme
per¸coit l’environnement et en construit sa propre repr´esentation.
Le deuxi`eme niveau appel´e couche de pr´
e-traitement, est la partie d´ependante de
l’application dans la structure du syst`eme. Du point de vue biologique, la saillance est
une notion profond´ement ancr´ee dans le processus de d´eveloppement des esp`eces. Dans
le contexte de syst`emes artificiels, la saillance sert de biais avec lequel le concepteur peut
orienter l’agent vers un comportement particulier en d´esignant les sources d’int´erˆet dans
l’environnement. En restreignant la discussion aux aspects architecturaux, l’organisation
´emergente des aires de calcul de la couche 4 (figure 7.1) se d´eveloppe selon la richesse
(la saillance coupl´ee a` sa densit´e d’apparition) des stimuli d’entr´ee de la carte neuronale
(couche 3).
La programmation prend alors un autre chemin, celui de l’apprentissage. Par cette approche, la complexit´e de programmation des syst`emes multi-coeurs est r´eduite tout en
conservant un certain niveau de contrˆole sur le comportement du syst`eme. Nous avons
d´ej`a illustr´e ces propri´et´es dans le contexte de la navigation robotique au chapitre 6 ainsi
que dans [FCM14]. Nous avons d´evelopp´e dans [FCM14] un syst`eme embarqu´e inspir´e de
mod`eles psychologiques de l’attention visuelle [Tre80]. En apprenant les associations entre
cellules de lieu et mouvements du robot, nous pouvons construire un bassin d’attraction
pour le robot ou encore une succession de bassins pour facilement former une trajectoire
complexe dans un environnement inconnu [GGB06]. Cet exemple illustre comment des
approches guid´ees par les donn´ees (data-driven) peuvent programmer un comportement
particulier.
Le troisi`eme niveau correspond a` la couche d’adaptation et donc `a la clef de voute
de notre syst`eme. Il s’appuie sur une carte neuronale sp´ecialement adapt´ee pour une impl´ementation mat´erielle scalable. Celle-ci n’utilise qu’un r´eseau de connexions locales pour
apprendre les classes de stimuli provenant de l’environnement. L’apprentissage construit
donc au rythme de l’exp´erience du robot une repr´esentation interne de la densit´e (au
sens statistique) de ces stimuli. L’adaptation des aires de traitement de la couche 4 sera
effectivement li´ee `a la densit´e (formalisation de la richesse) de chaque modalit´e.
Finalement le dernier niveau correspond a` la couche programmable. Il est organis´e
77
autour d’une matrice de processeurs ´el´ementaires reconfigurables (RPE 1 ). Les RPE apportent le pendant programmable de la couche de calcul neuronal. Ces RPE ex´ecutent
les tˆaches applicatives du syst`eme qui peuvent s’y exprimer dans l’un ou l’autre des paradigmes de calcul.
En suivant le paradigme de programmation classique, les tˆaches sont exprim´ees comme un
ensemble de threads parall´elisables sur la surface de chaque aire de calcul. Le calculateur
suit alors un mode multi-SPMD 2 reconfigurable. Le mod`ele de calcul de la maille associative [LMDM09, DM08] pourrait alors ˆetre utilis´e au sein de chaque aire de traitement.
En suivant un paradigme de programmation par apprentissage, les tˆaches expriment un
comportement cognitif de plus haut-niveau. Chaque RPE peut alors ˆetre assimil´e `a un
mod`ele macroscopique de colonne corticale dans laquelle s’ex´ecutent s´equentiellement plusieurs groupes neuronaux impliqu´es dans le comportement global du robot (suivi d’objet,
reconnaissance, navigation, imitation...).
7.2
Synth`
ese
Nous terminons ce document par une ouverture vers les mod`eles de calcul naturel. Les
syst`emes neuronaux biologiques sont naturellement une source d’inspiration in´epuisable
pour reconsid´erer les paradigmes de calcul que nous avons mis en question dans les pr´ec´edents chapitres. Leurs propri´et´es de calcul massivement parall`ele, d’auto-organisation, et
de distribution des r`egles de contrˆole nous ont conduit a` d´efinir la notion de plasticit´e mat´erielle. Cette contribution est inspir´ee du m´ecanisme de plasticit´e corticale pr´esent dans
les structures sup´erieures du cerveau des mammif`eres. Dans notre projection vers des
calculateurs toujours plus complexes, nous utilisons ce m´ecanisme comme un paradigme
de calcul compl´ementaire aux capacit´es des architectures many-core. Le calcul n’est alors
plus contrˆol´e a` un niveau fin par une programmation compl`ete du syst`eme. Au contraire,
le contrˆole ainsi que le d´eterminisme sont relˆach´es au profit de l’apprentissage. Le syst`eme est guid´e par les informations int´eressantes qui lui sont pr´esent´ees soit de mani`ere
autonome soit de mani`ere supervis´ee.
Le principe de plasticit´e mat´erielle conduit donc a` un changement fondamental du
paradigme de calcul en lui-mˆeme mais aussi dans l’organisation interne d’un calculateur
embarqu´e. En effet, construire un syst`eme artificiel satisfaisant ce comportement n´ecessite
de s’int´eresser a` quatre probl´ematiques inter-disciplinaires discut´ees dans ce chapitre :
– Premi`erement, le processus d´eveloppemental par lequel les aires de calcul croissent,
induit la pr´esence d’une carte neuronale qui cat´egorise les donn´ees sensorielles multimodales qui lui servent a` percevoir son environnement. Si des solutions existent
en neurosciences, l’originalit´e du mod`ele propos´e vient de la distribution des r`egles
d’apprentissage au travers d’un r´eseau faiblement connect´e. Ce mod`ele a ´et´e con¸cu
en mat´eriel et est en cours d’int´egration dans notre calculateur parall`ele. Cependant,
il connait encore certaines limitations pour ˆetre g´en´eralisable a` des vecteurs d’entr´ee
multi-dimensionnels. Des ´etudes plus pouss´ees doivent ´egalement ˆetre men´ees pour
mieux contrˆoler sa convergence.
– Deuxi`emement, l’auto-organisation du calculateur est directement li´ee aux donn´ees
saillantes qui lui parviennent de l’ext´erieur. Les architectures mat´erielles impl´ementant les mod`eles biologiques de perception attentionnelle sont encore rares dans la
litt´erature en vision bio-inspir´ee. Diff´erents mod`eles computationnels se font concurrence, mais tous requi`erent une grande puissance de calcul. Une solution op´eration1. Reconfigurable Processing Element
2. Single Program Multiple Data
78
nelle a ´et´e propos´ee dans le cas de la vision au chapitre 6. La continuit´e de ces
travaux vers de la fusion multi-modale n´ecessiterait de s’int´eresser `a la construction
de cartes de saillances multi-modales (auditives, tactiles, olfactives...).
– Troisi`emement, l’organisation multi-niveaux de notre syst`eme est encore difficilement conciliable avec les technologies micro-´electroniques classiques. Une telle superposition de couches de traitement tirerait partie de technologies d’int´egration
3D, voire de nouvelles technologies (Memristors, nanotechnologies...) plus denses et
plus en accord avec les calculs ´el´ementaires des neurones biologiques.
– Finalement, les r´esultats obtenus sur donn´ees synth´etiques en simulation nous ont
prouv´e l’efficacit´e de chaque ´etage du syst`eme individuellement. L’approche compl`ete n´ecessite maintenant d’ˆetre exp´eriment´ee et valid´ee dans sa totalit´e. Pour cela,
l’ensemble des couches du syst`emes doit ˆetre assembl´e. Ce travail est en cours dans
la th`ese de Laurent Fiack [Fia15] mais risquent de d´epasser le cadre d’une seule
th`ese. La smart camera et l’architecture Saturn seront donc coupl´ees puis test´ees
dans des sc´enarios de navigation robotique.
Table 7.2: R´esum´e des principales caract´eristiques de la m´ethode pr´esent´ee dans ce chapitre.
M´
ethode
Architecture
cible
Paradigme
Architecture
de calcul
parall`ele
auto-organis´e
neuronale
Contraintes
Mod`
ele Cas de test
applicatives de tˆ
aches
temps r´eel mou
SPMD
Traitement
d’images
Une recherche en ´
equipe
Th`
eses encadr´
ees
1. Laurent Rodriguez, d´emarrage en F´evrier 2011.
D´efinition d’un substrat computationel pour architectures de traitement auto-adaptables
dans le cadre de la vision robotique.
2. Laurent Fiack, d´emarrage en octobre 2012.
Les effets de l’environnement sur l’organisation des architectures mat´erielles autoorganis´ees.
Stages encadr´
es
1. 2007-2008, Gilles Tourreau, Mise en comp´etition de tˆaches logicielles pour une ex´ecution en environnement temps r´eel, Master Recherche SIC
Publications principales 3
[RMG14] Toward a sparse self-organizing map for neuromorphic architectures, L. Rodriguez and B. Miramond and B. Granado, in ACM Journal of Emerging Technologies in Computing Systems, 2014.
3. D´etails page 24
79
[RFM13] A neural model for hardware plasticity in artificial vision systems, L. Rodriguez, L. Fiack and B. Miramond, in IEEE Proceedings of Conference on Digital
Architectures for Image and Signal Processing (DASIP), 8 pages, octobre, 2013.
[RMKG12] Embodied computing : selfadaptation in bio-inspired reconfigurable architectures, L. Rodriguez, B. Miramond, I. Kalboussi, B. Granado, in 19th Reconfigurable Architectures Workshop (RAW), 6 pages, May 2012.
Projets et collaborations 4
1. Projet RETINE, financement EGIDE Germaine de Stael 2013-2015 avec le
Professeur Andres Upegui `a Gen`eve.
2. Projet ANR Jeune Chercheur SATURN (2011-2014), Self-Adaptive Technologies for Upgraded Reconfigurable Neural computing.
4. D´etails page 15
80
Bibliographie
[Cla08] Andy Clark. Supersizing the Mind : Embodiment, Action, and Cognitive Extension. Oxford Univ. Press, 2008.
[DM08] Julien Denoulet and Alain M´erigot. An architecture based on reconfigurability and asynchronism for real-time image processing. J. Real-Time Image
Processing, 3(3) :119–130, 2008.
[FCM14] Laurent Fiack, Nicolas Cuperlier, and Benoˆıt Miramond. Embedded and realtime architecture for bio-inspired vision-based robot navigation. Journal of
Real-Time Image Processing, pages 1–24, 2014.
[Fia15] Laurent Fiack. Les effets de l’environnement sur l’organisation des architectures mat´erielles auto-organis´ees. PhD thesis, Th`ese en cours, Universit´e de
Cergy-Pontoise, 2015.
[FMUV14] Laurent Fiack, Benoˆıt Miramond, Andres Upegui, and Fabien Vannel. Dynamic parallel reconfiguration for self-adaptive hardware architectures. In NASA/ESA Conference on Adaptive Hardware and Systems (AHS-2014), 2014.
[GGB06] C. Giovannangeli, Ph. Gaussier, and J. P. Banquet. Robustness of visual place
cells in dynamic indoor and outdoor environment. Int. Journal of Advanced
Robotic Systems, 3(2) :115–124, June 2006.
[LMDM09] Lionel Lacassagne, Antoine Manzanera, Julien Denoulet, and Alain M´erigot.
High performance motion detection : some trends toward new embedded
architectures for vision systems. Journal of Real-Time Image Processing,
4(2) :127–146, 2009.
[PB06] Rolf Pfeifer and Josh C. Bongard. How the Body Shapes the Way We Think :
A New View of Intelligence. 2006.
[RFM11] Laurent Rodriguez, J´erˆome Fellus, and Benoˆıt Miramond. Self-organization of
reconfigurable processing elements during mobile robots missions. In Proceedings of the 6th International Workshop on Reconfigurable Communicationcentric Systems-on-Chip (ReCoSoC), pages 1–2, Montpellier, France, June
2011.
[RFM13] Laurent Rodriguez, Laurent Fiack, and Benoˆıt Miramond. A neural model
for hardware plasticity in artificial vision systems. In in IEEE Proceedings
of Conference on Digital Architectures for Image and Signal Processing (DASIP), page 8, octobre 2013.
[RMG14] Laurent Rodriguez, Benoˆıt Miramond, and Bertrand Granado. Toward a
sparse self-organizing map for neuromorphic architectures. ACM Journal of
Emerging Technologies in Computing Systems, 2014.
[RMKG12] Laurent Rodriguez, Benoˆıt Miramond, Imen Kalboussi, and Bertrand Granado. Embodied computing : self adaptation in bio-inspired reconfigurable
architectures. In in proceedings of 19th Reconfigurable Architectures Workshop (RAW), page 6, june 2012.
[Rod14] Laurent Rodriguez. D´efinition d’un substrat computationel pour architectures
de traitement auto-adaptables dans le cadre de la vision robotique. PhD thesis,
Th`ese en cours, Universit´e de Cergy-Pontoise, 2014.
81
[Tre80] A. Treisman. A feature-integration theory of attention. Cognitive Psychology,
12(1) :97–136, January 1980.
[WF11] Robert A. Wilson and Lucia Foglia. Embodied cognition. In Edward N. Zalta,
editor, The Stanford Encyclopedia of Philosophy. Fall 2011 edition, 2011.
82
Chapitre 8
Conclusion et perspectives
8.1
Synth`
ese
Ces cinq chapitres ont ´et´e l’occasion pour moi de faire un bilan personnel de mes
travaux de recherche. Dix ans se sont effectivement ´ecoul´es depuis ma th`ese, et tout
comme la r´edaction de publications permet de prendre du recul sur le travail de fond, la
r´edaction de ce m´emoire d’HDR m’a permis de faire la critique de mes choix scientifiques.
Ainsi, j’ai avant tout adress´e la probl´ematique des architectures MPSoC a` travers
cinq contextes diff´erents, et avec eux, cinq domaines applicatifs de l’embarqu´e avec leurs
contraintes respectives. Cet ´echantillonnage des cat´egories de syst`emes embarqu´es permet
d’observer un compromis entre le d´eterminisme de fonctionnement n´ecessaire a` tout syst`eme artificiel et les capacit´es d’adaptation de plus en plus souhaitables que l’on peut emprunter aux syst`emes biologiques. Concr`etement, ce compromis s’est traduit dans chaque
chapitre par une m´ethode sp´ecifique de gestion des tˆaches applicatives.
Dans cette diversit´e, une question r´ecurrente a ´et´e la scalabilit´e de chacune des m´ethodes
propos´ees, ceci dans la perspective annonc´ee en introduction, d’appr´ehender des syst`emes
de plusieurs centaines de processeurs.
Le chapitre 3 a d´ecrit mes travaux concernant la m´ethode de l’ordonnancement dense.
Cette m´ethode fait partie de la cat´egorie des ordonnancements hors-ligne et se base sur
une table contenant les dates d’activation des tˆaches en fonction des sp´ecifications applicatives. La limite des approches conventionnelles de time-driven scheduling de ce domaine
provient de la longueur des ordonnancements `a stocker dans ces tables. J’ai montr´e que
cette m´ethode apportait le plus grand degr´e de d´eterminisme tout en restant scalable
vis-`a-vis du nombre de tˆaches a` ex´ecuter sur le syst`eme MPSoC. Cette scalabilit´e a ´et´e
rendue possible par une conception conjointe hors-ligne/en-ligne associant une m´ethode
de contraction de l’ordonnancement, habituellement ´etabli sur l’hyper-p´eriode, et une
proc´edure mat´erielle de correction en-ligne des dates stock´ees dans les tables de chaque
processeur. La mod´elisation r´ealis´ee en langage SystemC a permis de construire une proc´edure de g´en´eration automatique de la table embarqu´ee et de son s´equenceur mat´eriel.
La m´ethode souffre encore d’une limite importante `a sa g´en´eralisation, par l’hypoth`ese
faite de tˆaches ind´ependantes. Cette extension de la m´ethode fait partie des perspectives
que j’ai identifi´ees en fin de chapitre.
Le chapitre 4 l`eve les limites des communications entre tˆaches en ajoutant une couche
OS suppl´ementaire sur chaque processeur du syst`eme. Cette couche autorise a` retarder la
gestion des communications au moment de l’ex´ecution, mais au d´etriment de la pr´edictibilit´e du comportement. Des ´etapes pr´ealables de simulation conjointe logicielle/mat´erielle
83
deviennent donc n´ecessaires pour v´erifier le respect des contraintes non-fonctionnelles du
syst`eme. Face aux approches existantes, nous avons apport´e un compromis original entre
la pr´ecision des estimations et le temps de simulation en proposant un mod`ele d’OS distribu´e de haut-niveau. J’ai montr´e que ce mod`ele permettait de simuler des syst`emes
multiprocesseurs comprenant jusqu’`a 32 tuiles h´et´erog`enes dans un temps raisonnable.
Le mod`ele a ´et´e int´egr´e dans un outil graphique (plugin eclipse) pour faciliter la g´en´eration de code des mod`eles de simulation. Ces travaux appellent aujourd’hui `a mener des
exp´erimentations plus pouss´ees sur l’´etude statistique de l’exactitude des estimations de
performances qui en r´esultent.
Le chapitre 5 m’a permis d’ouvrir le cadre des architectures MPSoC aux architectures reconfigurables dynamiquement. Ce nouveau degr´e de libert´e intervient comme une
d´ecision suppl´ementaire d’implantation des tˆaches. J’ai pris le pari dans ce chapitre de
consid´erer le m´ecanisme de la reconfiguration comme une nouvelle ´etape dans la programmation multi-tˆaches. Dans ce contexte, j’ai prolong´e et ´etendu le paradigme d’OS distribu´e
du chapitre 4 pour confronter la th´eorie `a la pratique. J’ai fait le choix d’un investissement
important en travail d’ing´enierie (difficilement valorisable) pour v´erifier si les principes de
gestion de la reconfiguration dynamique des FPGA ´etaient applicables. Grˆace au travail
collaboratif avec mes coll`egues d’ETIS, du LEAT, de CAIRN et de Thales, nous sommes
parvenus a` un prototype r´eel joignant la partie processeurs, les OS et middleware logiciels et mat´eriels, permettant une communication homog`ene entre les tˆaches de chaque
domaine. Ce r´esultat concr´etise plus de 6 ans de recherche et fournit la preuve de faisabilit´e de programmation homog`ene d’un RSoC. Mais la r´ealisation d’un d´emonstrateur
complet sur application r´eelle est aussi l’occasion de se confronter a` des probl`emes souvent d´elaiss´es en mod´elisation, ou tout simplement masqu´es par le biais de la simulation.
En l’occurrence, le passage `a un d´emonstrateur a montr´e que la pr´esence mat´erielle du
couple (OS, middleware) ´etait indispensable au rythme des appels syst`emes demand´es par
des tˆaches cabl´ees, mais qu’en contre-partie ce couple occupait une part importante des
ressources du circuit de validation.
Finalement, et malgr´e les efforts d´eploy´es pour faciliter la programmation de ces plateformes h´et´erog`enes, je ne peux encore admettre qu’elles soient utilisables par tous. Les
m´ecanismes d’abstraction du mat´eriel reconfigurable sont l`a, la prochaine ´etape est de les
relier `a des langages de haut-niveau comme OpenCL et des outils de g´en´eration comme
Vivado-HLS.
Le constat r´ealis´e au chapitre 5 m’a conduit `a amorcer un tournant dans mes travaux. Je posais en effet en introduction (chapitre 2) la question ”A partir de quel seuil, le
nombre croissant d’unit´es de calcul parall`eles appelle-t-il un changement profond dans le
paradigme mˆeme du calcul ?” Les annonces d’architectures many-core me laissent croire
que ce seuil a d´ej`a ´et´e franchi. J’ai donc propos´e au chapitre 6 un relˆachement drastique
de la maˆıtrise du comportement du syst`eme pour consid´erer une nouvelle propri´et´e de
ces calculateurs parall`eles en phase avec leur complexit´e et les services que nous en attendons : l’auto-adaptation. J’ai donc commenc´e au chapitre 6 une ´etude des mod`eles de
calcul naturel. Cette ´etude a commenc´e par le syst`eme de perception visuel commun des
mammif`eres. J’ai propos´e de concevoir une smart-camera implantant les mod`eles de perception pr´e-attentionnelle pour mieux comprendre les choix qu’avaient fait la nature dans
l’extraction et le codage de cette information complexe qu’est l’information visuelle. La
notion de saillance y joue un rˆole pr´epond´erant pour la r´eduction de la complexit´e computationnelle des structures corticales qui traitent cette information. La smart-cam´era est
organis´ee comme une chaˆıne de blocs de convolutions mat´eriels qui permettent de traiter
les images a` une fr´equence de 60 FPS en r´esolution VGA. Tout en suivant une organisation classique, cette r´ealisation a ´et´e l’occasion de d´efinir les bases d’une architecture
84
massivement parall`ele nouvelle, programm´ee par apprentissage.
En effet, d`es lors qu’un certain stade de besoin d’adaptation est franchi, il ne devient
plus possible, ni mˆeme raisonnable, de chercher `a sp´ecifier un syst`eme qui doit faire face
aux changements non-pr´edictibles de son environnement. Cela reviendrait `a mod´eliser
l’environnement tout autant que le syst`eme lui-mˆeme. J’ai donc propos´e au chapitre 7 de
poursuivre l’approche bio-inspir´ee du chapitre 6 pour concevoir une architecture massivement parall`ele bas´ee sur les notions d’auto-organisation et de calcul incarn´e. L’architecture
mˆele un r´eseau de processeurs conventionnels a` un r´eseau de neurones artificiels de mani`ere
a` concilier la facilit´e de programmation des blocs ´el´ementaires et l’auto-organisation du
syst`eme complet. J’ai organis´e autour de cette activit´e une nouvelle ´equipe de travail et de
nouvelles collaborations. Ce travail en ´equipe nous a conduit a` d´efinir un mod`ele neuronal
auto-organis´e compatible avec les contraintes mat´erielles, `a faire la conception d’un processeur neuronal multicoeur et `a entamer son int´egration sur une plateforme multi-FPGA
pour le coupler a` notre smart-camera ainsi qu’`a d’autres types de capteurs.
Dans notre projection vers des calculateurs toujours plus complexes, j’ai ainsi d´efini le
principe de plasticit´e mat´erielle comme un paradigme de calcul compl´ementaire aux capacit´es des architectures many-core. Le calcul n’est alors plus contrˆol´e a` un niveau fin par
une programmation compl`ete du syst`eme. Au contraire, le contrˆole ainsi que le d´eterminisme sont relˆach´es au profit de l’apprentissage. Le syst`eme est guid´e par les informations
int´eressantes qui lui sont pr´esent´ees, soit de mani`ere autonome soit de mani`ere supervis´ee. Le principe de plasticit´e mat´erielle conduit a` un changement fondamental dans le
paradigme de calcul en lui-mˆeme mais aussi dans l’organisation interne et le rˆole d’un
calculateur embarqu´e.
8.2
Perspectives
Comme l’on montr´e les perspectives propres de chaque chapitre, beaucoup de travail
reste a` faire pour d´emocratiser l’usage des calculateurs embarqu´es multicoeur. Les conclusions que j’ai apport´ees n’ont permis que de reformuler autrement la question soulev´ee en
introduction : ”Quel sera donc l’avenir du calculateur multicoeur actuel ?”
L’´evolution technologique emprunte souvent des voies qu’il ´etait difficile de pr´evoir quelques
ann´ees auparavant. On peut cependant observer les tendances actuelles de grandes compagnies pour d´evelopper des puces neuromorphiques : Qualcomm, IBM, Hewlet-Packard.
Ces circuits ne supplanteront certainement pas les calculateurs ”classiques” mais des acc´el´erateurs bio-inspir´es pourraient venir compl´eter nos processeurs s´equentiels. En passant
sous la barre des 32nm, la taille des transistors se compte en quelques dizaines d’atomes.
La variabilit´e des proc´ed´es de fabrication micro-´electronique, et la remise en question de
la synchronie redeviennent alors des questions d’actualit´e auxquelles les mod`eles de calcul naturel pourraient apporter une r´eponse. Je continuerai donc a` explorer cette voie en
conciliant perception, calcul et adaptation dans une approche mat´erielle scalable.
Cette projection `a moyen terme cohabite avec une ´ech´eance plus accessible a` court terme
sur l’exploitation efficace des architectures MPSoC. Dans les secteurs les plus critiques de
l’´electronique embarqu´ee, ce parall´elisme devra ˆetre rendu compatible avec les contraintes
temps r´eel. Et il semble ´evident qu’`a court terme, le vrai d´efi soit dans cette question.
Car si des secteurs de l’embarqu´e aussi vari´es que l’automobile, l’a´eronautique, veulent
tirer partie des possibilit´es des MPSoC, un grand chantier doit ˆetre lanc´e sur le d´eterminisme de l’ex´ecution parall`ele. Les ´etages de g´en´eration de code, d’ordonnancement, de
hi´erarchie m´emoire, d’OS, doivent ˆetre pens´es ensemble pour conserver la maˆıtrise des
propri´et´es computationnelles, de la sp´ecification jusqu’`a l’ex´ecution.
85
Je proposerais d’entamer ces travaux par trois sujets de th`ese respectivement r´epartis
sur les 3 th`emes des OS temps r´eel multiprocesseurs, de la reconfiguration dynamique et
des architectures bio-inspir´ees :
1. Ordonnancement par table ou par ´
ev`
enements dans les OS temps r´
eel :
´
etude de scalabilit´
e vers des architectures many-coeurs. Ce sujet de th`ese
s’ins`ere dans la continuit´e des travaux pr´esent´es dans les chapitres 3 et 4, et se projette vers les architectures many-core 1 . Il s’int´eresse a` confronter la scalabilit´e des
m´ethodes principales d’ex´ecution dans les domaines des syst`emes embarqu´es temps
r´eel : les m´ethodes par table (comme dans le chapitre 3) et les m´ethodes par ´ev`enement (comme dans le chapitre 4). Cette confrontation s’appuiera d’abord sur une
´etude de l’effet du nombre de coeurs sur le niveau de confiance des estimations de
performances selon ces deux m´ethodes. Elle se basera ensuite sur l’effet des topologies et des mod`eles de communications sur la variabilit´e des temps d’ex´ecution.
2. D´
efinition et conception d’un syst`
eme dynamiquement et parall`
element
reconfigurable.
La limite scientifique principale aux travaux de reconfigurable computing proviennent
de la d´ependance technologique aux circuits FPGA commerciaux. Ce sujet de th`ese
propose de s’affranchir de cette limite en remontant d’un cran le niveau de granularit´e habituellement consid´er´e, et d’´etudier la reconfiguration `a l’´echelle d’un r´eseau
de circuits FPGA. L’´el´ement de base devient le circuit individuel, et le passage
a` une granularit´e sup´erieure offre une propri´et´e nouvelle : plusieurs zones peuvent
ˆetre reconfigur´ees en mˆeme temps ! On passe alors de la Reconfiguration Dynamique
Partielle a` la Reconfiguration Dynamique Parall`ele. Il n’y a alors plus de limites ni
aux m´ethodes de placement/ordonnancement, ni aux possibilit´es de relocation dynamique. Le concept de programmation multi-tˆaches mat´erielles prend d`es lors une
autre ampleur. Une premi`ere exploration des probl´ematiques associ´ees a ´et´e r´ealis´ee dans le cadre de mes collaborations internationales en cours sur la plateforme
Confetti 2 .
3. Processeur neuronal de fusion multi-modale dans les syst`
emes embarqu´
es
auto-adaptables : parall´
elisme et auto-organisation
Ce troisi`eme sujet traite un probl`eme important a` la fois au niveau des mod`eles
num´eriques bio-inspir´es et des architectures embarqu´ees : la fusion de capteurs. Les
donn´ees qui en proviennent sont h´et´erog`enes dans leur s´emantique, leur rythme,
leur priorit´e, et pourtant toutes renseignent sur le mˆeme environnement. Dans la
continuit´e de notre approche de plasticit´e mat´erielle, plus le calculateur parall`ele
dispose d’un mod`ele riche de son environnement, mieux il peut s’adapter `a ses
variations. Ce sujet de th`ese s’int´eressera donc aux mod`eles bio-inspir´es de fusion
multi-modale et a` leur d´eclinaison mat´erielle dans un neuro-processeur embarqu´e
temps r´eel. Il se positionne dans la continuit´e des travaux pr´esent´es aux chapitres 6
et 7 pour pousser plus en avant l’´etude de mod`eles computationnels de perception
a` la fois auto-organis´es et compatibles avec une d´eclinaison mat´erielle.
1. D´epˆ
ot du projet Capacit´e sur investissement d’avenir, port´e par l’entreprise Kalray, janvier 2014
2. Dynamic parallel reconfiguration for self-adaptive hardware architectures, Laurent Fiack and Benoˆıt
Miramond and Andres Upegui and Fabien Vannel, NASA/ESA Conference on Adaptive Hardware and
Systems (AHS-2014)
86
R´
esum´
e
`mes embarque
´s multiprocesseurs aux architectures bio-inspire
´es
Des syste
Pour parvenir a` des fonctions toujours plus intelligentes, la tendance dans les syst`emes
embarqu´es comme dans les autres syst`emes informatiques, est d’augmenter le nombre de
coeurs de calcul jusqu’`a plusieurs centaines d´ej`a annonc´es pour 2015. Cependant, l’histoire
combin´ee de la micro-´electronique et de l’informatique nous a appris qu’il existait une
grande diff´erence entre ce que la technologie nous permet de r´ealiser et ce que nous
pouvons en faire. La science de l’architecture des syst`emes de calcul cherche justement le
bon compromis entre les capacit´es de traitement et la programmabilit´e, entre ce qui doit
ˆetre pr´evu `a la conception et ce qui doit ˆetre d´ecid´e `a l’ex´ecution, entre la bonne partition
entre le logiciel et le mat´eriel... Une forme nouvelle de s´election naturelle, appliqu´ee aux
syst`emes artificiels, fait ensuite le tri des solutions inadapt´ees a` une large utilisation.
Les architectures parall`eles sur puce ou MPSoC (Multi-Processor System-on-Chip)
font partie des grands enjeux de ce d´ebut de XXIe si`ecle pour le domaine de l’embarqu´e.
Ce document se positionne dans cette perspective et a pour objectif de pr´esenter les
probl´ematiques que j’ai d´evelopp´ees `a titre individuel durant mes ann´ees de recherche a`
l’universit´e de Cergy-Pontoise. Je m’appuierai sur ces travaux pour questionner les d´efis,
qui me semblent majeurs dans ma discipline, des syst`emes embarqu´es multiprocesseurs
aux architectures bio-inspir´ees.
Mots-cl´
es : Syst`emes embarqu´es, syst`emes sur puce, architectures multi-coeurs, temps
r´eel, circuits reconfigurable, syst`eme d’exploitation temps r´eel, traitement d’images, architectures bio-inspir´ees, processeurs neuromorphiques, calcul incarn´e.
Abstract
From multiprocessor embedded systems to bio-inspired architectures
The trend in embedded systems as in computer science in general consists in increasing
the number of computing cores till several hundreds achievable in 2015. However, history
of computer science and microelectronics taught us that a gap exists between what can be
reached by technology advances and what man can do with it. The science of computer
architectures is looking for the good trade-off between performances and programmability,
between what can be predicted at design time and what must be decided at executiontime, between software and hardware computation... A new form of natural selection,
applied to artificial systems, then sorts the solutions unadapted to a wide use.
Multi-Processor System-on-Chip (MPSoC) are parts of the great challenges of this new
century in the domain of embedded systems. In this report I present the problematics I
developed as associate professor at the university of Cergy-Pontoise. I will question the
major challenges of this discipline, from multiprocessor embedded systems to bio-inspired
architectures.
Keywords : Embedded systems, System-on-Chip, multiprocessor architectures, realtime, reconfigurable computing, operating systems, image processing, bio-inspired architectures, neuro-processors, embodied computing.
87