real-time & embedded systems past, present, and future

37
1 Real Real - - Time & Embedded Time & Embedded Systems Systems Past, Present, and Future Past, Present, and Future Dr. Doug Locke Locke Consulting, LLC www.doug-locke.com

Upload: others

Post on 12-Sep-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Real-Time & Embedded Systems Past, Present, and Future

1

RealReal--Time & Embedded Time & Embedded Systems Systems

Past, Present, and FuturePast, Present, and FutureDr. Doug Locke

Locke Consulting, LLCwww.doug-locke.com

Page 2: Real-Time & Embedded Systems Past, Present, and Future

2

OutlineOutline

• What is a real-time System?• What is an embedded System?• Where have we come from?• What have we achieved?• Where are we going?

Page 3: Real-Time & Embedded Systems Past, Present, and Future

3

What is a RealWhat is a Real--Time System?Time System?1. Correctness is a function of time?2. Must respond to external device in less

than X microseconds?3. Real-fast?4. Missed deadline means catastrophic

result?5. System should respond “instantaneously”6. All of the above?7. None of the above?

Page 4: Real-Time & Embedded Systems Past, Present, and Future

4

What is an Embedded System?What is an Embedded System?

• Small device, like a cell phone?• Small processor installed in some other

device, like a car?• Software that controls a consumer device?• Must have real-time response?My favorite:• Any system where the user doesn’t want

to know that it includes a processor

Page 5: Real-Time & Embedded Systems Past, Present, and Future

5

Examples of RealExamples of Real--Time / Embedded SystemsTime / Embedded Systems

• Car engine• Cell phone• Set-top box• Car navigation• Industrial control• Telecom switch• Global Positioning

System

• Air Traffic Management• Satellite flight manager• Satellite Ground

Control• TV receiver• Flight control• Electric shaver• Toaster

Page 6: Real-Time & Embedded Systems Past, Present, and Future

6

OutlineOutline

• What is a real-time System?• What is an embedded System?• Where have we come from?• What have we achieved?• Where are we going?

ü

Page 7: Real-Time & Embedded Systems Past, Present, and Future

7

Punch CardPunch Card

Page 8: Real-Time & Embedded Systems Past, Present, and Future

8

Model 029 KeypunchModel 029 Keypunch

Page 9: Real-Time & Embedded Systems Past, Present, and Future

9

IBM 7090IBM 7090

Page 10: Real-Time & Embedded Systems Past, Present, and Future

10

System/360 Model 40System/360 Model 40

Page 11: Real-Time & Embedded Systems Past, Present, and Future

11

System/360 Model 50System/360 Model 50

Page 12: Real-Time & Embedded Systems Past, Present, and Future

12

LAMPS Mark ILAMPS Mark I

Page 13: Real-Time & Embedded Systems Past, Present, and Future

13

LAMPS Radar TestLAMPS Radar Test

Page 14: Real-Time & Embedded Systems Past, Present, and Future

14

LAMPS Mark IIILAMPS Mark III

Page 15: Real-Time & Embedded Systems Past, Present, and Future

15

Page 16: Real-Time & Embedded Systems Past, Present, and Future

16

Ticonderoga Class (USS San Jacinto, CGTiconderoga Class (USS San Jacinto, CG--56)56)

Page 17: Real-Time & Embedded Systems Past, Present, and Future

17

AWACSAWACS

Page 18: Real-Time & Embedded Systems Past, Present, and Future

18

NASA Space ShuttleNASA Space Shuttle

Page 19: Real-Time & Embedded Systems Past, Present, and Future

19

NASA Mariner 10NASA Mariner 10

Page 20: Real-Time & Embedded Systems Past, Present, and Future

20

Embedded Computer CapacitiesEmbedded Computer Capacities

• Memory Size:– 1970 8-32KB– 1975 16-64KB– 1980 64-128KB– 1985 128-1MB– 1990 1-4MB– 1995 2-32MB– 2000 4-128MB

• Increasing variability throughout this time

CPU Speed:128 KIPS1.2 MIPS5 MIPS20 MIPS50 MIPS150 MIPS800 MIPS

Page 21: Real-Time & Embedded Systems Past, Present, and Future

21

Size of Large Embedded SoftwareSize of Large Embedded Software

• How large is “large”:– 1970 10K SLOC– 1975 150K SLOC– 1980 1M SLOC– 1985 2M SLOC– 1990 4M SLOC– 1995 4M SLOC (increasing component use)– 2000 4M SLOC (increasing component use)

• Increasing variability throughout this time

Page 22: Real-Time & Embedded Systems Past, Present, and Future

22

Time ConstraintsTime Constraints

• Shortest Time Constraints Reliably Achievable:– 1970 50 milliseconds– 1975 1 millisecond– 1980 500 microseconds– 1985 100 microseconds– 1990 50 microseconds– 1995 10 microseconds– 2000 5 microsecond

Page 23: Real-Time & Embedded Systems Past, Present, and Future

23

Embedded Systems ProliferationEmbedded Systems Proliferation

• Applications:– 1970 Military / Aerospace– 1975 Factory Automation / Telecom– 1980 Consumer Electronics– 1985 Wireless Telecom / Automotive– 1990 Games / Toys / Entertainment / Internet– 1995 Appliances– 2000 RFID

Page 24: Real-Time & Embedded Systems Past, Present, and Future

24

OutlineOutline

• What is a real-time System?• What is an embedded System?• Where have we come from?• What have we achieved?• Where are we going?ü

Page 25: Real-Time & Embedded Systems Past, Present, and Future

25

What Was (Is Still) the Biggest Challenge?What Was (Is Still) the Biggest Challenge?

• Exponentially increasing capacity• Exponentially increasing software size

and complexity• Linearly increasing pool of developers• Fixed or decreasing budgets• The big problem – how to build

exponentially more systems, and exponentially more complex systems with linearly increasing labor.

Page 26: Real-Time & Embedded Systems Past, Present, and Future

26

A Major Problem A Major Problem –– But Not NewBut Not New

Strange game – the only way to win is not to play! - Joshua in the movie Wargames

Only way to produce complex software:– Avoid writing, testing, documenting code

• Use Commercial Off-The Shelf (COTS)• E.g., RTOS, CORBA, Database, Web-based,

Automated tools, reuse existing code

• Unintended consequence– Performance problems

Page 27: Real-Time & Embedded Systems Past, Present, and Future

27

Present RT/Embedded ChallengesPresent RT/Embedded Challenges

Top Three Problems:• Managing software engineering

organizations• Ensuring development of a performance-

relevant architecture• Finding suitable tools (language, COTS,

analysis, simulation)

ü

Page 28: Real-Time & Embedded Systems Past, Present, and Future

28

A Taxonomy of RealA Taxonomy of Real--Time ArchitecturesTime Architectures

• The vast majority of existing real-time applications use one of four (overlapping) architectural types:1. Timeline (a.k.a. cyclic executive or frame-based)2. Event-driven (with both periodic and aperiodic activities)3. Pipeline4. Client-Server

Page 29: Real-Time & Embedded Systems Past, Present, and Future

29

Timeline or Cyclic ExecutiveTimeline or Cyclic Executive

Timer (e.g., 40 hz.,25ms. period)

Cyclic Executive

Procedure 140 Hz

Procedure 220 Hz

Procedure 35 Hz

Procedure 41 Hz

I/O I/O I/O I/O

Procedure 1 alone

Procedure 1 and 4Procedure 1 and 3Procedure 1 and 2

Page 30: Real-Time & Embedded Systems Past, Present, and Future

30

EventEvent--DrivenDriven

Task 1

Task 2

Task 3

Task 4

I/O

I/O

Clock

Clock

Output Manager 1

Output Manager 2

I/O

I/O

Tasks generally priority scheduled

Page 31: Real-Time & Embedded Systems Past, Present, and Future

31

PipelinePipeline

I/O

Msg

Clock

Clock

Tasks usually ad-hoc scheduled

Output Manager 1

I/O

I/OOutput Manager 2

Message Handler

Periodic Generator

Correlator

Filter

Page 32: Real-Time & Embedded Systems Past, Present, and Future

32

ClientClient--ServerServer

I/O

I/O

Clock

Clock

Output Manager 1

I/O

I/OOutput Manager 2

Message Handler

Periodic Generator

Correlator

Filter

Tasks usually ad-hoc scheduled

Page 33: Real-Time & Embedded Systems Past, Present, and Future

33

Architecture SummaryArchitecture Summary• None of the architectures described are free of problems

– Timeline is extremely expensive to integrate and maintain– Event-driven model is predictable for relatively static designs– Pipelines commonly result in non-preemptive delays (i.e., priority

or policy inversion), few tools for predictable response– Client Server infrastructures perform similarly to pipelines except

concurrency can be much more limited.

• The Bottom Line: Architecture decisions have a major effect on – Performance– Safety– Fault Tolerance– Life Cycle Cost

Page 34: Real-Time & Embedded Systems Past, Present, and Future

34

IEEE Computer Society TCIEEE Computer Society TC--RTRT• What has our community produced?• Quite a lot - a few examples:

– Rate (Deadline) Monotonic Scheduling– Utility (or Value) Function Scheduling– Many other scheduling paradigms (e.g., EDF)– Imprecise Computations– Fault Tolerant Computing (e.g., Simplex)– Real-Time Databases

• We have had considerable influence– POSIX– Real-Time CORBA– Real-Time Linux– Ada 95, Real-Time Java

• But much of our contribution isn’t widely known

Page 35: Real-Time & Embedded Systems Past, Present, and Future

35

OutlineOutline

• What is a real-time System?• What is an embedded System?• Where have we come from?• What have we achieved?• Where are we going?ü

Page 36: Real-Time & Embedded Systems Past, Present, and Future

36

Where Are We Going?Where Are We Going?• Resources are still limited

– Therefore they will still need careful management– Scheduling still matters

• “Non-functional” requirements are now the primary focus of most designs– Real-time response– Fault tolerance– Availability– Quality of Service– Power Management– Security– Cost (people cost + resource cost)

• This is where we continue to make a difference

Page 37: Real-Time & Embedded Systems Past, Present, and Future

37

Doug LockeLocke Consulting, LLCwww.doug-locke.com