Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Research Challenges in Embedded Computing Lothar Thiele.

Similar presentations


Presentation on theme: "1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Research Challenges in Embedded Computing Lothar Thiele."— Presentation transcript:

1 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Research Challenges in Embedded Computing Lothar Thiele

2 2 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Some Research Challenges in Embedded Computing Lothar Thiele

3 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 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 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 6 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Manufacturing Equipment

7 7 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Networked Devices Access CoreMICS Wearable Computing Lab

8 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 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 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 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 12 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Economic Relevance number of processors sold in 1998 - 2002 Embedded Computing Research is interesting because of the economic perspective

13 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 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 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 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 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 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 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 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 21 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory System-Level Performance Analysis Input Stream Input Stream I/O PP Memory Requirements? Processor Speeds? Timing Properties? Bus Utilization? Bottleneck?

22 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 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 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 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 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 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 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 1 2 3 uu ll maximum/minimum number of events in any interval of length 2.5 ms Event Stream Arrival Curves [  l,  u ]

29 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 1 2 3 uu ll maximum/minimum number of events in any interval of length 2.5 ms Event Stream Arrival Curves [  l,  u ]

30 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=[0.. 2.5] ms 2.5 Service Curves [  l,  u ] service uu  [ms] ll 2.5

31 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 32 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Transfer Functions

33 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 34 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory assume guarantee Real-Time Interfaces Resources Streams Resources

35 35 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Composition

36 36 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Composition

37 37 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory assume guarantee Interface Relations Real-Time Interfaces

38 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 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 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 CC3 3 3 1.81 5 2 2 5 4 6 54.1 15 1.34.5

41 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 CC3 6250 5830 90 154 1190 300 1500

42 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 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 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 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 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 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  433-915 MHz ISM Chipcon CC1000

48 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 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 participants @ETHZ)  30-40 successfully completed student projects BTnode Platform Success BTnode dev kit € 500

50 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 51 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory How to connect? Topology Control

52 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 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 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 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 56 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory The ‘Quality’ of RSSI fixed distance nothing moves almost optimal measurement conditions

57 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 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 59 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Field Experiment Deployment using 70+ nodes on an office floor tree

60 60 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory XTC Topology on BTnodes

61 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 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 63 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Your Challenges … ?

64 64 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory


Download ppt "1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Research Challenges in Embedded Computing Lothar Thiele."

Similar presentations


Ads by Google