300 likes | 509 Views
An Abstract Modeling Approach Towards System-Level Design-Space Exploration. F.N. van Wijk 1 , J.P.M. Voeten 1 , and A.J.W.M. ten Berg 2 1 Information and Communication Systems Group Faculty of Electrical Engineering, Eindhoven University of Technology 2 Philips Research Laboratories Eindhoven.
E N D
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
Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Motivation Traditional hardware/software co-design methods suffer from too many iterations that consume too much costly development time. ÞNeed 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 An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Mapping Performance Analysis The Y-chart Application(s) Architecture Source: A.C.J. Kienhuis. Design Space Exploration of Stream-based Dataflow Architectures: Methods and Tools, Ph.D. thesis, Delft University of Technology, 1999. An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Motivation Traditional hardware/software co-design methods suffer from too many iterations that consume too much costly development time. ÞNeed 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 ÞUse abstract executable models Taking well-founded design decisions requires a well-defined modeling language ÞUse POOSL An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Model structure System Model Functional Model T1 T3 T2 Mapping Resource Model R1 R2 R3 R4 Performance Analysis An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Resource Model Three basic, parameterizable resource types: • Processing Resource (P) • Communication Resource (C) • Storage Resource (S) An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Resource Model Three 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) An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Resource Model Three 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) An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Resource 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()(). An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Functional Model conceptually unbounded FIFO FIFO1 FIFO2 T1 T2 M a p p i n g Resource Model P1 S1 C1 S2 P2 An example communication channel An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Producer FifoA FifoB Consumer Communi-cations Resource Computation Resource Storage Resource Storage Resource Computation Resource Structure diagram Functional Model M a p p i n g Resource Model An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Producer FifoA FifoB Consumer packet(Packet) packet(Packet) packet(Packet) ok() ok() ok() malloc(Integer) malloc(Integer) acknowledge() resourceRequest(String, Object) free(Integer) free(Integer) grant(Integer, Integer) grant(Integer, Integer) ready(Integer) ready(Integer) ready() acknowledge() resourceRequest(String, Object) requestBW(Integer) Communi-cations Resource Computation Resource Storage Resource Storage Resource Computation Resource Message flow diagram An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Producer FifoA FifoB Consumer packet(Packet) packet(Packet) packet(Packet) ok() ok() ok() malloc(Integer) malloc(Integer) acknowledge() resourceRequest(String, Object) free(Integer) free(Integer) grant(Integer, Integer) grant(Integer, Integer) ready(Integer) ready(Integer) ready() acknowledge() resourceRequest(String, Object) requestBW(Integer) Communi-cations Resource Computation Resource Storage Resource Storage Resource Computation Resource Message flow diagram An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Performance 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) An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Long-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()(). An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Long-Run Rate Average: throughput Init()() LRMPEGDecoderOutputFrameRate := new(LRRateAverage) withConfidence(CL) setBatchSize(BS); TOutput()(). TOutput()() | t: Real | OutputFrame()(); timestamp t; LRMPEGDecoderOutputFrameRate sample(1,t); TOutput()(). An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Fifo Fifo f l l f Producer Filter Consumer P1 S2 C1 S7 P3 S5 P2 S4 Example: Producer-Filter-Consumer (PFC) alternative 1 An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Fifo Fifo f l l f Producer Filter Consumer P1 S2 C1 S7 P3 S5 P2 S4 Example: Producer-Filter-Consumer (PFC) alternative 2 An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Functional Model Mapping alternative 1 Schedulers/ Arbiters Resource Model PFC-example (cont’d) An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Functional Model Mapping alternative 2 Schedulers/ Arbiters Resource Model PFC-example (cont’d) An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Metric Point Estimation Confidence Interval Alternative 1 (90% confidence, 1% relative error bound) Utilization P1 0.2253 [0.2232,0.2275] Utilization P2 0.2246 [0.2224,0.2268] Utilization P3 0.2249 [0.2227,0.2271] Throughput Consumer (fps) 22.58 [22.38,22.78] Metric Point Estimation Confidence Interval Utilization P1 0.4307 [0.4264,0.4349] Alternative 2 (90% confidence, 1% relative error bound) Utilization P2 0.2148 [0.2127,0.2169] Throughput Consumer (fps) 21.33 [21.13,21.54] PFC-example: Performance Analysis An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Picture-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. An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration
Summary • 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. An Abstract Modeling Approach Towards System-Level Design-Space Exploration