r. ernst, tu braunschweig 1 embedded system modeling part 2 r. ernst tu braunschweig
TRANSCRIPT
![Page 1: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/1.jpg)
R. Ernst, TU Braunschweig 1
Embedded System ModelingPart 2
R. Ernst
TU Braunschweig
![Page 2: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/2.jpg)
R. Ernst, TU Braunschweig 2
Lecture Overview
1 Introduction and motivation
2 Application modeling
3 Target architecture modeling
Part 1
Part 2
![Page 3: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/3.jpg)
R. Ernst, TU Braunschweig 3
3 Target architecture modeling
implementation language
Simulinksubsystem 2
inputlanguage 2
subsystem 3
subsystem 1
IP
UML
M
CoP
M
M
PDSP
M
P
core
RTOS
I/O IntBus-CTRL
timertimer
drivers
RTOS-APIs
application
application development
architecture layer
application layerapplication
„articulation point“
Part 1:application models
Part 2:architecture models
implementation
![Page 4: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/4.jpg)
R. Ernst, TU Braunschweig 4
Target architecture model application
implementation language
Simulinksubsystem 2
inputlanguage 2
subsystem 3
subsystem 1
IP
UML
M
CoP
M
M
PDSP
M
P
core
RTOS
I/O IntBus-CTRL
timertimer
drivers
RTOS-APIs
application
application development
architecture layer
application layerapplication
„articulation point“
Part 1:application models
Part 2:architecture models
implementation
design under target architecture estimations
design under target architecture estimations
analysis and result back annotation
analysis and result back annotation
![Page 5: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/5.jpg)
R. Ernst, TU Braunschweig 5
Architecture modeling purpose
• implementation verification
• performance evaluation
• power consumption evaluation
• cost evaluation (not part of this lecture)
![Page 6: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/6.jpg)
R. Ernst, TU Braunschweig 6
Implementation verification
• correct implementation of specified function• HW/SW co-simulation (CVE, CoWare,
CoCentric, VCC), verification
• correct target architecture parameters• processor and communication performance
• adherence to timing requirements
• sufficient memory size
• no run-time dependent dead-locks
general design problem
challenge to heterogeneous ES design
![Page 7: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/7.jpg)
R. Ernst, TU Braunschweig 7
Models for architecture evaluation• performance evaluation
– performance depends on • component types and parameters• system architecture• clock frequency• executed clock cycles• transmitted data
• power consumption evaluation
– power consumption depends on • component types and parameters• component clock frequency• component voltage • component and system state (sleep,...)• executed clock cycles• transmitted data
architecture
application
architecture
application
![Page 8: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/8.jpg)
R. Ernst, TU Braunschweig 8
Embedded architectures
• different processing element types
• different interconnection networks and communication protocols
• different memory types
• different scheduling and synchronization strategies
• complex SW architecture
M
CoP
M
M
PDSP
M
P
core
RTOS
I/O Int Bus-CTRL
timertimer
drivers
RTOS-APIs
application
![Page 9: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/9.jpg)
R. Ernst, TU Braunschweig 9
Complex run-time interdependencies
• run-time dependencies of independent components via communication
• influence on timing and power
IP
M
P
M
P
M
![Page 10: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/10.jpg)
R. Ernst, TU Braunschweig 10
ES verification - state of the art
• current approach: Target architecture co-simulation
combines functional and performance validation
reuse component validation pattern for system integration and function test
reuse application benchmarks for target architecture function validation
visualization of system execution
– extensive run-times
• reduction using models with different levels of abstraction
![Page 11: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/11.jpg)
R. Ernst, TU Braunschweig 11
Model abstractions
• signal abstraction
– analog signal, digital signal, value, tagged token, token
• temporal abstraction
– continuous time, discrete time, clock cycle, system event, partially ordered events
• functional abstraction
– logic, RTL, algorithm
• programming abstraction
– instruction set, assembly code, programming language, programming objects
• see also: VSIA system level design model taxonomy, 98, www.vsia.org
![Page 12: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/12.jpg)
R. Ernst, TU Braunschweig 12
Co-simulation with different abstraction• different component abstraction levels require different simulation techniques
• co-simulation principle e.g. [Gosh 95]
– communication via shared variables (here: nets)
– interface requires model adaptation (cp. “type casting” in SW)
simulator 1
simulator n
global simulation engine
mindelay ()maxdelay ()
schedule sim ()report_internal_time ()
update_nets ()...
run_until_time ()...
![Page 13: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/13.jpg)
R. Ernst, TU Braunschweig 13
Co-simulation limitations
• identification of system performance corner cases
– different from component performance corner cases
– target architecture behavior unknown to the application function developer (cp. functional HW test)
test case definition and selection ?
• analysis of target architecture
– confusing variety of run-time interdependencies
– data dependent “transient” run-time effects
– mixed in co-simulation limited support of design space exploration debugging challenge
• inclusion of incomplete application specifications
additional performance models required
![Page 14: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/14.jpg)
R. Ernst, TU Braunschweig 14
Lecture part 2 objective
• better understanding of target architecture run-time effects
• propose models to improve and formalize analysis
![Page 15: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/15.jpg)
R. Ernst, TU Braunschweig 15
Target architecture evaluation
• given
– an application and its environment modeled by a set of communicating processes
– a heterogeneous HW/SW target architecture
– an implementation of the processes on the architecture
• model and evaluate
– the target architecture information flow
– system timing
P P PM
CoP
M
M
PDSP
M
P
![Page 16: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/16.jpg)
R. Ernst, TU Braunschweig 16
• architecture component timing
• subsystem timing
• system timing IP
M P M P
M
P1 P2
Timing parameters
environment model
![Page 17: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/17.jpg)
R. Ernst, TU Braunschweig 17
• architecture component timing
– process execution timing
– communication timing IP
M P M P
M
P1 P2
Architecture component modeling&analysis
• processing elements
• memories
• interconnect
![Page 18: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/18.jpg)
R. Ernst, TU Braunschweig 18
Processing elements
• processing elements
– fully programmable components (processors)
– weakly programmable coprocessors components with selectable, predefined control sequences, possibly with chaining (FP coprocessor, graphics processor, DMA, ...)
– hard coded function components
DSP RISC C
CAN businterface
ADC
multi-channel module
imagecoprocessor
VLIW
VLDcoprocessor
![Page 19: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/19.jpg)
R. Ernst, TU Braunschweig 19
Processing element timing
• processing element timing and communication determined by
• execution path
– control data dependent
– input data dependent
• function implementation
– component architecture
– software platform
– compiler or synthesisif ...
then ... else ...
for { ...
..}
![Page 20: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/20.jpg)
R. Ernst, TU Braunschweig 20
Processing element timing - 2
• process timing can be evaluated by
– simulation/performance monitoring, e.g. using break points
• stimuli, e.g. from component design
• data dependent execution upper and lower timing bounds
– simulation challenges
• coverage?
• cache and context switch overhead due to run-time scheduling with process preemptions
• influence of run-time scheduling depending on external event timing
– formal analysis of individual process timing
• serious progress in recent years
process timing can be approximated or just estimated (cp. VCC processor models)
![Page 21: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/21.jpg)
R. Ernst, TU Braunschweig 21
Formal execution path timing analysis
• execution path timing
)c(b)pe(btpeFt iI
jipejpe ,),(
then ...
else { send(..); receive (...);... }
for { ...
..}
if ... b1b2
b3
b4
F
bi basic block (Li/Malik)
or program segment (Ye/Ernst)
tpe(bi,pej) execution time of bi
on processing element pej
c(bi) execution frequency of bi
path dependent
worst/best case timing bounds solved e.g. as ILP problem with flowanalysis (e.g. Li/Malik, Wolf/Ye/Ernst)
![Page 22: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/22.jpg)
R. Ernst, TU Braunschweig 22
Implementation influence in tpe(bi)
• tpe(bi , pej) determined by
– processing element architecture
– compiler / HW synthesis
– software platform
• tpe(bi , pej) analysis can use
– instruction execution table
– abstract execution model
– local bi simulation
• cache effects must be added
requires compiler code analysis
![Page 23: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/23.jpg)
R. Ernst, TU Braunschweig 23
Process communication
• execution path communication
)c(b)r(bFr
)c(b)s(bFs
iI
i
iI
i
)(
)(then ...
else { send(..); receive (...);... }
for { ...
..}
if ... b1b2
b3
b4
F
s(bi) sent data in bi
r(bi) received data in bi
worst/best case communication analysis solved e.g. as ILP problem (Wolf/Ernst)
![Page 24: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/24.jpg)
R. Ernst, TU Braunschweig 24
Implementation influence in r(bi) and s(bi)
• r(bi) and s(bi) determined by
– data volume
– data encoding
– communication protocol
![Page 25: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/25.jpg)
R. Ernst, TU Braunschweig 25
Interconnect timing
• interconnect timing can be evaluated by
– simulation, cp. process element timing
– statistical load data
– simple formal models, e.g. for TDMA (e.g. MicroNetwork (Sonics))
process timing can be approximated or just estimated
![Page 26: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/26.jpg)
R. Ernst, TU Braunschweig 26
Formal interconnect analysis
• word transfer
• packet transfer (simplified: fixed length pl)
)),1(()()),(( jcomjcom cestxscexst
)),(()(
)),(( jcecomce
jcom ceplstpl
xscexst
jj
pei pek
cej
send(..) receive(..)
![Page 27: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/27.jpg)
R. Ernst, TU Braunschweig 29
Improved process timing model
• state and „context“ consideration
• modeled as process “mode”
• example: image filter
![Page 28: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/28.jpg)
R. Ernst, TU Braunschweig 30
Image filter example
• image filter process
– receives packet with header and image data
– performs address match verification
– filters picture data
– forwards filtered picture data to pe2
• execution contexts (picture size): not considered, large picture, small picture
• execution contexts (address): not considered, address miss, address match
pe1
headerimagedata
filter algorithm
pe2
header
![Page 29: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/29.jpg)
R. Ernst, TU Braunschweig 31
[ 25.0 , 25.0 ] [ 25.0 , 25.0 ][ 0 , 0 ] [ 24.4 , 24.4 ]
[ 6.2 , 6.2 ] [ 6.2 , 6.2 ][ 0 , 0 ] [ 5.9 , 5.9 ]
[ 6.2 , 25.0 ] [ 6.2 , 25.0 ] [ 0 , 0 ] [ 5.9 , 24.4 ]
[ 25.0 , 25.0 ][ 0 , 24.4 ]
[ 6.2 , 6.2 ][ 0 , 5.9 ]
[ 6.2 , 25.0 ] [ 0 , 24.4 ]
Image filter results
Tight send and receive data rate intervals [min, max] of the filter process (results: SYMTA)
Size not Recconsidered Snd
Large Picture RecSnd
Small Picture RecSnd
Receive Data [kB] Address not AddressAddressSend Data [kB] considered miss match
![Page 30: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/30.jpg)
R. Ernst, TU Braunschweig 32
[ 20 , 39 ] [ 265 , 572 ]
[ 6 , 13 ] [ 38 , 64 ]
[ 6 , 40 ] [ 38 , 681 ]
[ 19 , 572 ]
[ 5 , 67 ]
Size not considered
Large Picture
Small Picture
Timing [ms] Address not Address Addressconsidered miss match
[ 5 , 681 ]
Image filter intervals
Timing intervals [min, max] for StrongARM architecture incl. caches (results: SYMTA)
![Page 31: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/31.jpg)
R. Ernst, TU Braunschweig 33
Timing and communication model
• What timing and communication model is appropriate?
– worst case?
– min/max (interval)?
– typical?
– statistics?
more information needed
![Page 32: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/32.jpg)
R. Ernst, TU Braunschweig 34
Subsystem & component summary
• analysis of individual process timing as a first step
– used as a basis for activation and resource sharing model
– approach borrowed from RTOS
• include local memories and local communication
![Page 33: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/33.jpg)
R. Ernst, TU Braunschweig 35
Process execution modeling
• component data required for execution modeling
– process execution time tpe (F, pej)
– communication load r, s
– communication timing tcom (s, cek)
– process activation function
• environment model
![Page 34: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/34.jpg)
R. Ernst, TU Braunschweig 36
Component parameter model
• commercial model: VCC, based on communicating CFSMs
• research example: SPI - System Property Intervals
– SPI Workbench as environment (TU Braunschweig, ETH Zurich, Univ. Paderborn)
![Page 35: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/35.jpg)
R. Ernst, TU Braunschweig 37
• architecture component timing
– process execution timing
– communication timing
– activation -> environment model
IP
M P M P
M
P1
Timing parameters - environment
environment model
P2
![Page 36: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/36.jpg)
R. Ernst, TU Braunschweig 38
Environment model
• periodic events
• periodic events with jitter
• events with minimum inter arrival times
– burst events, packets, sporadic events, etc.
tei typically timer released
tptp
te1 te2 te3
pee tttii1
tp - j/2 tp - j/2te1 te2 te3
22 1
jttt
jt peep ii
tint
tmin
te1 te2 te3 ten
min1
int1
ttt
ttt
ii
ini
ee
ee
ten+1
![Page 37: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/37.jpg)
R. Ernst, TU Braunschweig 39
Execution modeling summary
• event model defines the frequency and context of process activation
• event frequency given as interval, worst case or statistical value
![Page 38: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/38.jpg)
R. Ernst, TU Braunschweig 40
Chip Bus
core
RTOS
Software architecture
I/O IntBus-CTRL
timertimer
drivers
RTOS-APIs
application
periphery
cache
memprivate
private
private
private
sha
red
hardware
software
architecture
application
• layered software architecture with API
• consider function call hierarchy
ce1
pe1
![Page 39: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/39.jpg)
R. Ernst, TU Braunschweig 41
• architecture component timing
– process execution timing
– communication timing
– activation -> environment model
– timing includes all HW & SW components for process execution
M P M P
IP M
environment model
Timing parameters - SW architecture
P1
core
RTOS
I/O IntBus-CTRL
timertimer
drivers
RTOS-APIs
include software architecture
![Page 40: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/40.jpg)
R. Ernst, TU Braunschweig 42
include SW architecture in process model
• resolve APIs, drivers, OS calls, memory accesses, etc.
• include multi-hop communication
ReleaseAirbag
Application example
Actuatorchip-busSensor
RTOS
I/O intbus-
CTRL
timertimercore
drivers
RTOS-APIs
application
cache
MEM
RTOS
core
drivers
RTOS-APIs
application
I/Ointbus-
CTRL
timertimer cache
MEM
Crash
PctrlCPsens. PdetcC
C
Pact.C
C
reaction time of airbag after crash ?
tsenstcrash + tcsens + tdetc + tfbus + tcact + tairbag+ tact+ + tctrl tact+ tairbag+
physical delay
tsens +tcrash +
physical delay
![Page 41: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/41.jpg)
R. Ernst, TU Braunschweig 44
Modeling shared resources
• resource sharing requires
– resource arbitration - scheduling
• static or dynamic order of processes
• preemptive (interrupt) or non-preemptive („run to completion“)
– context switching
• on pe: process context switch
• on ce: packet or connection setup overhead
• in memory: similar to ce
– context switching time tcsw can be determined at design time
– resource arbitration effects are run-time dependent
![Page 42: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/42.jpg)
R. Ernst, TU Braunschweig 45
• architecture component timing
• subsystem timing
– resource sharing
• process scheduling
• communication scheduling
Timing parameters - resource sharing
IP M
M P M P
environment model
P1 P2
![Page 43: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/43.jpg)
R. Ernst, TU Braunschweig 46
Scheduling strategies
• static execution order
• time driven scheduling
– fixed
– dynamic
• priority driven scheduling
– static priority assignment
– dynamic priority assignment
• efficiency depends on environment model (periodic, jitter, burst)
![Page 44: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/44.jpg)
R. Ernst, TU Braunschweig 47
Static execution order scheduling
C1
P3
P1 P2
tp
tp: scheduling period
P1
P3
C1
P4
C2
P5P2pe1
pe1 pe2
ce1
pe2
ce1
architecture example
P5
C2
P4
tcsw
![Page 45: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/45.jpg)
R. Ernst, TU Braunschweig 48
Static execution order scheduling - 2
• execution time: sum of process times + tCSW + tcom
• best suited if timing and control are input data independent
• supports
– interleaved resource utilization
– buffer size optimization
– compiler optimization across processes
– process context exploitation
• application example:
– DSP
P1 P2 P12
merged processes
![Page 46: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/46.jpg)
R. Ernst, TU Braunschweig 49
Static execution order scheduling - 3
• different event timing models
– periodic input events periodic output events with jitter
– sporadic events sporadic output events
• static order problems
– dynamic environments: jitter, bursts
– deadline requirements
– processes/communication with context dependent timing
![Page 47: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/47.jpg)
R. Ernst, TU Braunschweig 50
Time driven scheduling
• time division multiple access (TDMA)
– periodic assignment of fixed time slots
– applicable to pe or ce
P1 P2 P3 P4 P1 P2 P3 P4
tpTDMA
P1
P1-P4
P2
P4
P3
12
tP1 tP4
13
tpTDMA
process preempted
TDMA example
12
13
tP2
10
tP3
5
10
5
![Page 48: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/48.jpg)
R. Ernst, TU Braunschweig 51
TDMA
• predictable and independent performance down scaling allows to merge individual solutions
• time slot size adaptable to different service levels
• supports all input event timing models
• generates output jitter as a result of execution times
piiipepTDMAPi
cswiipeiipeTDMA tpePtt
t
tpePtpePt mod),(
),(),(
![Page 49: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/49.jpg)
R. Ernst, TU Braunschweig 52
TDMA
• predictable and independent performance made TDMA very popular
– safety critical automotive systems: TTP, Flexray
– Sonics SiliconBackplane µNetworks
• problems
– utilization
– extended deadlines
![Page 50: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/50.jpg)
R. Ernst, TU Braunschweig 53
7
9
3
10
13
12
13
TDMA scheduling example
12P1
P2
P4
P3
10
5
13
P1-P4 P2
tP1,response = 129
12
10
5
13
12
5 5
3
4
9
5
t
10
idle resourcetpTDMA
Scheduling and idle times in TDMA
tCSW omitted for simplicity
![Page 51: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/51.jpg)
R. Ernst, TU Braunschweig 54
Dynamic time driven scheduling
• example: Round Robin scheduling
– cyclic process execution
– resource released when task is finished or not activated
tP1,response = 113
12P1
P2
P4
P3
10
5
13
P1-P4
12
10
5
13
12
5
3
4
9
t
tRR(1)
5 5 5
10 10 3
5 45 5 5
tRR(2) tRR(3)
cycle 1 cycle 2 cycle 3
Round Robin example
![Page 52: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/52.jpg)
R. Ernst, TU Braunschweig 55
Round Robin scheduling
• no idle times - higher efficiency than TDMA
• guaranteed minimum resource assignment per process
– appropriate e.g. for soft deadlines (“best effort”) and QoS requirements
• supports all input event timing models
• creates output jitter and possibly output bursts
• problems
– process execution interdependency
– timing analysis more difficult than TDMA
![Page 53: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/53.jpg)
R. Ernst, TU Braunschweig 56
Priority driven scheduling
• Static priority assignment
– model 1
• multi rate periodic input events with jitter and deadlines at end of period
– typical scheduling approach: Rate-monotonic scheduling (RMS, priority decreases with period)
– optimal solution for single processors (Liu, Layland)
– model 2
• like model 1 but with process dependencies – solution for multiprocessors based on RMS: Yen, Wolf
– model 3
• like model 1 but arbitrary deadlines– timing analysis solution by Lehoczky– iterative algorithm for priority assignment (Audsley)– analysis for jitter and bursts (single processor) by Tindell
![Page 54: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/54.jpg)
R. Ernst, TU Braunschweig 57
Model 3 - arbitrary deadlines
• scheduling with arbitrary deadlines - may create output bursts for periodic input events
busy period
T1
T2
T2
T2 T2
P3
P1
P2
priority
Static priority scheduling with arbitrary deadlines
![Page 55: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/55.jpg)
R. Ernst, TU Braunschweig 58
Burst generation
P3
P1
burst
P2
jitter
burstpriority
output eventsinput events
Output bursts in static priority scheduling with arbitrary deadlines and periodic input events
![Page 56: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/56.jpg)
R. Ernst, TU Braunschweig 59
Dynamic priority assignment
• priority assignment at run time
• optimal priority assignment: Earliest Deadline First (EDF)
• EDF adapts to input event timing
• problem:
– requires run-time scheduler task overhead
– requires deadline determination (e.g. Ziegenbein, ICCAD 2000)
– difficult to analyze - active research topic (e.g. load models)
![Page 57: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/57.jpg)
R. Ernst, TU Braunschweig 60
Resource sharing - summary
• individual component and process data required
• formal analysis for numerous scheduling strategies, event models and constraints available (even for manual calculation)
• results can be used to calculate
– communication and processor load
– timing, e.g. response times, output event models
– memory requirements
– power consumption
![Page 58: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/58.jpg)
R. Ernst, TU Braunschweig 61
• architecture component timing
• subsystem timing
• system timing
– timing of coupled subsystems
Architecture and global analysis
M P M P
environment model
P1 P2
SB 1
schedule SB 2
schedule SB 1
SB 2
IP M
![Page 59: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/59.jpg)
R. Ernst, TU Braunschweig 62
Subsystem coupling
• independently scheduled subsystems are coupled by data flow
subsystems coupled by event streams
coupling corresponds to event propagation
SB 1
scheduling SB 1
P2
P1
SB 2
scheduling SB 2
P4
P3
![Page 60: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/60.jpg)
R. Ernst, TU Braunschweig 63
System timing analysis approaches
• analysis scope extension to several subsystems
• event model generalization for a set of scheduling strategies
• event model adaptation
![Page 61: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/61.jpg)
R. Ernst, TU Braunschweig 64
Analysis scope extension
• coherent analysis („holistic“ approach)
• example: Tindell 94, Pop/Eles (DATE 2000): TDMA + static priority
• problem: large number of combinations possible!
P2 P1
T
TTP bus interface
P3 P4
D
TTP bus interfacequeue
RTOSRTOS
TTP bus (TDMA)
static priorityprocess scheduling
static priorityqueueing
T: Transmitter process
![Page 62: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/62.jpg)
R. Ernst, TU Braunschweig 65
Parse Search Modify Schedule
• paket processing characteristics
– dynamic load
– interleaved flows of packets
– flow-specific task chains
– event bursts
– variable data sizes
Event model generalization
• Example: Network processor design (Thiele et al.)
![Page 63: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/63.jpg)
R. Ernst, TU Braunschweig 66
Network process generalized event model
• Arrival/service curves (L. Thiele)
SB 1
scheduling SB 1
P2
P1
• upper bound number of packets in any interval of length 4
• number of packets in time interval [0,4]
• lower bound number of packets in any interval of length 4
arrival
2
4
6
8
14
12
10
4 62
service
2
4
6
8
14
12
10
4 62
u(
![Page 64: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/64.jpg)
R. Ernst, TU Braunschweig 67
Load analysis with interval event model
• Load analyis: Addition propagation of computation and load intervals - min/max algebra (time dependent)
• e.g. buffer size: difference between input load and processed events HW and SW resources
resource bounds
input stream bounds
remaining resources processed packet streamssource: L. Thiele, ETH Zurich
L. Thiele, ETH Zurich
![Page 65: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/65.jpg)
R. Ernst, TU Braunschweig 68
Event model adaptation• idea:
– leverage on the many efficient scheduling strategies available for different domains
– utilize their corresponding analysis techniques
– adapt their event models for combination
– combine local results to global analysis
SB 1
scheduling SB 1
P2
P1
SB 2
scheduling SB 2
P4
P3
ou
tpu
t ev
ent
mo
del
s
inp
ut
even
t m
od
els
![Page 66: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/66.jpg)
R. Ernst, TU Braunschweig 69
Event model adaptation - 2
• adaptation for compatible input and output event models(Richter 02)
– simple mathematical transformation to adapt analysisEvent Model InterFace (EMIF)
– no added function, no run-time effect
![Page 67: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/67.jpg)
R. Ernst, TU Braunschweig 72
Event model adaptation - 5• adaptation for non-compatible input and output event models
– insert Event Adaptation Function (EAF) to transform models
– EAF describes interface buffer function shows that buffer is required to couple subsystems
pe1 pe2
transformation: T2 = T1/n
periodic with burst periodic
EAFT1
e1 en en+1
T2
e1 en+1
![Page 68: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/68.jpg)
R. Ernst, TU Braunschweig 73
BUS
CPU2CPU1
CPU4CPU3
P1 P2
C2
C1
P3 P4
P5 P6
P7 P8
burst
sporadic
periodic
EMIF
EAF
EMIF
EAF
EMIF
EAF
EMIF
EAF
lossless
lossy
periodic
burst burst
burst
Identification of complex interdependencies
X-talk
M P M P
IP M
![Page 69: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/69.jpg)
R. Ernst, TU Braunschweig 75
Finally - timing and communication model
• What timing and communication model is appropriate?
– worst case?
– min/max (interval)?
– typical?
– statistics?
![Page 70: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/70.jpg)
R. Ernst, TU Braunschweig 76
Timing and communication model - 2
• statistical or „typical“ timing and communication load
– summarizes context dependent timing and communication variations
• typical or average communication load and time can simply be accumulated
• replaces discrete simulation by statistical analysis
– challenges:
• (buffer) memory overflow not fully covered
• communication link overload not fully covered
• critical deadlines not covered not safe
![Page 71: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/71.jpg)
R. Ernst, TU Braunschweig 77
Timing and communication model - 3
• worst case timing and communication load
– conservative
– risk of overdesign
• precise worst case required
• combination with context dependent execution useful
• but: worst case timing alone is not safe, too!
![Page 72: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/72.jpg)
R. Ernst, TU Braunschweig 78
Worst-case-timing-only problems
• bus load calculation
– faster process execution causes faster output event sequence
higher transient bus load (burst)
minimum execution time defines maximum bus load
IP
M
P
M
P
M
• multiprocessor scheduling anomaly
• fast process blocks critical process
only interval models for communication and time are safe
![Page 73: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/73.jpg)
R. Ernst, TU Braunschweig 79
Conclusions
• HW/SW platforms show complex run-time behavior due to optimized resource sharing
• implementation creates dependencies which are not reflected in the system function
• influence on timing and memory usage may compromize correct system behavior
• simulation for performance analysis is increasingly inadequate
• proposed systematic approach to platform analysis exploiting knowledge from RTOS
• reviewed different techniques to investigate subsystem compositions
• techniques can also be used for estimation
![Page 74: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/74.jpg)
R. Ernst, TU Braunschweig 80
Acknowledgement
• The following persons contributed in developing this tutorial
– Bettina Boettger
– Marek Jersak
– Kai Richter
– Fabian Wolf
– Dirk Ziegenbein
![Page 75: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/75.jpg)
R. Ernst, TU Braunschweig 81
Literature
• see: www.spi-project.org
![Page 76: R. Ernst, TU Braunschweig 1 Embedded System Modeling Part 2 R. Ernst TU Braunschweig](https://reader030.vdocuments.mx/reader030/viewer/2022032701/56649c7d5503460f94933051/html5/thumbnails/76.jpg)
R. Ernst, TU Braunschweig 82
SPI - Parameters
data intervals on communication channels dC,init, dC
process execution modes consider execution context
activation functions AP1, AP2
latency time intervals latP1, latP2
, latC
latP1latP2latC
data rate intervals sC, rC
dC,init, dC
AP1AP2
LC
P1P1 P2P2CCsC rC
www.SPI-project.org
process modedependent