1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Research Challenges in Embedded Computing Lothar Thiele
2 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Some Research Challenges in Embedded Computing Lothar Thiele
3 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Contents What is Embedded Computing? An Area for Research? Some Challenges Resource Awareness The Role of Experiments Concluding Remarks
4 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Embedded Computing An embedded computing system is a special- purpose information processing system that is closely integrated into its environment. But what is research in embedded computing all about?
5 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Embedded Computing Is it the science of building … Is it software running on small computers?
6 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Manufacturing Equipment
7 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Networked Devices Access CoreMICS Wearable Computing Lab
8 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Communicating Embedded Systems sensor networks (civil engineering, buildings, environmental monitoring, traffic, emergency situations) smart products, wearable/ubiquitous computingMICS
9 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Contents What is Embedded Computing? An Area for Research? Some Challenges Resource Awareness The Role of Experiments
10 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Opinions … Embedded Computing Research is interesting because applications and hardware platforms are getting larger, increasingly heterogeneous and distributed: ACC ABS ESP ASR engine control powertrain control
11 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Opinions … Embedded Computing Research is interesting because of increasingly parallel, distributed and networked systems, heterogeneity in specifications and implementations, complex resource dependencies and interferences, system view (algorithm, architecture, environment, software), cross-layer design, interaction with physical environment, drastic changes in physical layer (unreliability).
12 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Economic Relevance number of processors sold in Embedded Computing Research is interesting because of the economic perspective
13 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Opinions … Embedded Computing Research is NOT interesting because it is not a well defined research area: it is a mixture of everything, it neglects abstraction, it is without basic scientific questions, it is case-by-case ‘engineering’ only, physicality of embedded software is messy, it is just software engineering for small computers.
14 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Opinions … Embedded Systems Research is NOT interesting and there is not even a good textbook available …
15 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Questions What is specific to research in embedded computing or is it just the collection of many subjects … Where are the fundamental questions or is it pure systems engineering with lack of methodology …
16 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Contents What is Embedded Computing? An Area for Research? Some Challenges Resource Awareness The Role of Experiments Concluding Remarks
17 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Resource Awareness An embedded computing system is a special- purpose information processing system that is closely integrated into its environment. power liveness reactivity weighttimeliness cost reliability adaptability energy predictability & efficiency
18 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Embedded Computing Embedded software does not only transform data, it interacts with the physical world. Functional behavior is only part of the requirement. Equally important are properties related to resources timing power and energy The distinction between (primary) functional behavior and (secondary) non-functional behavior is no longer adequate.
19 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Why not using Conventional Concepts? Often, the physical world has been (successfully) abstracted away from ‘computation’.
20 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Bounds, Guarantees and Predictability Example: end-to-end delay t best case worst case lower bound upper bound interference non-determinism design limited analysis design analysis techniques causesinfluences
21 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory System-Level Performance Analysis Input Stream Input Stream I/O PP Memory Requirements? Processor Speeds? Timing Properties? Bus Utilization? Bottleneck?
22 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Difficulties Input Stream Complex Input: - Timing (jitter, bursts,...) - Different Event Types Task Communication Task Scheduling ab acc b
23 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Difficulties Processor Task Buffer Input Stream Task Communication Task Scheduling ab acc b Complex Input: - Timing (jitter, bursts,...) - Different Event Types Variable Resource Availability Variable Execution Demand - Input (different event types) - Internal State (Program, Cache,...)
24 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory What is necessary? From interfaces that talk about static types via behavioral typestowards resource types
25 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Abstraction... E E E E E E... Processor Task Input Stream Functional Unit Model Resource Model Event Stream Model Composition & Analysis System Module Concrete Instance Abstract Representation
26 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory System-Level Performance Methods e.g. delay Real SystemMeasure- ment SimulationWorst Case Analysis Worst-Case Best-Case Probabil. Analysis
27 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Event Streams (Environment Model) How do we model uncertain event streams? time t [ms] Event Stream
28 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory max: 1 event min: 0 events Event Streams (Environment Model) max: 2 events min: 0 events max: 3 events min: 1 events Use interval bound functions: Arrival Curves time t [ms] [ms] 012 # of events uu ll maximum/minimum number of events in any interval of length 2.5 ms Event Stream Arrival Curves [ l, u ]
29 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory max: 1 event min: 0 events Event Streams (Environment Model) max: 2 events min: 0 events max: 3 events min: 1 events Use interval bound functions: Arrival Curves time t [ms] [ms] 012 # of events uu ll maximum/minimum number of events in any interval of length 2.5 ms Event Stream Arrival Curves [ l, u ]
30 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Resource Model t [ms] availability Resource Availability maximum/minimum available service in any interval of length 2.5 ms available service in t=[ ] ms 2.5 Service Curves [ l, u ] service uu [ms] ll 2.5
31 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory System Module RTC Linear System Theory [Baccelli, Cohen, Olsder, Quadrat 1992] Calculus for Networks [Le Boudec 1998, 2001], [Cruz 1991] Adversarial Queuing Theory [Andrews, Borodin, Kleinberg, Leighton, … 1996] Resources Streams
32 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Transfer Functions
33 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Real-Time Interfaces Interface-Based Design (Assume/Guarantee Interfaces) Henzinger, de Alfaro, et al. Real-Time Calculus Real-Time Interfaces
34 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory assume guarantee Real-Time Interfaces Resources Streams Resources
35 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Composition
36 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Composition
37 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory assume guarantee Interface Relations Real-Time Interfaces
38 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory A Distributed Embedded System... ECU1 BUS CC1 ECU2CC2 ECU3CC3 S1 S2 S3 S4 S5 5 Real-Time Input Streams - with jitter - with bursts - deadline > period 3 ECU’s with own CC’s 12 Tasks & 7 Messages - with different WCED 2 Scheduling Policies - Earliest Deadline First (ECU’s) - Fixed Priority (ECU’s & CC’s) Hierarchical Scheduling - Static & Dynamic Polling Servers Bus with TDMA - 4 time slots with different lengths (#1,#3 for CC1, #2 for CC3, #4 for CC3) Total Utilization: - ECU159 % - ECU287 % - ECU367 % - BUS56 %
39 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory A Distributed Embedded System... ECU1BUS (TDMA) C1.1 C1.2 C2.1 C3.1 C4.1 C5.1 C3.2 T1.1 T1.3 T2.1 T3.1 T3.3 PS FP CC1 ECU2 T4.1 T5.1 FP CC2 ECU3 T1.2 FP CC3 T3.2 FP EDF T2.2 PS T4.2 PS T5.2 S1 S2 S3 S4 S5 S1 S3
40 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory... and its Resource Component Model S5 S4 S1 S2 S3 T1.1 T1.3 C4.1 C5.1 TDMA CPU T2.1 T3.1 T3.3 CPU T4.1 T5.1 CPU PS T1.2 EDF PS T3.2 C1.2 C3.2 C2.1 C3.1 C1.1 T5.2 T4.2 T2.2 PS ECU1 ECU2 ECU3 BUS CC1 CC2 CC
41 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Delay Guarantees S5 S4 S1 S2 S3 T1.1 T1.3 C4.1 C5.1 TDMA CPU T2.1 T3.1 T3.3 CPU T4.1 T5.1 CPU PS T1.2 EDF PS T3.2 C1.2 C3.2 C2.1 C3.1 C1.1 T5.2 T4.2 T2.2 PS ECU1 ECU2 ECU3 BUS CC1 CC2 CC
42 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Experiences Network processor modeling (IBM) Detailed study of a network processor Good match between simulation and analytic methods (delay, memory) Use of methodology in projects and case studies BridgeCo Siemens Netmodule Embedded Systems Institute Integration into design space exploration
43 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Resource-Awareness Predictability vs. Efficiency Analysis vs. Design Abstraction vs. Transparency Adaptive vs. Static
44 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Contents What is Embedded Computing? An Area for Research? Some Challenges Resource Awareness The Role of Experiments Concluding Remarks
45 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Embedded Computing An embedded computing system is a special- purpose information processing system that is closely integrated into its environment.
46 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Communicating Embedded Systems sensor networks (civil engineering, buildings, environmental monitoring, traffic, emergency situations) smart products, wearable/ubiquitous computingMICS
47 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory 58 mm BTnode rev3 Architecture Details 32.5 mm System core Atmel ATmega128 256 kB SRAM Generic IO/Peripherals Switchable power supplies Dual radio system Bluetooth radio 2.4 GHz Zeevo ZV4002 Low-power radio MHz ISM Chipcon CC1000
48 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory BTnut System Software Versatile and flexible fast-prototyping Lightweight operating system support in plain C Linux-to-AVR embedded emulation Demo applications and tutorial simulate emulateupload compile Built on top of multi-threaded Nut/OS framework Non-preemptive, cooperative multi-threading Events, timers Priorities for threads Dynamic heap allocation Interrupt driven streaming I/O
49 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Industrial technology transfer Commercialization with ETH spin-off “Art of Technology” Commercial replicas resulting from open source policy BTnodes in Education Different labs and demos Biannual undergraduate robotics lab using Lego Mindstorms Graduate lab in embedded systems (120 successfully completed student projects BTnode Platform Success BTnode dev kit € 500
50 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory 25+ wearable and ubiquitous computing applications and demos Cooperating smart objects [PhD Siegemund2005] Physical activity detection network [PhD Junker2005] Context-aware interaction and applications [PhD Michahelles2004,Antifakos2005] Wireless (sensor) network research Time synchronization and localization in sensor networks [PhD Römer2005] Design and Deployment of Wireless Networked ES [PhD Beutel2005] Academic outreach beyond NCCR-MICS Collaboration with TinyOS Group, UC Berkeley U Kopenhagen [MA Leopold2004, PhD Dydensborg2004], Politecnico di Milano [Negri2005] 40+ scientific publications based on or related to BTnodes BTnode in Research Domains
51 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory How to connect? Topology Control
52 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory XTC – Bluetooth Mesh Networking Bluetooth Mesh Networking based on BTnode Paper-grade algorithm to robust implementation Experiments, measurements and evaluation [Wattenhofer2004]
53 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory XTC: A Practical Topology Control Algorithm 1.Establish order over all neighbors (using the link metric) 2.Exchange order with all neighbors 3.Select neighbors to connect
54 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Main Properties: Simple Strictly local Guaranteed connectivity Max. degree < 6 * Avg. degree ~ 2.5 * *) when link metric is Euclidean distance XTC: A Practical Topology Control Algorithm
55 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory 1.Establish order over all neighbors (using the link metric) 2.Exchange order with all neighbors 3.Select neighbors to connect unreliable device discovery connectivity? RSSI based influence? scaling? dynamic network synchronization? node addition/deletion? XTC: A Topology Control Algorithm
56 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory The ‘Quality’ of RSSI fixed distance nothing moves almost optimal measurement conditions
57 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory From Algorithm to Implementation From a few lines of pseudocode … to a few thousand lines of code
58 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory From Algorithm to Implementation Dynamic Adaptation Save time by localizing information Detect network changes Filter RSSI values Scalability Improve algorithm to avoid unnecessary communication Improve algorithm to bound node degree From a few lines of pseudocode To a few thousand lines of code …
59 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Field Experiment Deployment using 70+ nodes on an office floor tree
60 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory XTC Topology on BTnodes
61 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Lessons Learned There are huge gaps between: Implementation is painful because of limited resources (mainly memory) -> resource-awareness distributed debugging support -> massively distributed unreliable communication -> unreliability software development methods do not scale -> modularity algorithms and protocols simulation implementation
62 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Contents What is Embedded Computing? An Area for Research? Some Challenges Resource Awareness The Role of Experiments Concluding Remarks
63 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Your Challenges … ?
64 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory