LESTER / Systèmes reconfigurables Codesign On chip

Jean-Philippe Diguet, Guy Gogniat, Jean-Luc Philippe, Yvan Eustache, Milad Elkhodary, Romain Vaslin LESTER Université de Bretagne Sud / CNRS

GDR SOC-SIP, 5/02/07, Paris

Sommaire

• Projets “reconfigurables” au LESTER • RTOS pour RSOC : problématique et positionnement • Raar
Principe du contrôle de la configuration Interface unifiée de communication / configuration Exemples smartcam

• Conclusion • Annexe : Programme reconfigurable en Allemagne

2

Projets “Reconfigurable” au LESTER
• Flot de conception : aspects exploration et décisions (Lorient)
DT / RTDT (RNRT Epicure) • Graphe de Tâches + RTOS • Exploration Hiérarchique • Partitionnement HW/SW • Analyse d’Ordonnancabilité Temps Réel • Énergie, Surface RAAR (ACI 04/07) • Codesign en deux étapes : • partitionnement solutions hors ligne • adaptation en ligne • Décision en ligne • Évolution RTOS pour tâches HW/SW • Auto-adaptation AETHER (IST-FET 2006/09) • CEA/LIST • CNRS : LESTER / I3S • Partitionnement intégralement en ligne • Self Adaptative Network Entities • http://www.aether-ist.org MOPCOM (ANR – RNTL 2007/10) • MDA, prise en compte de la reconfiguration • Génération de code VHDL / SystemC

A3S (RNTL) • Radio-Logicielle • Front End MDA pour RTDT • Enrichissement des modèles PIM/PSM • Estimation Overhead RTOS • Vérification Non Fonctionnelle

ICTER (ANR 06/08) • LIRMM • Sécurité des systèmes reconfigurables

3

Projets “Reconfigurable” au LESTER
• Flot de conception : synthèse (BREST)
MADEO : • Modélisation d’architectures reconfigurables • Outil de synthèse logique générique Projet Morpheus (IST-IP 06/08) • SoC doté d’unités hétérogènes: PiCoGA, XPP, M2000 (x2), CPU ARM, NoC • Enveloppe uniforme de ces unités: support local de la reconfiguration, tableau de mémoires commutables, alimentation DMA • Responsabilité du ‘Spatial Design’: • Circulation des données (mémoire->buffer locaux ->processus reconfigurés> retour en mémoire). • Scatter/Gather, proche du passage de messages • CAO pour les chemins de données et grain fin • Synthèse articulée autour de CDFG haut niveau, concurrents et hiérarchiques, bas niveau adaptés aux technologies • Cadre de synthèse ouvert, doté d’API portables (plusieurs langages d’entrée possibles) • http://www.morpheus-ist.org/
4

Projets “Reconfigurable” au LESTER
• Évolution de Madeo
Entrée niveau langage avec des CDFG
• boucles, acces memoire, operations, processus, com/synchro de processus) • modelisation des data paths translation vers outils PicoGa/XPP/Synopsis-M2K

Spatial design, deux entrees:
• Cdfg haut niveau avec APIs st80/java/c++ • Modele architectural (extension de Madeo), cdfg mappé sur la technologie. • Framework ouvert aux autres outils • produire des entrées • synthetiser de manière paramétrique.

• Suggestion :
Prévoir une intervention de Bernard Pottier pour la prochaine réunion …
5

RTOS pour RSOC
• Besoins industriels
Mise à jour en ligne
• Évolution des standards • Temps de développement, • Durée de vie, nouvelles applications

Motivations

Debug en ligne Tolérance aux fautes

• Optimisation de l’efficacité des architectures
Application dominées par le contrôle Comportement dépendant des données Décision hors ligne : surdimensionnement Architectures reconfigurables : opportunité pour l’adaptation en ligne
6

RTOS pour RSOC
• Complexité des applications
Disposer des services d’un OS Temps de déploiement et réutilisation Domaines : Télécoms / Multimédia
• • • • • Processeurs bande de base de base Codage Audio Codage Vidéo Processeurs graphiques Crypto-processeurs

Motivations

Caractéristiques
• Multinormes • Hautement paramétrables • Comportements fluctuants

7

RTOS pour RSOC
T1 T3 T2 T4 T6 T5

Nouveau paradigme
D[1]D[2] RAM

Data

Processeur Control
OS

HW Reconfigurable
Data

Contexte Tâches HW /SW

Appli. D[]

DD FPGA

Data

T1 T1 TN T[2] T[3] T[4] T[1] 50 Mb

• Contextes SW et HW
Temps de configuration Disponibilité du matériel => contrainte spatiale supplémentaire

• Ordonnancement
Concurrence Allocation spatio-temporel
8

RTOS pour RSOC
• Services d’un OS pour RSoC

Espace de recherche

Architecures multi-processeurs (migration de tâche) Modélisation de l’espace de configuration (spécification, codage) Décision de configuration SW/HW
OS ++

Observation (QoS, spécifique vs ) Communication (MailBox, QueueBox, Message Passing) Synchronisation (Mutex, Semaphore, Flag, RDV, …) Ordonnancement (Statique, dynamique, low power, …) Allocation/Placement HW (ex. XY, garbage collector, contraintes physiques, ..) MMU (allocation, partage HW/HW - HW/SW) Configuration (stockage, compression, chiffrement, adaptation, granularité, chargement) Contrôle configuration (ex. signaux ICAP, bus macros )

ARCHI
9

RTOS pour RSOC
• Services d’un OS pour RSoC Architectures multiprocesseurs Modélisation de l’espace de configuration Décision de configuration SW/HW

Espace de recherche …

OS ++

Observation Communication Synchronisation Ordonnancement Allocation/Placement HW MMU Configuration Contrôle configuration

Univ.Kansas I3S R2D2/ETIS … CEA/LIST Univ.Erlangen

ARCHI

ETHZ Univ.SA

Karlsruhe IMEC
10

RaaR
T, QoS, D

Objectifs
R

RSoC

Principaux verrous
1. Modélisation de l’espace de configuration 2. Décision de configuration 3. Accès aux services de communication indépendamment des

implantations SW / HW 4. Accès aux services de synchronisation indépendamment des implantations SW / HW 5. Ordre et contrôle des reconfigurations
• • • Cohérence des données / traitements Synchronisation entre tâches Granularités des traitements et configurations variables
11

RaaR

Contrôle de configuration - Principe

1er temps : élagage de l’arbre des solutions
Espace de reconfiguration :

Puissance / Surface

Choix Algorithmiques & Architecturaux x x x x x x x x x x x x x xx x x x x x x x x x #Cycles Domaine d’incertitude

12

séparation spécifique (application) et générique (système)

RaaR

Capteur batterie

Contrôle de configuration - Principe
Temps Exéc. OS QoS Services Audit

2ème temps : Régulation (adaptation)

GCM Restreint l’espace Des solutions Sélection Configuration LCM Métriques Configure chaque tache LCM LCM Demande de Moyens adaptés

Direction Générale

Allocation Resources Direction Production Mesures Qualité Missions Direction Production Direction Production

T2 T1 T3 T4

T2 T1 T3 T4 13

RaaR

Contrôle de configuration - Principe

• Example Tracking objets (base : application CEA/LIST)
Sensors & Peripheral Space OS
Execution time

Applications Space

GCM
Power consumption LCM Task HW GG CTRL LCM Task HW Cam CTRL. Metrics
Ex: Number of white pixels

• QoS normalized metrics • Configuration requirements LCM k
Configuration
EX: Number of frames for the average op.

Configuration IDs

LCM Metrics Metrics
Ex: Prediction Error

Ex: Number of white pixels

Task HW VGA CTRL

Prediction Filtering + Threshold Erosion Application k (e.g. Object Tracking) 14

RaaR

• • • •

Interface unifiée de com et de config.
Extension machine d’états classique Configurée par LCM Émission des métriques, Encapsulation tâche SW ou HW
Test Config

Modèle de tâche abstrait (HW où SW)

Metric signaling

Metric Evaluation

Wait Config Wait Data

Run Critical Section

UCCI Control UCCI FSM HW or SW task Configuration Metrics
15

Communication

RaaR
• Vue générale
CTask_create(SW task, @HW)
• Interface : Queuebox • SW : LR extension • HW : encapsulation + ISR Extended OS Services UCCI Reg. bank Local HAL Slave Port IRQ FSM HW

UCCI

Usual Extension

RTOS

Task in HW ?

SW DMA Master Port

HW Legal Representative

16

RaaR
• HW comm. & conf. Interface :
1. 2. 3.

UCCI - HW
Control & Status, Configuration & Metrics, Communications.

Usual Extension

LCM Ti-1

Write (Start, Stop…)

Read (Ready,Run,Wait)

OS

S Control
Ready Run Wait

S Status

Process
17

RaaR
• HW comm. & conf. Interface :
1. 2. 3.

UCCI - HW
Control & Status, Configurations & Metrics, Communications.

Usual Extension

Write (Config)

LCM

Write (Metrics)

S Config.
Ready Run Wait

M Metrics

Process
18

RaaR
• HW comm. & conf. Interface :
1. 2. 3.

UCCI - HW
Control & Status, Configurations & Metrics, Communications.

Usual Extension

– –

Passage de messages Mémoires partagées
Read (Local HAL…)

OS
(HAL Update Task)

S
@Tasks @ Mems @Tasks @ Mems

Local HAL Process

Read(Data)

Write(StartTi+1, Data or DataPointerTi+1)

M

M

19

RaaR
• SW comm. & conf. Interface :
1. 2. 3.

UCCI - SW
Control & Status, Configuration & Metrics, Communications.

OS Scheduler OS SW task Status OS Synch. service

20

RaaR
• SW comm. & conf. Interface :
1. 2. 3.

UCCI - SW
Control & Status, Configuration & Metrics, Communications.

Usual Extension

Tests Config. Waits Config.
HW ?

SW process

HW Legal Representative

Evaluates Metric Sends Metric 21

RaaR
• SW comm. & conf. Interface :
1. 2. 3.

UCCI - SW
Control & Status, Configuration & Metrics, Communications.

Usual Extension

Memories
IO_RD(mem1,Data)

T1 SW
IO_WR(mem2,Data)

OS HAL Memories
Ex. Avalon Bus

22

RaaR
1.

Nouveaux services de l’OS

Status des tâches HW
Local FSM

2.
– –

Contrôle de Configuration
HAL (Logical @ Physical @) Ordre de reconfiguration notamment par diffusion

3.
– –

Abstraction des services de communications
Communications (messages) Synchronisation (mutex, semaphores, RDV …)

23

RaaR

Accès au services de l’OS ….

Ex. Accès des taches HW aux services (com, synchro) de l’OS:
HW HW SW Post & Pend comm. HW Post & Pend comm.

24

RaaR

Accès au services de l’OS ….

Accès des taches HW aux services (com, synchro) de l’OS:
• • HW HW SW Post & Pend comm. HW Post & Pend comm.

T1 LR

= Legal Representative
SW representative of HW task

T1 HW

IRQ
Read_IRQ_Reg = Message ID

T1 ISR

« Post (Message) »

OS Synchro. Messaging Services (Flag, Mutex, Mailbox…)

T1 HW

IRQ
Read_IRQ_Reg = Message ID

T1 ISR

« Post = Message ID»

T1 LR

« Pend = Message»

Write_Control_Reg (HW wake up)

T1 LR

Run state (SW wake up) 25

RaaR

Accès au services de l’OS ….

Accès des taches HW aux services (com, synchro) de l’OS:
• • HW HW SW Post & Pend comm. HW Post & Pend comm.

« Post » :

T1 HW

Write_Post_Reg()

T2 HW

UCCI Interface Services

« Pend » :

T2 HW Wait_Post_Reg()
26

RaaR

Expérience

• Extension de l’application smart camera du CEA/LIST (Epicure)
+ prediction de mouvement => Mesure QoS New Frame Background

Object tracking Copro1 DMA RAM CoproN COS II Multi-Mode Task Set Accelerator G1 … Gk Accelerator F1 … Fn
27

New Services

Nios

Avalon Fabric Altera Statix
I2C control VGA control Camera Gas Gauge control Display

Battery + Gas Gauge

RaaR
• Performances : Communication performances
SW MB Post MB Pend C1 (0,5–1 f/s) C2 (3–6 f/s) C3 (20-25 f/s) 517 cy. 425 cy. T1 SW1.1 T1 HW1.1 T1 HW1.1 HW SW HW

Mesures surcoût OS
From To HW C1 x 0,035 26 (10-6 %) 900 900 (3.10-3 %) (3.10-3 %) x 2.7 x 0.09 900 26 (10-2 %) (2,6.10-6 %) 2400 2400 2400 -4 (2,4.10-4 %) (2,4.10 %) (2,4.10-4 %) x 28 x 10 900 2400 (0,1 %) (2,6.10-6 %) 26 26 26 -5 (2,8.10-5 %) (2,8.10-5 %) (2,8.10 %)
28

C1

C2 x 0,36 2400 (10-2 %) 900 (3.10-3 %)

C3

2035 cy. 3087 cy. T2 SW2.1 T2 SW2.1 T2 HW2.1

15 cy. 11 cy. T4..T7 SWx.1 T4..T7 SWx.1 T4..T7 SWx.1 C3

C2

Speedup Tconfig. (% / new config perf.) Tcomm. (% / new config perf.)

RaaR

Conclusion

• Hiérarchie de contrôleurs : séparation spécifique (local) / générique (global) • UCCI : interface unifiée des Com. et Synchronisation • Abstraction et extension des services de l’OS • Smart Camera Version 1.0
UCCI OK Management des communications et configuration : 75% Services OS : 75% Régulateur : simulation, intégration d’ici septembre 2007 Développement HW : 50%

29

Recherche / reconfigurable en Allemagne (J.Teich 07)
• DFG PGM 1148 : Reconfig. Computing Systems • Organisation / domains
Languages and Models for adaptive Applications Architectures (fine / coarse grain) Processors with reconfigurable Instruction sets, NoC Design Methodology (EDA):
• Online-Synthesis and –optimization, retargetable Compiler,

OS, dynamic Hardware/Software-Partitioning Self-reconfiguration, Verification
• Development of Synthesis Tools and Tool Support

• Duration:
6 years (2003-2009) Budget allocation: 1.5 Million €/a

30

Sign up to vote on this title
UsefulNot useful