730 likes | 894 Views
Predictable Design of Embedded Systems using Networked Architectures. Henk Corporaal www.ics.ele.tue.nl/~heco ASCI Winterschool on Embedded Systems Rockanje, March 2006. Outline. Trends and design problems Unpredictability Platforms Predictable design Proposed design flow Open issues
E N D
Predictable Designof Embedded SystemsusingNetworked Architectures Henk Corporaal www.ics.ele.tue.nl/~heco ASCI Winterschool on Embedded Systems Rockanje, March 2006
Outline • Trends and design problems • Unpredictability • Platforms • Predictable design • Proposed design flow • Open issues Note: this lecture is not about a solved problem Henk Corporaal
Outline • Trends and design problems • Embedded systems everywhere • Design practice • Design complexity • Memory wall • Unpredictability • Platforms • Predictable design • Design flow • Open issues Henk Corporaal
Embedded systems everywhere • Convergence of 3 Cs computers, communications and consumer electronics • The computer enters the 3rd fase computing power - networking - intelligent processing • The world is 1 network wherever, whenever, all information and communication available We get a smart environment Henk Corporaal
Design practice: Informal system specification System people Task Task Task Paper spec vhdl C verilog ASM Hardware people Software people Integration Henk Corporaal
Design practice Structure description System Behavioral specification Algorithm R/T Logic circuit Y-Chart (Gajski-Kuhn) • Design Flow is path in Y chart • Till RT-level largely manual flow Physical realization Henk Corporaal
Design complexity problem complexity Process technology + 58% 103 HW gap 102 HW design productivity +21 % SW gap 101 SW productivity + 8 % 4 8 12 16 year Henk Corporaal
Hitting the memory wall Processor-Memory Performance Gap:(grows 50% / year) Performance µProc: 55%/year 1000 CPU 100 “Moore’s Law” 10 DRAM: 7%/year DRAM 1 2005 1980 1985 1990 1995 2000 Time [Patterson] Henk Corporaal
Outline • Trends and design problems • Unpredictability • Platforms • Predictable design • Proposed design flow • Open issues Henk Corporaal
Unpredictability at all levels Uncertainty increases at all levels applications architectures DSM VLSI design Henk Corporaal
resources mem Txt gen mem HSRC VSRC Video In1 NR HSRC VSRC Video In2 NR HSRC VSRC mix 100Hz Peak Matrix mix mem time Application: Two forms of unpredictability • Applications can be data dependent • Applications may have different scenarios Henk Corporaal
In addition: dynamic changing set of applications 125 SCH = SCH search Inter-system handover SCH SCH 100 SCH SCH CPICH search Compute load 75 SCH SCH CPICH search RAKE chip-rate processing CPICH search 50 RAKE chip-rate processing CPICH search WLAN receiver 25 SCH RAKE sym-rate proc. RAKE sym-rate proc. WLAN acquisition time UMTS connected UMTS connected/ WLAN acquisition WLAN connected/ UMTS monitoring Initial acquisition Multi-standard modem operation • Several applications have to be activated simultaneously • Too many combinations for an analysis at design time (non deterministic events) [Philips EVP] Henk Corporaal
Architecture unpredictability cpu cpu $ $ IP IP IP IP IP IP IP IP IP IP IP IP IP IP IP IP ext. mem Local schedulers: • OS • task switching • interrupts • cache strategy • cache pollution • interconnect • busses, bridges • networks • memory controllers • external memory e.g. RR, TDMA, FCFS, LRU, EDLF, FIFO, priority, … mem arb. interconnect interconnect interconnect … … … … What is the global behavior (end-to-end), composed of interacting local solutions ? Henk Corporaal
DSM VLSI Unpredictability • Global wiring delay becomes dominant over gate delay (timing closure) Henk Corporaal
DSM VLSI Unpredictability Length of Isosynchronous zone as function of frequency Other DSM problems: • Clock distribution, skew • VDD and VSS voltage drop • Signal integrity, cross-talk • Variance in process parameters increases Henk Corporaal
Unpredictability: Design Closure problems Design closure = • a realization meets all requirements, including functionality, speed, power, area, yield, etc., without design iterations application mapping & scheduling architecture placement & routing Closure problem at all levels FPGA realization VLSI realization Henk Corporaal
Unpredictability: Design Closure problems 1200% 1000% 800% 600% 400% 200% 0% Computational Requirements → Orders of Magnitude Time → Mapping with performance guarantees looks impossible !! Henk Corporaal
Solution ingredients: • Higher abstraction levels • SW and HW IP reuse / PnP principle • Standards • Avoid large design iterations • Design correct by synthesis • Avoid worst case resource requirements How do we achieve all of this? Henk Corporaal
Outline • Trends and design problems • Unpredictability • Platforms • Predictable design • Design flow • Open issues Henk Corporaal
What is a platform? Definition: A platform is a generic, but domain specific information processing (sub-)system • Generic means that it is flexible, containing programmable component(s). • Platforms are meant to quickly realize your next system • (in a certain domain). • Single chip? Henk Corporaal
Platforms, why? • Reuse • Short Time-to-Market • High Quality • Flexible and Programmable • Large software component • Standardization • Optimized for specific domain • and you do not have to solve this design closure problem !! Henk Corporaal
Platforms separate the design communities ! Applications SDT system design technology Design technology Platform PDT platform design technology Enabling technologies Henk Corporaal
Platform examples: Digital camera Sanyo [Okada99] Henk Corporaal
TI OMAP 192Kbyte shared SRAM 8Kb data cache (2-way, 512 lines of 16 bytes) Write buffer (17 elements) 16Kb (2-way) 16Kb (2-way) 8Kb mem (2x 4K) 64Kb dual port (8x 4K x 16b) 96Kb single port (12x 4k x 16b) 32Kb ROM Up to 192Mbyte off-chip memory Henk Corporaal
SpaceCake (Philips research) • Homogeneous: set of equal tiles • Per tile e.g.: • n * MIPS • m * TriMedia • Accelerators • k * L2 Cache bank • Shared memory • Cache coherency • Big interconnect switch • Inter Tile: • Router • Message passing • Working on inter tile cache coherence switch L2 cache memory banks Single tile Henk Corporaal
IMAGINE Stream Processor (Stanford) • IMAGINE = SIMD of VLIWs • It is controlled by a host processor, which send it stream instructions (Load, store, receive, send, VLIW op, load microcode) Henk Corporaal
Hybrid FPGAs: Xilinx Virtex 4-Pro GHz IO: Up to 16 serial transceivers PowerPC Memory blocks & Multipliers PowerPCs ReConfig. logic Reconfigurable logic blocks Courtesy of Xilinx (Virtex II Pro) Henk Corporaal
Fundamental platform design decisions • Homogeneous versus Heterogeneous ? • Bus versus Network ? • Shared memory versus Message passing ? • QoS support, Guarantees built-in ? • Generic versus Application specific ? • What types of parallelism to support ? • ILP, DLP, TLP • Focus on Performance, Power or Cost ? • Memory organisation ? • HW or SW reconfigurable ? And further: • OS support, Middleware ? • Mapping support? Henk Corporaal
Homogeneous or Heterogeneous • Homogenous: • replication effect • memory dominated any way • solve realization issuesonce and for all • less flexible Henk Corporaal
Homogeneous or Heterogeneous • Heterogeneous • more flexible • better fit to application domain • smaller increments • no tile reuse Henk Corporaal
Homogeneous or Heterogeneous • Middle of the road approach • Flexibile tiles • Fixed tile structure at top level tile router Henk Corporaal
HW or SW reconfigurable? Spatial mapping FPGA Temporal mapping VLIW configuration bandwidth reset Reconfiguration time loopbuffer context Subword parallelism 1 cycle fine coarse Data path granularity Henk Corporaal
Outline • Trends and design problems • Unpredictability • Platforms • Predictable design • Current practise • Predictability • Architecture consequences • Design consequences • Design flow • Open issues Henk Corporaal
How should we design ? • Trajectory, from Idea to Realization • Desicions based on models • Abstract from implementation details (not all known yet) • Relatively cheap to create, validate and simulate Idea Design Time Concepts Requirements Design Problem • Generate Ideas • Construct Models • Evaluate Properties • Make Design Decisions “Steers” Realization Henk Corporaal
Current practiceMapping, easy, but........... Idea • Given • reference C code for applicatione.g. MPEG-4 Motion Estimation • platform: SUPERDUPER-LX50 • Task • map application on architecture • But … wait a moment me@work> CC –o2 mpeg4_me mpeg4_me.cThank you for running SUPERDUPER-LX50 compiler.Your program uses 257321886 bytes memory, 78 Watt, 428798765291 clock cycles a=b*5+d; for (...) {.. } Henk Corporaal
Post analysis: check constraints after mapping Simulation based Does it still work for other data ? Does it still work when other applications are active ? Too many iterations Easy to program, hard to tune Can this be improved ? e.g. Constraints = input Current design process application mapping constraints OK ? no yes Henk Corporaal
Predictable design What is it? • Being able to reason at a high level about a design (in terms of functional and non-functional properties) and • Being able to realize this design without time consuming iterations in the design flow (design closure) How: • Predictable architecture • Making resources predictable • Proper modeling of less predictable elements • Predictable design flow • Compositionality • Composability • Design time analysis Run time analysis Henk Corporaal
Making architectures predictable • Getting rid of all unpredictable elements • Caches ? • No problem, but WCET estimation may be big and unacceptable ! • Software controlled • locked cache lines • non-cachable memory • controlled replacement • Shared memory • Communication Henk Corporaal
Making architectures predictable: NoC Philips AETHEREAL R R R R R R R R R Router provides both guaranteed throughput (GT) and best effort (BE) services to communicate with IPs. Combination of GT and BE leads to efficient use of bandwidth and simple programming model. Router Network Network Interface IP Network Interface Network Interface IP IP Henk Corporaal
Making the NoC predictable: how to support GT traffic? Time wheel concept • control injection traffic at network interface time 1 8 2 7 3 6 5 4 Henk Corporaal
Making the design flow predictable : Compositionality b y a High level design x z P(x,y) if [P(a,b),...] ! b y a Low level design x z P(x,y) if [P(a,b),...] ? Henk Corporaal
Making the design flow predictable Freq Sc1 Sc2 Sc3 Load • Design time • Determine of upper bounds on time and resources pareto curves • Scenario discovery: • separate your application in parts for which upper bounds not too far from worst case Henk Corporaal
What do we want ? Design time analysis Example: • Given • Comp. Resources • Bandwidth • Buffer size • Throughput • Pareto curve A5 A4 A1 A2 A3 P1 P2 P3 P4 1/Throughput (q1,c1) Cost (resources) Single application • Reasoning about end-to-end timing constraints (for given resources and quality) = predictability • Which local arbitration mechanisms are needed ? • How to translate this to the global level ? Henk Corporaal
Scenarios: MP3 Henk Corporaal
What do we want ? Composability A1 A2 Proc1 Proc2 A3 A4 • Multiple applications • If app. 1 and app. 2 fit each individually, what can be said about the combination ? • Concept of virtual platform Henk Corporaal
Predictability: ComposabilityCan we add Pareto points? application 1 application 2 Q Q (q1,c1) (q2,c2) Cost (resources) Cost (resources) + (q1+q2,c1+c2) ? Henk Corporaal
Problem: Predictable Resource utilization? Mapping & Scheduling P1 P2 P3 50 50 50 50 A B 50 50 Henk Corporaal
Problem – Predictable Resource utilization? 50 50 50 50 A B 50 50 P1 A P2 B P3 t t t t 1 0 2 3 Scheduling conflict! Add ordering dependences (edges) Only 50% processor utilization ! Henk Corporaal
Where is the problem? • Different throughput obtained for different order of actors • Possibilities of overall graph increases exponentially with number of actors and individual graphs • Very difficult to do a complete analysis to obtain an optimal order • Hard to model and analyze different arbitration strategies realistically Henk Corporaal
Problem – Too many possibilities! A B C Henk Corporaal