Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
1
Maîtriser la consommation des systèmes Maîtriser la consommation des systèmes embarquésembarqués
Eric SENN, Université de Bretagne Sud, LorientLab-STICC
ECOFAC, le 29 mars 2010
Eric SENN 2Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
PlanQu'est ce qu'un système embarqué ?
Architectures / Applications / Systèmes d'exploitationComment positionner les travaux dans le domaine ?
Les différents niveaux de modélisation : compromis rapidité, performanceConsommation des ressources matérielles vs logiciellesConsommation des systèmes d'exploitation
Méthodologie pour l'analyse de la consommation des systèmes embarqués
Méthodologie d'estimation : compositionModèles de consommation
Timer / SchedulerIPC / EthernetGestionaire de mémoire virtuelle et paginationProcesseursCircuits reconfigurables
Intégration dans un flot de conception basé sur les modèles
Eric SENN 3Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Evolution des systèmes embarquésEvolution des systèmes embarqués:
Augmentation fonctionnalités / hétérogénéité Augmentation complexitéNécessité d’un système d’exploitation
Simplifier la gestion des tâchesLe portage des applicationsAbstraction des périphériques
DéfenseAérospatialMissiles et Satellites
Automobile
Réseaux mobilesTélécommunications
Electronique Grand Public
Source [Chip Design Trends –ASIC Prototyping survey 2009 ]
Systèmes embarqués
49%
Serveurs12%
Périphériques (stockage,
Imprimantes, etc)20%
PC, Stations de
travail19%
Part de marché
Eric SENN 4Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Problème de consommation dans les systèmes embarquésEvolution de la consommation Capacité des batteriesDissipation thermique Système de refroidissement
Limite 100 Watt
Limite 10 Watt
Limite 1 Watt
Puissance dynamique
Temps
Durée de vie d’une batterie
Source: [Schoellkopf 2006]
2005
Téléphones portables
Processeur
Set-Top Box
Moore’s Law Téléphones portables
Processeur
Set-Top Box
2
Eric SENN 5Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
OMAP Mistral - TMDXEVM3503OMAP 3503 + 1GB DRAM + 2 Gb NAND
Eric SENN 6Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
OMAP3530 Applications Processor CPU: ARM Cortex-A8 RISC
Frequency: 600 MHzExternal Memory Type Supported
LPDDR, NOR Flash, NAND flash, OneNAND, Asynch SRAM DMA64-Ch E
IVA2.2 subsystem with a C64x+ digital signal processor corePOWER SGX™ subsystem
3D graphics accelerationsupport display and gaming
effects
Eric SENN 7Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
OMAP Mistral - TMDXEVM3503
Eric SENN 8Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
FreeScale P2020 Application ProcessorDual e500 cores
800-1200 MHz maximum speed512 KB L2 cache64-/32-bit DDR2/DDR3 with ECC
3
Eric SENN 9Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
OMAP-L138 Applications Processor Low-power dual-core applications processor benefits from both DSP and Reduced Instruction Set Computer (RISC) technologies
TMS320C674x DSP core (300MHz)ARM926EJ-S core (300 MHz)
Eric SENN 10Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Xilinx Spartan 6And other reconfigurale circuits ... Actel IGLOO, Altera Stratix III, Altera Cyclone III, Xilinx Virtex 5
Eric SENN 11Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Xilinx – XUP Virtax II PRO
Alimentationsséparées
Eric SENN 12Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
XUPPlatform Xilinx XUP
Virtex-II pro with2 PowerPC 405 processors256MB SDRAM memory / 512 MB Compact Flash Ethernet interface
I/O controllers integrated in the FPGA (for audio, Ethernet, UART, compact flash and SDRAM)RTOS = Linux 2.6, preemptive, integrates a fixed priority low overhead real time scheduler
4
Eric SENN 13Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
La dimention applicativeEmbedded systems have to perform multiple different tasks
from control oriented (innovative user interfaces, adaptation to the environment, compliance to new formats, quality of services management)
to data intensive (multimedia, audio and video coding/decoding, software radio, 3D image processing, communication streaming)
and to sustain high throughputs and bandwidthsThey run on complex hardware
Hardware abstraction to ease the proramming and portabilityNecessity for an OPERATING SYSTEM
Cœurprocesse
ur
Périphériquesd’ E/S
Accélérateurmatériel Mémoire
Systèmed’exploitation
Eric SENN 14Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
ContexteEmbedded system =
Heterogeneous multiprocessors SoC + reconfigurableGPP, DSP, Memories, FPGA, Accelerators, Peripherals, Controllers, Bus ...
Complex multitasks applicationsHigh performances
Operating SystemManagement servicesHardware abstraction
Utilisation des OS dans le développement des systèmes embarqués [Turley 2005]
80%
Eric SENN 15Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Embedded system overview
Architecture Matérielle
GestionPériphériques
Tâche2
Tâche3Application
Tâche5Tâche4
Gestion Fichiers
Gestion Mémoire
Gestion de Processus, Threads
MémoireContrôleurEthernet
ContrôleurFlash disk
App
els
Sys
tèm
e
Ser
vice
s
Tâche1
Processeur
cache
ContrôleurEcran
EcranFlash disk
Ordonnanceur
Timer
Interface Ethernet
Système d’exploitation embarqué
IPC
Services to ease the exploitation of embedded platforms
Cooperative and pre-emptive multi-tasking
Support for periodic and aperiodic tasks
Process managementFixed or dynamic priority
schedulingMulti-threadingSemaphoresInter-process
communicationsShared memoryMemory, file, device
management... Hardware abstraction
Eric SENN 16Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Vision
Modeling time Simulation time
La consommation des systèmes embarqués : background
Power modelinglevel
Simulationlevel
Circuit levelTransistor level
SimplePower
Gate level
Cycle Acurate/ Bit Acurate
Instruction level
Micro-Architecturallevel
Wattch
QuickPowerPowerMill
PowerTimer
Jouletrack & ILPA
Transaction LevelModeling
Register Transfer levelPetrolDieselSPICE
Cycle level
Functional level SoftExplorer & FLPA
Static Analysis
Code ProfilingCAT
ValgrindGcov
Hardware Acceleration
Spreadsheets Excel Designer's guess
SystemC / SocLIB / Unisim
eSimu / SkyEye
Tools
Open-PEOPLE
C code
ASM
Binary
Input
Systemdescription
Targetmodel&
SoftWatt
5
Eric SENN 17Maîtriser la consommation des systèmes embarqués - ECOFAC 2010 17
Positionnement des travauxQuels éléments du systèmes sont considérées ?Quel objectif ?
Architecture Matérielle
Tâche2
Tâche3Application
Tâche5Tâche4
MémoireContrôleurEthernet
ContrôleurFlash disk
Tâche1
Processeur
cache
ContrôleurEcran
EcranFlash diskInterface Ethernet
Système d’exploitation embarqué
GestionPériphériques
Tâche2
Tâche3
Tâche5Tâche4
Gestion Fichiers
Gestion Mémoire
Gestion de Processus, Threads
MémoireContrôleurEthernet
ContrôleurFlash disk
Tâche1
Processeur
cache
ContrôleurEcran
EcranFlash disk
Ordonnanceur
Timer
Interface Ethernet
IPC
Eric SENN 18Maîtriser la consommation des systèmes embarqués - ECOFAC 2010 18
Positionnement des travauxComplexité des architectures considérées ?
Du simple RISC au complexe DSP superscalaire VLIW
Architecture Matérielle
Tâche2
Tâche3Application
Tâche5Tâche4
MémoireContrôleurEthernet
ContrôleurFlash disk
Tâche1
Processeur
cache
ContrôleurEcran
EcranFlash diskInterface Ethernet
Système d’exploitation embarqué
Tâche4
MémoireProcesseur
cache
ESTIMATION:Wattch [Brooks 2000]SimplePower [Ye 2000]SoftExplorer [Senn 2004]Softwatt [Gurumurthi 2002]
Eric SENN 19Maîtriser la consommation des systèmes embarqués - ECOFAC 2010 19
Positionnement des travauxPrise en compte du système d'exploitation
Overhead de consommation sur le processeur
Architecture Matérielle
Tâche2
Tâche3Application
Tâche5Tâche4
MémoireContrôleurEthernet
ContrôleurFlash disk
Tâche1
Processeur
cache
ContrôleurEcran
EcranFlash diskInterface Ethernet
Système d’exploitation embarqué
Gestion Fichiers
Gestion de Processus, Threads
Processeur
cache
Ordonnanceur
IPC
CARACTERISATION:[Dick 2000][Acquaviva 2001][Baynes 2003]
MODELISATION:[Li 2003b][Tan 2005]
Eric SENN 20Maîtriser la consommation des systèmes embarqués - ECOFAC 2010 20
Positionnement des travauxModélisation de la consommation des périphériques
Architecture Matérielle
Tâche2
Tâche3Application
Tâche5Tâche4
MémoireContrôleurEthernet
ContrôleurFlash disk
Tâche1
Processeur
cache
ContrôleurEcran
EcranFlash diskInterface Ethernet
Système d’exploitation embarqué
GestionPériphériques
ContrôleurEthernet
ContrôleurFlash disk
ContrôleurEcran
EcranFlash diskInterface Ethernet
Tâche4
MémoireProcesseur
cache
MODELISATION:[Gurun 2006][Weissel 2006]
6
Eric SENN 21Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Positionnement des travaux
Simulation
Mesures
Caractérisation
Modélisation
Activités / Objectifs
CAT: Consumption Analysis Toolbox(+ code profiling)EU Project SPICES
Systèmeembarqué
BusµProc Ethernet
Liaison Série
VidéoMémoire Audio
AADL+
ApplicationTâches + OS Plateforme
Déploiement
Modèle spécifique à la
plateforme
Code
Flot de conception MDE
Open-PEOPLEANR Project
Approches partielles , Non homogènes,Pas de support pour l’estimation dans les flots de conception de systèmes
Eric SENN 22Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
4. Modélisation système et intégration MDA
5. Outil
AADL+
Analyse de la consommation : 6 étapes
ApplicationTâches + OS Plateforme
Déploiement
Modèle spécifique à la
plateforme
1. Identification dessources de consommation
Systèmeembarqué
BusµProc Ethernet
Liaison Série
VidéoMémoire Audio
Code
P, E
MéthodologieD’estimation
2. Méthodologie d’estimation
Modèles deconsommation
Mesures
3. Modèles de conso
6. Validation
Eric SENN 23Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Etude expérimentale d’un système complet
Systèmeembarqué
BusµProc Ethernet
Liaison Série
VidéoMémoire Audio
Système d’exploitation
Tâches
Mesure de la consommation
1. Identification dessources de consommation
Eric SENN 24Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
BackgroundOS energy overhead depends on the applications complexity and the number of services called
Depending on the application, the energy consumption of an embedded system could rise from 6% to 50%. This augmentation gets higher if the frequency and supply voltage of the processor increase [Acquaviva01], [Baynes01].
The OS can consume from 1% to 99% of the processor energy depending on the services called [Dick00].
7
Eric SENN 25Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Identification des sources de consommationMesures de puissance et d’énergie des services basiques d’un RTOS
Etude de cas: processeur µBlaze, RTOS µC/OSII sur un FPGA XilinxConsommation de puissance ne varie pas d’un service à un autre,
l’energie varieService le plus consommant = création d’une tâche changement de tout
le contexte de la tâche
1,88 µJ430 mWMemory Partition Creation
1,25 µJ441 mWSemaphore Creation
1,35 µJ438 mWMutex Creation
1,74 µJ435 mWMessage queue creation
1,2 µJ439 mWMailbox Creation
100 µJ454 mWTask Creation
Energie moyenne
Puissance moyenne
RTOS service
Eric SENN 26Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Xilinx Virtex II FPGA
Identification des sources de consommationAnalyse des sources de consommation dans la plateforme Xilinx VirtexII pro
Linux 2.6 exécutant la tâche idle
2.5 VI/O Power supply
EthernetMAC
Controller
Compact Flash
ControllerRS232
Controller
Memory Controller
PLB Bus
PLB/OPB Bridge
OPB Bus
256 Mo SDRAM External Memory
2.5 V
Ethernet PHY
Compact Flash Card Port for
FPGARS232
Serial Port3.3 V 3.3 V
3.3 V
2.5 V
Pow
erP
C 4
05
DataCache
InstructionCache
TimerJTAGDebug
MMU CPU
1.5 VCore Power
Supply
Eric SENN 27Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Model developmentPower consumption measurements for the XUP
1.5 V FPGA Core PowerPC405 cores2.5 V power supply connected to the FPGA I/O, SDRAM and Flash disk3.3V power supply connected to the Ethernet physical controller ...
DC power modules include digitizers @ 50kHzPower analyserN6705A + 4xN6761/62
Server
EthernetXUP VII Pro Board
Eric SENN 28Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Répartition de la consommationAnalyse des sources de consommation dans la plateforme Xilinx VirtexII pro
Linux 2.6 exécutant la tâche idle
Analyse de la consommation de la XUPV2P
54%
32% 14%
1,5V (Processor Core)
2,5V (SDRAM + FPGA I/O)
3,3V (Ethernet + RS232 + CF)
8
Eric SENN 29Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Sources de consommation
Architecture Matérielle
GestionPériphériques
Tâche2
Tâche3Application
Tâche5Tâche4
Gestion Fichiers
Gestion Mémoire
Gestion de Processus, Threads
MémoireContrôleurEthernet
ContrôleurFlash disk
App
els
Sys
tèm
e
Ser
vice
s
Tâche1
Processeur
cache
ContrôleurEcran
EcranFlash disk
Ordonnanceur
Timer
Interface Ethernet
Système d’exploitation embarqué
IPC
Lien entre les services et les ressources matériellesAccès externes consommation des I/O (2,5V)
Eric SENN 30Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Méthodologie d’estimationMain contribution = Memory and peripherals
Explicit accessesPOSIX Inter-Process
Communication Mechanisms
Implicit accesses (swap, virtual memory, paging)
POSIX process management
Scheduling policies
Papplication
Surface = Energie consommée
Pground
Tâche i Ordonnancement
AccèsFlash
δ Pinterruptions_timer
Accès Ethernet
IPC
t
Puissance
T
T
Eric SENN 31Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modèle de consommation en strates
P
t
Tâche τ
Ti
L1: E_groundSystème sans OS et n’exécutant aucune opération
( )g ro un d g ro un dE P T τ= ×
L1
L2: Contribution intrinsèque de la tâcheModèle de puissance du processeur, qui inclut le
cache et les accès à la RAMT = Temps d’exécution de la tâche ζ
* ( )E P Tτ τδ δ τ=
L2
Eric SENN 32Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
L6
périphérique périphérique périphériqueE P Tδ δ δ= ×
L6: Accès aux périphériquesFlash, Ethernet ...
L5
IPC IPC IPCE P Tδ δ δ= ×
L5: Services de communications et de synchronisation
L4
ordonanceur ordonnanceur ordonnanceurE P Tδ δ δ= ×
L4: Contribution de l’ordonnanceurInclut les opérations d’ordonnancement et les changements de contexte
Modèle de consommation en strates
P
t
Tâche ζ
Ti δ TIPC δ Tpériphérique
L1
L2
δ Tordonnanceur
L3
int _ int _ ( )erruptions timer erruptions timerE P Tδ δ τ= ×
L3: Tics d’horloge
9
Eric SENN 33Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modélisation de la consommationFLPA : Functional Level Power
AnalysisEn trois étapesArchitectures complexesModèles simplesEstimations précisesPour les processeurs
DSP & GPPOutil SoftExplorer
Pour les FPGAPour les mémoiresPour les services des OSPour systèmes complets
P ?
AlgorithmicparametersArchitecturalparameters
P = f(parameters)
1. Functional Analysis
Block 1 Block 2
Block 3
2. Characterization
ITOTAL
3. Model determination
Algorithmicparameters
Architecturalparameters
Scenario:α = 0 … 1
Architecture:F = 20 … 200 MHz
α
α
ITOTALF1 F2
F3
Processor Model
Processor
Block 1 Block 2
Block 3
Processor
Block 1 stimulated
Eric SENN 34Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modèles de consommationUn ensemble de fonctions ... ou un tableau de points
Expriment des caractéristiques non fonctionnelles (puissance / temps d’exécution / énergie)
Relatives à des paramètresParamètres dépendent de:
L’application: taille et nombre des processus, taille des données ...Du système d’exploitation: fréquence du tick timer, Politique
d’ordonnancement ...De l’architecture matérielle: Fréquence du processeur, Fréquence de bus
...
Modèle
Equation(s)P=f(a,b,c)E=f(a,b,c)
Paramètres
abc
Composant
P, E
Eric SENN 35Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modèles de consommation
Modèle du tick timer
Modèle
Equation(s)P=f(a,b,c)T=f(a,b,c)
ParamètresFréquence du
tick timerFréquence du
processeur
Composant
P, E
Modèle de l’ordonnanceurModèle des communications inter-processusModèle des accès à l’EthernetModèle des accès à la compact Flash
Fréquence dubus
Eric SENN 36Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modèles de consommation
Modèle du tick timer
Modèle
Equation(s)P=f(a,b,c)T=f(a,b,c)
Paramètres
Fréquence dutick timerPolitique
d’ordonnacement
Composant
P, E
Modèle des communications inter-processusModèle des accès à l’EthernetModèle des accès à la compact Flash
Fréquence dubus, du processeur
Modèle de l’ordonnanceur
Nombre et tailledes processus
10
Eric SENN 37Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modèles de consommation
Modèle du tick timer
Modèle
Equation(s)P=f(a,b,c)T=f(a,b,c)
ParamètresTaille des données
échangées
Protocole
Composant
P, E
Modèle de l’ordonnanceur
Modèle des accès à l’EthernetModèle des accès à la compact Flash
Fréquence du processeur, du bus
Modèle des communications inter-processus
Modèle du processeurEric SENN 38Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Current measurements (2.5V)
Eric SENN 39Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Timer interrupt energy overheadEnergy consumption measured with OS vs without OS
For different programs(ex.: quantizer & DCT)
With different processor frequencies and tick timer frequencies
The overhead is about the same for the different programs
Only 1% to 3% of the total consumption
Eric SENN 40Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Ordonnanceur et changement de contexte
ReadyList
JobJob
SCHEDULER CPU
ResourceManager
JobJob
Job
Resources
Newthread
Blocked
Ready Running
RequestAllocate
Preemption or volontary yield
Done
Thread begin life in ready state
Waiting in the ready list while CPU used by other threads
Thread changes to running state when selected by the schedulerIf thread requests an unvailable resource
Waits in the ressource manager pool in blocked state
Thread returns to ready state if preempted or yields
ContextSwitcher
+
11
Eric SENN 41Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Changement de contexte
CPU
Old Thread Descriptor
New Thread Descriptor
Memory
Context switcher saves the content of all CPU registers
PC, IR, condition status, processor status, ALU status
Descriptors are used to hold a copy of CPU registers while the process is not running
Eric SENN 42Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
IPC modelingEtape 1: Caractérisation
Paramètres applicatifs: taille des données partagées
Paramètres matériels:Fréquence du processeur, du bus100, 200, 300Mhz, 100Mhz
Paramètres de l’OS: Protocole de communication
Eric SENN 43Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
IPC modelingEtape 2 : Analyse
PuissanceEnergie
0
500
1000
1500
2000
2500
3000
Pui
ssan
ce (m
W)
1 21 141 291 891 1491 3491 4891 6391 8191
Taille des données (octets)
Fréquence CPU 300MHz - Vdd 2,5V
M_queueShare_memoryNamed_pipeUnnamed_pipe
2300
2350
2400
2450
2500
2550
2600
2650
2700
Pui
ssan
ce (m
W)
300 200 100
Fréquence CPU (Mhz)
Vdd 2,5V
M_queue
Share_memory
Named pipe
Unnamed pipe
Variation Energie pour Mq_receive (Fréquence processeur=300Mhz)
0
5
10
15
20
0 2000 4000 6000 8000 10000
Data transited in Bytes
Ene
rgy
cons
umpt
ion
in
µJ/B
yte
2,5V
Eric SENN 44Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
IPC modelingEtape 3 : Modèles
PuissanceEnergie
12
Eric SENN 45Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Ethernet consumption modelingEtape 1 : caractérisation
Paramètres applicatifs: Taille des données transmises 0..64kBParamètres de l’OS: Protocole de communication TCP/UDPParamètres matériels:Fréquence du processeur, du bus100, 200, 300Mhz, 100Mhz
Eric SENN 46Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Ethernet consumption modelingEtape 2 : Analyse
Puissance
Contrôleur MAC (Vdd=2.5V)
0200400600800
10001200
0 10000 20000 30000 40000 50000 60000 70000
IP Packet Data Size(byte)
Cur
rent
(mA
)
100 UDP100 TCP200 UDP200 TCP300 UDP300 TCP
Proc_Freq/Protocol
Energy Consumption (µJ) per Byte of the MAC Controller(Vdd=2.5V)
0102030405060
8 50 100
500
3172
1024
0
2457
6
4096
0
5734
4
IP Packet Data size (byte)
Ener
gy (µ
J/by
te)
100 UDP
100 TCP
200 UDP
200 TCP
300 UDP
300 TCP
Contrôleur MAC (Vdd=2.5V)
0
200
400
600
800
1000
1200
100 200 300
Processor Frequency (MHz)
Cur
rent
(mA
)
8/UDP
100/UDP
500/UDP
1500/UDP
163841/UDP
32768/UDP
65536/UDP
8/TCP
100/TCP
500/TCP
1500/TCP
16384/TCP
32768/TCP
65536/TCP
IP packet data size/ Protocol
Eric SENN 47Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Ethernet consumption modelingEtape 2 : Analyse
EnergyTiming estimations
Eric SENN 48Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Ethernet consumption modelingEtape 3 : Modèle / PuissanceParameters
Hard :Processor FrequencyBus FrequencyPrimary memory
Soft :Packets size IP (8 > 64 KB)Protocol (TCP/UDP)
Av. error = 3,5%, max = 9%
13
Eric SENN 49Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Ethernet consumption modelingModèle / Energie : E(UDP) > E(TCP) for small packets ≤ 100 bytesOS background noise large variations in timing
Eric SENN 50Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Virtual memory and paging modeling
Processes address space> Primary memory ?
YESNO
Relocation swappingNo relocationphysical addresses are used
Biger process address space> Primary memory ?
Virtual memoryPaginationStatique : #pages / process fixeDynamique # pages / process variable
YES
Processesaddressspace
Primarymemory
Absoluteprogramaddressspace
0
4GB
Eric SENN 51Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Virtual memory manager
Physical addressspace
Primarymemory
Secondarymemory
Virtual address
space for Pi
Virtual address
space for Pj
0
Max
Virtual address space
(pages)Page 0Page 1
Page N-1
Physical addressspace
(primary memory page frames)
Primarymemory
0
Max
Page i
Page 1
Page i
Page N-1
PageTable
Eric SENN 52Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Linux virtual memory subsystemPage Table cache = Translation Lookaside Buffer (TLB)
Processor raises a TLB miss exception kernel gets the physical address from the virtual address in its page table (Page Global Directory: PGD)
If the entry is valid, the processor TLB is updated in O(1) If the entry is invalid the kernel searches the memory area in a red-black
tree in O(log(n))The page table is updated with the result and the process statistics are
updated according to the page fault type : minor or major Real Time Embedded System context no swapping allowed
TLB Miss
1
PAGE FAULT
Process: mm_struct
O(1) 2 MINOR
3 MAJOR
PGD
red-black treeO(log(n))
TLB
TLB
- allocation- resize stack- copy on write
- swap out/in
page
page
…
CPU
MMU vm_area_struct
14
Eric SENN 53Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Test programWrites to buffer
Buffer size must be greater than the processor TLB size TLB missesHere TLB has 64 entries and Linux uses 4KB per page minimum buffer size
= 256KBThree scenario
NPF: TLB misses but No Page Fault (1 preliminary loop on the buffer in order to allocate all pages before running the test)
ODPA: On-Demand Page Allocation strategy pages are only allocated on the first access which generates page faults
COW: Copy On Write strategy allocation and page copy delayed to the first writing
buffer
cache miss +TLB miss + page fault*
cachemiss
cache line
…
test 1
test 2
page page page
* page fault only on the first access
Eric SENN 54Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Page fault power and energy consumption
0 20000 40000 60000 80000 100000 120000 140000
0
50
100
150
200
250
S1: NPFS2: ODPAS3: COW
TLB m isses
Test
dur
atio
n (m
s)
T s 149 10 9 N TLBmisses 0.080R2 0.999
0 20000 40000 60000 80000 100000 120000 140000
0
20
40
60
80
100
120
140
S2: ODPAS3: COW
TLB misses
Page
Fau
lt du
ratio
n (µ
s)
0 20000 40000 60000 80000 100000 120000 140000
2850
2900
2950
3000
3050
3100
31502.5V power supply (SDRAM)
S1: NPFS2: ODPAS3: COW
TLB misses
Test
pow
er c
onsu
mpt
ion
(mW
)
0 20000 40000 60000 80000 100000 120000 140000
0
100
200
300
400
500
600
7002.5V power supply (SDRAM)
S1: NPFS2: ODPAS3: COW
TLB m isses
Test
ene
rgy
cons
umpt
ion
(mJ)
E J 396 10 9 NTLBmisses 0.243R2 0.999
0 20000 40000 60000 80000 100000 120000 140000
0
50
100
150
200
250
300
350
4002.5V power supply (SDRAM)
S2: ODPAS3: COW
TLB misses
Page
Fau
lt en
ergy
con
sum
ptio
n (µ
J)
Eric SENN 55Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
PowerPC 405 modelingEmbedded processor no separate supply linesinside
Measured consumption1.5V = PowerPC core +
associated components :CacheInternal memory BRAMControllersBuses
2.5V = FPGA I/O + external memory /SDRAM
ModelInclude consumption of
the primary memoryAverage error = 2%Max error = 5%
Eric SENN 56Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Power models for processorsProcessors : models for different architectures (DSP, RISC, VLIW ...)
GPP ARM7, ARM926, PowerPC405DSP TIC62, TIC64, TIC67 (VLIW)TIC55, XScale (Low power)Error < 10% from the C code, < 5% from the assembly code
Processors TI C67 TI C64 TI C62 TI C55 ARM7 Parameters floating
point VLIW fixed point VLIW + L1 &L2 cache
fixed point VLIW
low power RISC
F Clock frequency X X X X X MM Memory mode X X X X X DM Data mapping X X X W DMA data width X X X X
Arch
itect
ural
PM Power management X α Parallelism rate X X X
β Processing rate X X X X
ε DMA activity rate X X X X
γ Instruction cache miss rate X X X X τ External data access rate X X µ Data cache miss rate X σ Data read rate X δ Data write rate X
Algo
rithm
ic
PSR Pipeline Stall rate X X X
15
Eric SENN 57Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
SoftExplorer core
The processor model (power model) represents the way the processor's consumption varies with its activityThe algorithm model links the algorithm with the activity it induces in the processorFrom C source: the compiler model (prediction model) represents the compiler behaviour
Power and energy estimation
C source
Compilermodel
Processormodel
Memorymapping
Assemblycode
power model
prediction model
SoftExplorer
architectural parameters
Configura-tion
algorithmic parameters
Algorithm activity model
+ pragma
Eric SENN 58Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modélisation multi-niveaux de la consommation des FPGA
HLS tool GAUT
System Specification
System parameters known ?
IP modeled ?
IP modeling ?
System model
Algorithmic model
System model
Architectural model
Measurements / Modeling
Algorithm C
Parser C
Operators Library
DFG
Behavioural Synthesis
RTL
Resources and resources activity estimation
Operators power models
Estimation Methodology
Design Flow YES
YES
YES
NO
NO
NO
System levelEstimation
Algorithmic level
Estimation 1
Architecturallevel
Estimation
Algorithmic level
Estimation 2
Eric SENN 59Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modélisation niveau système
HLS tool GAUT
System Specification
System parameters known ?
IP modeled ?
IP modeling ?
System model
Algorithmic model
System model
Architectural model
Measurements / Modeling
Algorithm C
Parser C
Operators Library
DFG
Behavioural Synthesis
RTL
Resources and resources activity estimation
Operators power models
Estimation Methodology
Design Flow YES
YES
YES
NO
NO
NO
System level Estimation
Algorithmic level
Estimation 1
Architectural level
Estimation
Algorithmic level
Estimation 2
Eric SENN 60Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modéles systèmeParamètres identifiés par les concepteurs ... erreur max = 5%
020
4060
80100
0
5
100
0.5
1
1.5
2
Activity(%)
Power modele 25% CLB
Freq(10Mhz)
P(w
)
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
10 20 30 40 50 60 70 80 90 1000.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
2.2- Model CPT25% -
Activity %
P(w
)
F=10Mhz
F=40MhzF=30MhzF=20Mhz
F=50MhzF=60Mhz
F=80MhzF=70Mhz
F=90MhzF=100Mhz
MODEL
P=f(α,β,F)
Parameters α β F
Feature
P
Estimations:Measures:
P(mw)= 40.9 αFβ - 3.3 Fα - 97.4 αβ + 17.2 Fβ + 4.8 F + 58.9 α + β 93.0 + 227.1
16
Eric SENN 61Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modèles algorithmiques 1
HLS tool GAUT
System Specification
System parameters known ?
IP modeled ?
IP modeling ?
System model
Algorithmic model
System model
Architectural model
Measurements / Modeling
Algorithm C
Parser C
Operators Library
DFG
Behavioural Synthesis
RTL
Resources and resources activity estimation
Operators power models
Estimation Methodology
Design Flow YES
YES
YES
NO
NO
NO
System level Estimation
Algorithmic level
Estimation 1
Architectural level
Estimation
Algorithmic level
Estimation 2
Eric SENN 62Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modèles algorithmiques 1Paramètres du modèles = paramètres de l'IPErreur moyenne = 5% / Erreur max = 26%Effort de modélisation
Eric SENN 63Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modèles algorithmiques 2
HLS tool GAUT
System Specification
System parameters known ?
IP modeled ?
IP modeling ?
System model
Algorithmic model
System model
Architectural model
Measurements / Modeling
Algorithm C
Parser C
Operators Library
DFG
Behavioural Synthesis
RTL
Resources and resources activity estimation
Operators power models
Estimation Methodology
Design Flow YES
YES
YES
NO
NO
NO
System level Estimation
Algorithmic level
Estimation 1
Architectural level
Estimation
Algorithmic level
Estimation 2
FIR 71 Tap, F= 10 à 100 MHzGAUT est utilisé pour estimer
Le taux d'occupation β(β estimated = 0,09 ; β real = 0,12)
Le taux d'activité α (α = taux d'utilisation des ressources x 0,5 = 0,33)
Erreur max = 8%
Eric SENN 64Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modèles architecturaux
HLS tool GAUT
System Specification
System parameters known ?
IP modeled ?
IP modeling ?
System model
Algorithmic model
System model
Architectural model
Measurements / Modeling
Algorithm C
Parser C
Operators Library
DFG
Behavioural Synthesis
RTL
Resources and resources activity estimation
Operators power models
Estimation Methodology
Design Flow YES
YES
YES
NO
NO
NO
System levelEstimation
Algorithmic level
Estimation 1
Architecturallevel
Estimation
Algorithmic level
Estimation 2
17
Eric SENN 65Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modèle architecturalErreur moyenne = 13%
/ Erreur max = 31%
IO3
add_dataaddmult_datamultreg_dataregdyn
regaddmultstat
dynstat
CN10x93,18)RN08,0RN22,1RN05,0(F)mW(P
)54.9N8N8N172(026.0)mW(P
PP)mW(P
−+++=
+++=
+=
1NNN2/)1N(N
regadd
mult
+==+=
MODEL
Parameters
Ressources number Ressources types
Data types Interconnections
Frequency
Features
P E
Adder Mult
Mux Reg
…
Eric SENN 66Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
First steps of High Level SynthesisAlgorithmic specification
ex: VHDL, Verilog, or SystemC source
SelectionAllocationScheduling
Binding
RTL generation
Algorithmic specification
Constraints
RTL description
Libraries
Compilation
entity lms isport ( xt,yt:in integer; yft:out integer);
end lms;
architecture behavioral of lms isconstant l : integer := 8; constant latency : time := 125 us;type vecteur is array (0 to l) of integer;
beginlms128 : process
variable x, h: vecteur;variable adapt: integer;variable deux_mu,y:integer;variable i : Integer ;
beginy := xt * h(0);for i in 1 to l-1 loop
y := y + x(i) * h(i); end loop;yft <= y;adapt := deux_mu * (yt - y);for i in 0 to l-1 loop
h(i) := h(i) + adapt * x(i);end loop;for i in l-1 downto 2 loop
x(i) := x(i-1);end loop;x(1) := xt;wait for latency;
end process;end behavioral;
Eric SENN 67Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
HLSCompilation
compiling the descriptions into an internal representation: Data Flow Graph (DFG) or Signal Flow Graph (SFG)
SelectionAllocationScheduling
Binding
RTL generation
Algorithmic specification
Constraints
RTL description
Libraries
Compilation
Eric SENN 68Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
LIBRARYCompilation
HLSSelection
choosing resources from the library: selection gives the type of operators, according to speed / area / power features
SelectionAllocationScheduling
Binding
RTL generation
Algorithmic specification
Constraints
RTL description
Libraries
add1
add2
add3
mult1
mult2
sub1
add4
sub2
sub3
mult2
sub1
add4
18
Eric SENN 69Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
LIBRARYCompilation
HLSAllocation
allocating resources: determine the number of operators
SelectionAllocationScheduling
Binding
RTL generation
Algorithmic specification
Constraints
RTL description
Libraries
add1
add2
add3
mult1
mult2
sub1
add4
sub2
sub3
mult2a
sub1a
add4a
mult2b
add4b
Eric SENN 70Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Reconfiguration modelReconfiguration takes time and power energyDifferent configuration schemesCompare the configuration cost to the potential gain
Eric SENN 71Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
int main(void){ int nb_pixel,nbdata,nb_Bloc;int i,boucle;nb_pixel = sizeImage();// taille de l'image a traiterimageWithoutHead = (unsigned char *) malloc(sizeof(char)*nb_pixel);nb_pixel = imageAcquisition(imageWithoutHead);//image d'entree a compresser
nbdata = nb_pixel/3;image_y = (unsigned char *) malloc (sizeof(char)*(nbdata));//nbpixel dont la composante yimage_u = (unsigned char *) malloc (sizeof(char)*(nbdata));//nbpixel dont la
composante uimage_v = (unsigned char *) malloc (sizeof(char)*(nbdata));//nbpixel dont la
composante vrgbToYuvConversion(nb_pixel, imageWithoutHead, image_y, image_u, image_v);nb_Bloc = nb_pixel/192;image_yDct = (short *) malloc (sizeof(short)*(64*nb_Bloc));decoupageBloc_DCT ((char *) image_y,nb_Bloc,(short*)image_yDct);for (i=0;i<nb_pixel/3;i++)printf("%d\n",image_yDct[i]);/**/free(image_y);image_yQuantif = (short *) malloc (sizeof(short)*(64*nb_Bloc));decoupageBloc_Quantif ((short *) image_yDct, nb_Bloc, (short *) image_yQuantif,'Y');for (i=0;i<nb_pixel/3;i++)printf("%d\n",image_yQuantif[i]);/**/free(image_yDct);init_all();//initialisation du codage d'huffmanimage_yHuffman = (bitstring *) malloc (sizeof(bitstring)*(64*nb_Bloc));huffman_encoder(image_yQuantif,image_yHuffman,longueur_image,hauteur_image,'Y');free(image_yQuantif);
int nb_pixel,nb_Bloc;if(-1 == (pid = fork()))
{ perror("Erreur de création de processus dans la composante V");exit( EXIT_FAILURE); }
if( pid == 0){ /* processus fils */ /* processus pour la DCT */printf("process fils\n");if(pthread_mutex_init(&mutex_dct,NULL)){perror("erreur d initialisation mutex_dct");//initialisation du mutex a echouer}if(pthread_mutex_init(&mutex_conversion,NULL)){perror("erreur d initialisation mutex_conversion");//initialisation du mutex a echouer}if(pthread_mutex_init(&mutex_send,NULL)){perror("erreur d initialisation mutex_send");//initialisation du mutex a echouer}
if(pthread_create(&th_DCTy,NULL,(void * (*)(void*))ThreadDCTY,NULL)){perror("erreur de create_thread" );}
if(pthread_create(&th_DCTu,NULL,(void * (*)(void*))ThreadDCTU,NULL)){perror("erreur de create_thread" );}
if(pthread_create(&th_DCTv,NULL,(void * (*)(void*))ThreadDCTV,NULL)){perror("erreur de create_thread" );}
pthread_join (th_DCTy, (void **)&status);pthread_join (th_DCTu, (void **)&status);pthread_join (th_DCTv, (void **)&status);if(pthread_mutex_destroy(&mutex_dct)){perror("erreur de destruction du mutex_dct");//initialisation du mutex a echouer}if(pthread_mutex_destroy(&mutex_conversion)){perror("erreur de destruction du mutex_conversion");//initialisation du mutex a
echouer}if(pthread_mutex_destroy(&mutex_send)){perror("erreur de destruction du mutex_send");//initialisation du mutex a echouer}
ApplicationMultithreaded, Real-time, Hyper period ... Use case : MJPEG
Mjpeg.c :Image_AcquisitionRGB2YUVDCTQuantifHuffmanRebuild_Image
Task1 Task2
Task3
Task5Task4
Eric SENN 72Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Integration dans un flot de conception MDEAADL Component based approach
AADL componentassembly
model
AADL targetplatform models:- hw components
- services- connectors
AADL deploymentplan model
AADL PSM modelcomposition
AADL models library:- components
- interfaces
SystemCmodel
SystemCC++ code
code generation
model transformation
FPGA DSP GPP
HLS/LS/P&R; Compil./Link.
systemprocessthreadthread groupdata
systemprocessormemorybusdevice
19
Eric SENN 73Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
AADL target platform model : XUP use case
Eric SENN 74Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
ScenariosApplication MJPEG multi-threadée déployée sur la XUPV2P
Taille image en entrée L/H , couleurs 24 bitsPlusieurs scénarios modélisés en AADL valider l’approche d’estimation de la consommation
Processus communicants avec des sockets (Ethernet)
Synchronisation des threads avec des signaux
2 processus, 12 threads, Acquisition périodique des
images3
Processus communicants avec des mqueues
Synchronisation des threads avec des signaux
2 processus, 12 threads, Acquisition périodique des
images2
Synchronisation des threads avec des signaux
1 processus, 12 threads, Acquisition périodique des
images1
Mécanismes de communicationTasksScenario
Eric SENN 75Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Scenario 1
Intra processthreads synchronized with POSIX signalsshare data in the address space of the containing process
Eric SENN 76Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Scenario 2
Mq_send Mq_receive
Intra processthreads synchronized with POSIX signalsshare data in the address space of the containing process
Inter-processes communication is achieved through mqueues
20
Eric SENN 77Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Scenario 3
Eric SENN 78Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
5. Outil:ConsumptionAnalysis Toolkit
Extraction des paramètres
Modèles deconsommation
P, E
MéthodologieD’estimation
Modèle de la plateforme
AADL
Système d’exploitation
TâchesModèle de l’application
AADL
Modèle de Déploiement AADL
PSM AADLPropriétés spécifiquesà la consommation
Cheddar
Analyse d’ordonnançabilitéNombre de changements de contexte
Valgrind
Taux deDéfauts de cache
Code C
Fréq BusFréq Proc
Taille données
Eric SENN 79Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Modeling communication through mqueue
Eric SENN 80Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
AADL declarationSYSTEM SPEC USING DEDICATED PACKAGE
data mqueueextends ipc::mqueue::mqueue
end mqueue;
data implementation mqueue.posixsubcomponents
mq_flags: data;-- Message queue flags.mq_maxmsg: data;-- Maximum number of messages.mq_msgsize: data;-- Maximum message size.mq_curmsgs: data;
end mqueue.posix;
subprogram mq_sendextends ipc::mqueue::mq_sendfeatures
mqueue: refined to requires data access mqueue.posix {Required_Access => access read_write;};
msg: refined to requires data access Block.RGB {Required_Access => access read_only;};
len: refined to requires data access Block.RGB {Required_Access => access read_only;};
end mq_send;
subprogram mq_receiveextends ipc::mqueue::mq_receivefeatures
mqueue: refined to requires data access mqueue.posix {Required_Access => access read_write;};
msg: refined to requires data access Block.RGB {Required_Access => access read_only;};
len: refined to requires data access Block.RGB {Required_Access => access read_only;};
end mq_receive;
DEDICATED PACKAGEpackage ipc::mqueuepublic
data mqueue--------------------------------------------------------------------- features to be declared when an mqueue is declared as a data type -- that extends mqueue::mqueue ----------------------------------------------------------------------------------------------------------featuresmq_open: subprogram;mq_close: subprogram;mq_send: subprogram;mq_receive: subprogram;mq_setattr: subprogram;mq_getattr: subprogram;mq_timedreceive: subprogram;mq_timedsend: subprogram;
propertiesPOSIX_Properties::POSIX_Control_Protocol => POSIX_MQUEUE;
end mqueue;
subprogram mq_sendfeaturesmqueue: requires data access;msg: requires data access;len: requires data access;
end mq_send;
subprogram mq_receivefeaturesmqueue: requires data access;msg: requires data access;len: requires data access;
end mq_receive;
21
Eric SENN 81Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Client / server application
Eric SENN 82Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
AADL declarationSYSTEM SPEC USING DEDICATED PACKAGE
data socketextends ipc::socket::socketfeatures
bind: refined to subprogram bind;connect: refined to subprogram connect;send: refined to subprogram send;recv: refined to subprogram recv;close: refined to subprogram close;
end socket;
data implementation socket.tcp_posixproperties
POSIX_Properties::POSIX_Socket_Type => SOCK_STREAM;POSIX_Properties::POSIX_Socket_Domain => AF_INET;POSIX_Properties::POSIX_Socket_Protocol => 0;
end socket.tcp_posix;
subprogram sendextends ipc::socket::sendfeatures
sock: refined to requires data access socket.tcp_posix {Required_Access => access read_write;};
msg: refined to requires data access Block.RGB {Required_Access => access read_only;};
len: refined to requires data access Block.RGB {Required_Access => access read_only;};
end send;
subprogram recvextends ipc::socket::recvfeatures
sock: refined to requires data access socket.tcp_posix {Required_Access => access read_write;};
msg: refined to requires data access Block.RGB {Required_Access => access read_only;};
len: refined to requires data access Block.RGB {Required_Access => access read_only;};
end recv;
DEDICATED PACKAGEpackage ipc::socketpublicdata socketfeatures
bind: subprogram;listen: subprogram;accept: subprogram;connect: subprogram;send: subprogram;recv: subprogram;sendto: subprogram;recvfrom: subprogram;getpeername: subprogram;close: subprogram;
end socket;
-- Send a message from a socket (TCP)-- message lengthsubprogram sendfeatures
sock: requires data access;-- the socket you want to send data tomsg: requires data access;-- message to sendlen: requires data access;
end send;
-- Receive a message from a socket TCP-- maximum length of the buffersubprogram recvfeatures
sock: requires data access;-- the socket to read frommsg: requires data access;-- buffer that will contain the received messagelen: requires data access;
end recv;
Eric SENN 83Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Estimation results
Eric SENN 84Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
Deployment consumption analysisDeployment
SW component in the AADL component assembly model deployed on HW component in the AADL target platform model
Power consumption estimation for each soft component
Specification of the soft componentPower model of the hard component
Analysis = Multi-layer approachExplicit calls to OS servicesCombination of soft components
consumption hard component consumption
Implicit OS activity taken into account : tick timer, scheduling, context switching ...
GPP1
main_process
control_thread
RAM
ethernet_device
ethernet_driver_thread
GPP2
pre_threaddata_b
post_thread
ROM
flash_disk_device
sys_bus
<<BusAccess>>
<<BusAccess>>
<<BusAccess>>
<<BusAccess>>
<<BusAccess>>
<<BusAccess>>
<<Data>>
bus_conn
bus_conn
bus_connbus_conn
bus_conn
bus_conn
sysCPU1
sysCPU2
sysFLASH
sysRAM
sysROM
sysETHERNET
hw_thread_1
FPGA1bus_conn
sysFPGA1
hw_thread_2
FPGA2bus_conn
sysFPGA2
<<BusAccess>><<BusAccess>>
P1 P2
P3
P4
P5
P=f(P1,P2,P3, ...)
P_ethP_CFlash
P_bus
22
Eric SENN 85Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
AADL extension for consumption analysisConsumption models used for the analysis
Input parametersTo be set from the AADL specification
Dedicated "Property Sets" for components (target HW platform et target OS/RTOS platform)
Component hierarchy (inheritance mechanisms)Ex: processor processor type processor family builder
Posix properties : example : OS Ethernet service (socket definition: protocol / sizes) IPC (mqueue, mailbox, pipe) ,
AADL packagesTo specify specific behaviors with a strong impact on the power consumptionEx: OS communication services Package "Inter Process Communications" to describe components used in the communication : mailbox / message queue, shared memory, buffer, Ethernet and synchronisation mechanisms : semaphores, mutex, signaux
Eric SENN 86Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
AADL Object Tree Editor
Selected AADL Component
MODELE AADL (fichiers XMI AAXL)
Power Data View
Showing Power Data of Selected Thread
CAT
Eric SENN 87Maîtriser la consommation des systèmes embarqués - ECOFAC 2010
CAT
THE ENDTHE END
Eric SENN, Université de Bretagne Sud, LorientLab-STICC
Remerciements : Nathalie Julien, Johann Laurent, Jean-Philippe Diguet, Saadia Douhib, Mickael Lanoë, Dominique Blouin, David
Elleouet, Yannig Savary, Skander Turki, Matthieu Simon.
ECOFAC, le 29 mars 2010