1 / 30

An Abstract Modeling Approach Towards System-Level Design-Space Exploration

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.

elkan
Download Presentation

An Abstract Modeling Approach Towards System-Level Design-Space Exploration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration

  3. 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

  4. 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

  5. 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

  6. Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration

  14. 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

  15. 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

  16. 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

  17. Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration

  18. 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

  19. 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

  20. 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

  21. Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration

  22. 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

  23. 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

  24. Functional Model Mapping alternative 1 Schedulers/ Arbiters Resource Model PFC-example (cont’d) An Abstract Modeling Approach Towards System-Level Design-Space Exploration

  25. Functional Model Mapping alternative 2 Schedulers/ Arbiters Resource Model PFC-example (cont’d) An Abstract Modeling Approach Towards System-Level Design-Space Exploration

  26. 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

  27. Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration

  28. 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

  29. Contents • Motivation • Modeling concepts • Simulation • Performance analysis • Design-space exploration exercise • Case study • Summary An Abstract Modeling Approach Towards System-Level Design-Space Exploration

  30. 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

More Related