12
An Abstract Modeling Approach Towards System-
LevelDesign-Space Exploration
F.N. van Wijk1, J.P.M. Voeten1, and A.J.W.M. ten Berg2
1Information and Communication Systems GroupFaculty of Electrical Engineering, Eindhoven University of
Technology
2Philips Research Laboratories Eindhoven
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
2
12Contents
• Motivation• Modeling concepts• Simulation• Performance analysis• Design-space exploration exercise• Case study• Summary
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
3
12MotivationTraditional hardware/software co-design methods
suffer from too many iterations that consume too much costly development time.
eed for specification and design methods that support fast exploration of design alternatives at an early stage of the design trajectory at a system-level of abstraction
Embedded systems have heterogenous architecture.Use Y-chart
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
4
12The Y-chart
Application(s) Architecture
Mapping
PerformanceAnalysis
Source: A.C.J. Kienhuis. Design Space Exploration of Stream-based Dataflow Architectures: Methods and Tools, Ph.D. thesis, Delft University of Technology, 1999.
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
5
12MotivationTraditional hardware/software co-design methods
suffer from too many iterations that consume too much costly development time.
eed for specification and design methods that support fast exploration of design alternatives at an early stage of the design trajectory at a system-level of abstraction
Embedded systems have heterogenous architecture.Use Y-chartUse abstract executable modelsTaking well-founded design decisions requires a well-
defined modeling languageUse POOSL
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
6
12Contents
• Motivation• Modeling concepts• Simulation• Performance analysis• Design-space exploration exercise• Case study• Summary
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
7
12Model structure
Mapping
System Model
Functional Model
Resource Model
Performance Analysis
R1 R2 R3 R4
T3T1
T2
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
8
12Resource ModelThree basic, parameterizable resource types:• Processing Resource (P)• Communication Resource (C)• Storage Resource (S)
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
9
12Resource ModelThree basic, parameterizable resource types:• Processing Resource (P)
Operate()()
| instruction: String; instructionDelay: Real |
task?resourceRequest(instruction);
instructionDelay := instructionTable getDelay(instruction);
delay(instructionDelay);
task!acknowledge;
Operate()().
• Communication Resource (C)• Storage Resource (S)
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
10
12Resource ModelThree basic, parameterizable resource types:• Processing Resource (P)• Communication Resource (C)
Operate()()
| packetSize, duration: Real |
fifo?requestBW(packetSize);
delay(transferDelay * packetSize);
fifo!ready;
Operate()().
• Storage Resource (S)
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
11
12Resource Model• Storage Resource (S)
Operate()()
| packetSize: Real |
sel
[room > 0]fifo?malloc(packetSize);
if room > packetSize then room := room - packetSize
else packetSize := room; room := 0 fi;
fifo!grant(packetSize, room)
or
fifo?free(packetSize);
room := room + packetSize;
fifo!ready(room)
les;
Operate()().
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
12
12An example communication channel
Resource Model
C1 S2 P2P1 S1
M a p p i n g
Functional Model
T1 FIFO1
conceptually unbounded FIFO
T2FIFO2
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
13
12Contents
• Motivation• Modeling concepts• Simulation• Performance analysis• Design-space exploration exercise• Case study• Summary
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
14
12Structure diagram
StorageResource
ComputationResource
StorageResource
Communi-cations
Resource
Producer FifoA FifoB Consumer
ComputationResource
Functional Model
Resource Model
M a p p i n g
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
15
12Message flow diagram
StorageResource
ComputationResource
StorageResource
Communi-cations
Resource
Producer FifoA FifoB Consumer
ComputationResource
packet(Packet)
ok()
packet(Packet)
ok()
packet(Packet)
ok()
reso
urce
Req
uest
(Str
ing,
Obj
ect)
ackn
owle
dge(
)
gran
t(In
tege
r, I
nteg
er)
free
(Int
eger
)
mal
loc(
Inte
ger)
read
y(In
tege
r)
gran
t(In
tege
r, I
nteg
er)
free
(Int
eger
)
mal
loc(
Inte
ger)
read
y(In
tege
r)
requ
estB
W(I
nteg
er)
read
y()
reso
urce
Req
uest
(Str
ing,
Obj
ect)
ackn
owle
dge(
)
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
16
12Message flow diagram
StorageResource
ComputationResource
StorageResource
Communi-cations
Resource
Producer FifoA FifoB Consumer
ComputationResource
packet(Packet)
ok()
packet(Packet)
ok()
packet(Packet)
ok()
reso
urce
Req
uest
(Str
ing,
Obj
ect)
ackn
owle
dge(
)
gran
t(In
tege
r, I
nteg
er)
free
(Int
eger
)
mal
loc(
Inte
ger)
read
y(In
tege
r)
gran
t(In
tege
r, I
nteg
er)
free
(Int
eger
)
mal
loc(
Inte
ger)
read
y(In
tege
r)
requ
estB
W(I
nteg
er)
read
y()
reso
urce
Req
uest
(Str
ing,
Obj
ect)
ackn
owle
dge(
)
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
17
12Contents
• Motivation• Modeling concepts• Simulation• Performance analysis• Design-space exploration exercise• Case study• Summary
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
18
12Performance Analysis• Simulation-based reflexive performance
analysis:– Specify performance metrics as (temporal) rewards– Determine the long-run average metric values– Analyze their accuracy based on confidence intervals
• Use POOSL library classes:– Long-Run Sample Average (e.g. latency)– Long-Run Time Average (e.g. utilization)– Long-Run Rate Average (e.g. throughput)
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
19
12Long-Run Time Average: utilization
Init()()utilization := new(LRTimeAverage) withConfidence(CL);Operate()().
Operate()()| instruction: String; instructionDelay, t: Real |task?resourceRequest(instruction);instructionDelay := instructionTable getDelay(instruction);timestamp t;utilization sampleRC(1,t,false);delay(instructionDelay);timestamp t;utilization sampleRC(0,t,true);task!acknowledge;Operate()().
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
20
12Long-Run Rate Average: throughput
Init()()
LRMPEGDecoderOutputFrameRate := new(LRRateAverage) withConfidence(CL) setBatchSize(BS);
TOutput()().
TOutput()()
| t: Real |
OutputFrame()();
timestamp t;
LRMPEGDecoderOutputFrameRate sample(1,t);
TOutput()().
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
21
12Contents
• Motivation• Modeling concepts• Simulation• Performance analysis• Design-space exploration exercise• Case study• Summary
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
22
12Example: Producer-Filter-Consumer (PFC)
P1 P2 P3S2 C1 S5 S4 S7
Producer Filter Consumer
Fifo Fifof fl l
alternative 1
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
23
12Example: Producer-Filter-Consumer (PFC)
alternative 2
P1 P2 P3S2 C1 S5 S4 S7
Producer Filter Consumer
Fifo Fifof fl l
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
24
12PFC-example (cont’d)
Fu
nct
ion
al
Mo
de
lM
ap
pin
gS
che
du
lers
/
Arb
iters
Re
sou
rce
Mo
de
l
alternative 1
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
25
12PFC-example (cont’d)
Fu
nct
ion
al
Mo
de
lM
ap
pin
gS
che
du
lers
/
Arb
iters
Re
sou
rce
Mo
de
l
alternative 2
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
26
12PFC-example: Performance Analysis
[22.38,22.78]22.58Throughput Consumer (fps)
[0.2227,0.2271]0.2249Utilization P3
[0.2224,0.2268]0.2246Utilization P2
[0.2232,0.2275]0.2253Utilization P1
Confidence IntervalPoint EstimationMetric
Alternative 1 (90% confidence, 1% relative error bound)
[21.13,21.54]21.33Throughput Consumer (fps)
[0.2127,0.2169]0.2148Utilization P2
[0.4264,0.4349]0.4307Utilization P1
Confidence IntervalPoint EstimationMetric
Alternative 2 (90% confidence, 1% relative error bound)
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
27
12Contents
• Motivation• Modeling concepts• Simulation• Performance analysis• Design-space exploration exercise• Case study• Summary
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
28
12Picture-in-Picture TV case study• Functional model of PiPTV application mapped on
resource model of media processor, co-processors and central data bus => 64 (functional) + 17 (resource) + 6 (environment) = 87 parallel processes (total).
• Analyze long-run average bus and (c0-)processor utilizations and MPEG picture decoding time and frame rate.
• Compare results with outcome of similar experiments with Cadence VCC tool and prototype measurement results => judgement of applicability of developed method.
• Compare models at different levels of abstraction => explore accuracy vs. modeling time and simulation speed trade-off.
• Currently finishing off validation phase. Results of experiments expected early 2003.
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
29
12Contents
• Motivation• Modeling concepts• Simulation• Performance analysis• Design-space exploration exercise• Case study• Summary
PROGRESS 11/12/02
An Abstract Modeling Approach Towards System-Level Design-Space Exploration
30
12Summary• An abstract modeling approach to system-level design-
space exploration for complex heterogeneous systems has been presented.
• The approach supports fast exploration of alternative realizations using abstract executable formal models.
• Functional models are mapped onto Resource models (strict coupling, mutually disconnected resources) and together form a System Model.
• Strict coupling enables the modeling of non-determinism.• Both control and data oriented behavior can be
expressed.• Modeling of resource sharing is straightforward.• Simulation-based performance analysis yields
performance figures. Based on the formal semantics of POOSL, their accuracy can be estimated using confidence intervals.
Top Related