Embedded Intelligent Systems Edward A. Lee Robert S. Pepper - - PowerPoint PPT Presentation

embedded intelligent systems
SMART_READER_LITE
LIVE PREVIEW

Embedded Intelligent Systems Edward A. Lee Robert S. Pepper - - PowerPoint PPT Presentation

Embedded Intelligent Systems Edward A. Lee Robert S. Pepper Distinguished Professor UC Berkeley Keynote: ARTEMIS Sprint Event April 13, 2016 Vienna, Austria ARTEMIS: 2006 Annual Conference, Graz, Austria, May 22-24, 2006


slide-1
SLIDE 1

Embedded Intelligent Systems

Edward A. Lee

Robert S. Pepper Distinguished Professor UC Berkeley

Keynote: ARTEMIS Sprint Event April 13, 2016 Vienna, Austria

slide-2
SLIDE 2

ARTEMIS: 2006 Annual Conference, Graz, Austria, May 22-24, 2006

slide-3
SLIDE 3

!"#$%&'"%()$"%*&+',-./'&%"012&'3'45%.&5-',0!""

  • ! #$%&'"("!"#$%&'()
  • ! #)*+,-./)0"("*#+',%&$)
  • ! 1&2,'3-$"("-'./0#)

6'&",.7*1/'&$8%

  • ! 45.+-.%363-$"789":&+&.-.%363-$"
  • ! ;3<="2)00&2/73-$"789"-/&12%0#)'+3)!2%4'&#)
  • ! ;3<="+&'>)'*.02&"789"567)8+/29#)
  • ! 48$02=')0$"789":6623%+';6+<:66=/2';6+"
  • ! 12.6.%363-$"789">/(%'?%(%0#)'+3)!2/3%&0'?%(%0#)
  • ! ?.@8".05":&<,6./)08"789"@/&"+%&'()!6$$%?%(%;/$)
  • ! A2)0)*3&8")>"82.6&"B26),5C"789"56&'(%0#)A.69B)
  • ! D+&0"789"!26=2%/0'2#)
  • ! 46<)'3-=*8"789"*#+',%&$)

!&&'9./'&8%

#$%&'E+=$832.6"8$8-&*8"'&F,3'&"0&@"&0<30&&'30<"" *&-=)58".05"*)5&68"-)".55'&88"-=&8&"2)0-'.532/)089"

Automotive

#$%&'EG=$832.6"1$8-&*8" H,66")>"#)0-'.532-)'$":&F,3'&*&0-8"

Biomedical Military Energy Manufacturing

Avionics

Buildings

3

Lee, Berkeley

slide-4
SLIDE 4

I)J!"K830<"I0-&'0&-"-&2=0)6)<$"-)"30-&'.2-" @3-="+=$832.6"5&732&8"BL-=30<8MC9"

Industrial automation example from 2008: Bosch-Rexroth printing press. The term “IoT” includes the technical solution “Internet technology” in the problem statement “connect things”. The term CPS does not.

Lee, Berkeley

4

This Bosch Rexroth printing press is a cyber- physical factory using Ethernet and TCP/IP with high-precision clock synchronization (IEEE 1588) on an isolated LAN.

slide-5
SLIDE 5

H)2,8")0"N)5&68"

Lee, Berkeley

5

slide-6
SLIDE 6

N)5&68"789":&.63-$"

I0"-=38"&O.*+6&P"

  • =&",63/(%+9)

.2',/762C)38" 2.62,6,8".05" Q&@-)0R8"6.@89" " D%3/(%0#"38"=)@" @&66"-=&"*)5&6" .05"3-8"-.'<&-" *.-2="

Lee, Berkeley

6

The model The target (the thing being modeled).

slide-7
SLIDE 7

Solomon Wolf Golomb You will never strike oil by drilling through the map!

Lee, Berkeley

7

Engineers often confuse the model with its target"

But this does not in any way diminish the value of a map!

slide-8
SLIDE 8

S&-&'*30.2$"

1)*&")>"-=&"*)8-"7.6,.%6&"*)5&68".'&" 3/0/2,%+%$;&9"

" 4"*)5&6"38"3/0/2,%+%$;&)3>P"<37&0"-=&"303/.6"8-.-&".05"

  • =&"30+,-8P"-=&"*)5&6"5&T0&8"&O.2-6$")0&"%&=.73)'9"

" S&-&'*3038/2"*)5&68"=.7&"+')7&0"&O-'&*&6$"7.6,.%6&" 30"-=&"+.8-9"

Lee, Berkeley

8

slide-9
SLIDE 9

?.+6.2&R8"S&*)0"

LU&"*.$"'&<.'5"-=&"+'&8&0-"8-.-&")>"-=&" ,037&'8&".8"-=&"&V&2-")>"3-8"+.8-".05"-=&" 2.,8&")>"3-8">,-,'&9"40"30-&66&2-"@=32=".-"." 2&'-.30"*)*&0-"@),65"W0)@".66">)'2&8"-=.-" 8&-"0.-,'&"30"*)/)0P".05".66"+)83/)08")>".66" 3-&*8")>"@=32="0.-,'&"38"2)*+)8&5P"3>"-=38" 30-&66&2-"@&'&".68)"7.8-"&0),<="-)"8,%*3-"

  • =&8&"5.-."-)".0.6$838P"3-"@),65"&*%'.2&"30"."

830<6&">)'*,6."-=&"*)7&*&0-8")>"-=&" <'&.-&8-"%)53&8")>"-=&",037&'8&".05"-=)8&")>"

  • =&"/03&8-".-)*X">)'"8,2=".0"30-&66&2-"

0)-=30<"@),65"%&",02&'-.30".05"-=&">,-,'&" Y,8-"63W&"-=&"+.8-"@),65"%&"+'&8&0-"%&>)'&"3-8" &$&89M" EF!%/22/)-%,6+)5'=('&/G)H)!"%(6$6="%&'() 8$$'#)6+)!26?'?%(%;/$"

Lee, Berkeley

9

Pierre-Simon Laplace (1749–1827). Posthumous portrait by Joan-Baptiste Paulin Guérin, 1838

slide-10
SLIDE 10

Z,-"=.80R-"?.+6.2&R8"5&*)0"" %&&0"5&%,0W&5["

?.+6.2&"'&\&2-&5"." +&'3)5")>" )+/*38*"30" 823&02&"-=.-"

  • &05&5"-)"&F,.-&"
  • =&"*)5&6"@3-="
  • =&"-',-=9"

" ;&"@.8"5'36630<"

  • ='),<="."*.+]"

Lee, Berkeley

10

Deterministic model Nondeterministic target

slide-11
SLIDE 11

4"N)5&6"Q&&5"0)-"" %&"@21/"-)"%&"I$/.1("

" " LA88&0/.66$P".66"*)5&68".'&"@')0<P"" %,-"8)*&".'&",8&>,69M" " "

Z)OP"^9"A9"G9".05"Q9":9"S'.+&'P"_`ab!"8,=%2%&'()J63/(KL1%(3%+9)'+3)>/$=6+$/)

  • 12.'&/$9"U36&$"1&'3&8"30"G')%.%363-$".05"1-./8/28P"U36&$9""

"

Lee, Berkeley

11

slide-12
SLIDE 12

12=&*./2")>"."83*+6&"#G1"

Lee, Berkeley

12

What kinds of models should we use? Let’s look at the most successful kinds of models from the cyber and the physical worlds.

slide-13
SLIDE 13

1)c@.'&"38"."N)5&6"

G=$832.6"1$8-&*" J63/( )

  • %+9(/K0"2/'3/3)%,=/2';4/)=2692',$

) '2/)3/0/2,%+%$;&),63/($ )

Lee, Berkeley

13

slide-14
SLIDE 14

#)0835&'"830<6&E-='&.5&5"" 3*+&'./7&"+')<'.*8"

J=&"-.'<&-")>"-=&"*)5&6"38" 0)05&-&'*3038/2"B&6&2-')08".05" =)6&8"86)8=30<".'),05"30"83632)0C9" This program defines exactly one behavior, given the input x. Note that the modeling framework (the C language, in this case) defines “behavior” and “input.”

Lee, Berkeley

14

slide-15
SLIDE 15

1)c@.'&"'&63&8")0".0)-=&'"5&-&'*3038/2" *)5&6"-=.-".%8-'.2-8"-=&"=.'5@.'&" G=$832.6"1$8-&*" Model Instruction Set Architectures (ISAs) are deterministic models

Lee, Berkeley

15

Image: Wikimedia Commons

Waterman, et al., The RISC-V Instruction Set Manual, UCB/EECS-2011-62, 2011

slide-16
SLIDE 16

d"@=32="'&63&8")0"$&-".0)-=&'" 5&-&'*3038/2"*)5&6"

G=$832.6"1$8-&*" J63/( )

  • #+&"26+61$)3%9%0'()(69%&

) %$)')3/0/2,%+%$;&),63/( )

Lee, Berkeley

16

slide-17
SLIDE 17

S&-&'*3038/2"N)5&68">)'"-=&"" G=$832.6"135&")>"#G1"

G=$832.6"1$8-&*" J63/( )

Signal Signal

*%M/2/+;'()8N1';6+$ ) '2/)3/0/2,%+%$;&),63/($ )

Lee, Berkeley

17

Image: Wikimedia Commons

slide-18
SLIDE 18

Signal Signal

18

Image: Wikimedia Commons

Lee, Berkeley

4"N.Y)'"G')%6&*">)'"#G1!"#)*%30./)08")>" S&-&'*3038/2"N)5&68".'&"Q)05&-&'*3038/2"

slide-19
SLIDE 19

Correct execution of a program in all widely used programming languages, and correct delivery of a network message in all general-purpose networks has nothing to do with how long it takes to do anything.

Programmers have to step outside the programming abstractions to specify timing behavior. Embedded software designers have no map!

Lee, Berkeley

19

Timing is not Part of Software and Network Semantics"

slide-20
SLIDE 20

AO.*+6&")>"-=&"Z&0&T-8")>"A*%'.230<" J&*+)'.6"1&*.0/28"

Despite using TCP/IP

  • n Ethernet, this

network achieves highly reliable bounded latency. TSN (time-sensitive networks) technology is starting to become pervasive!

Lee, Berkeley

20

This Bosch Rexroth printing press is a cyber- physical factory using Ethernet and TCP/IP with high-precision clock synchronization (IEEE 1588) on an isolated LAN.

slide-21
SLIDE 21

S&-&'*3038*[":&.66$["

" #G1".++632./)08")+&'.-&"30".0"30-'30832.66$" 0)05&-&'*3038/2"@)'659" " *6/$)%0)2/'((#),'C/)$/+$/)06)%+$%$0)6+) 3/0/2,%+%$;&),63/($O)

21

Lee, Berkeley

slide-22
SLIDE 22
  • ! I0"$&%/+&/P"-=&"7.6,&")>".",63/("63&8"30"=)@"@&66"3-8"

%&=.73)'"*.-2=&8"-=.-")>"-=&"+=$832.6"8$8-&*9"

  • ! I0"/+9%+//2%+9P"-=&"7.6,&")>"-=&"="#$%&'()$#$0/,)63&8"

30"=)@"@&66"3-8"%&=.73)'"*.-2=&8"-=.-")>"-=&"*)5&69"

Lee, Berkeley

22

In engineering, model fidelity is a two-way street! For a model to be useful, it is necessary (but not sufficient) to be able to be able to construct a faithful physical realization.

J=&"e.6,&")>"N)5&68"

slide-23
SLIDE 23

4"N)5&6"

Lee, Berkeley

23

slide-24
SLIDE 24

4"G=$832.6":&.63f./)0"

Lee, Berkeley

24

slide-25
SLIDE 25

N)5&6"H35&63-$"

  • ! J)"."$&%/+;$0P"-=&"*)5&6"38"\.@&59"
  • ! J)".0"/+9%+//2P"-=&"'&.63f./)0"38"\.@&59"

IR*".0"&0<30&&'d"

Lee, Berkeley

25

slide-26
SLIDE 26

H)'"#G1P"@&"0&&5"-)" #=.0<&"-=&"g,&8/)0"

J=&"F,&8/)0"38"+60"@=&-=&'"5&-&'*3038/2" *)5&68"2.0"5&82'3%&"-=&"%&=.73)'")>"2$%&'E +=$832.6"8$8-&*8"B@3-="=3<="T5&63-$C9" " J=&"F,&8/)0"38"@=&-=&'"@&"2.0"%,365"2$%&'E +=$832.6"8$8-&*8"@=)8&"%&=.73)'"*.-2=&8"-=.-" )>"."5&-&'*3038/2"*)5&6"B@3-="=3<="+')%.%363-$C9"

Lee, Berkeley

26

slide-27
SLIDE 27

S&-&'*3038*["

U=.-".%),-":&8363&02&["45.+-.%363-$["

S&-&'*3038/2"*)5&68"5)"0)-"&63*30.-&"-=&"0&&5" >)'"')%,8-P">.,6-E-)6&'.0-"5&83<089" I0">.2-P"-=&$"/+'?(/"8,2="5&83<08P"%&2.,8&"-=&$" *.W&"3-"*,2="26&.'&'"@=.-"3-"*&.08"-)"=.7&"." >.,6-]"

Lee, Berkeley

27

slide-28
SLIDE 28

AO.*+6&")>"-=&"Z&0&T-8")>"A*%'.230<" J&*+)'.6"1&*.0/28"

Suppose that events flowing in the network are time stamped. Then violations of the assumptions on network latency bounds are detectable, for example.

Lee, Berkeley

28

This Bosch Rexroth printing press is a cyber- physical factory using Ethernet and TCP/IP with high-precision clock synchronization (IEEE 1588) on an isolated LAN.

slide-29
SLIDE 29

#)026,83)0"

P/)"'4/)06)QR)0"/),63/($S)

Z,-"=)@[" "

I>"I"=.5"*)'&"/*&P"I"@),65"5&82'3%&!"

  • ! GJISA1!"5&-&'*3038/2"538-'3%,-&5"'&.6E/*&"8)c@.'&"
  • ! G:AJ"*.2=30&8!"#GK8"@3-="5&-&'*3038/2"/*30<"

I073-&"*&"%.2Wd"

Lee, Berkeley

29

slide-30
SLIDE 30

AO38-&02&"G'))>8"

S&-&'*3038/2"*)5&68"@3-="=3<=6$">.3-=>,6"3*+6&*&0-./)08" &O38-">)'"538-'3%,-&5"'&.6E/*&"8$8-&*89"

  • ! GJISA1!"538-'3%,-&5"'&.6E/*&"8)c@.'&"

–! S&-&'*3038/2"/*30<".2')88"0&-@)'W8"

  • ! G:AJ"*.2=30&8"

–! S&-&'*3038/2"/*30<".-"-=&"+')2&88)'"6&7&6"

Lee, Berkeley

30

slide-31
SLIDE 31

:))-8")>"-=&"I5&."

4#N"J'.08.2/)08")0"G')<'.**30<"?.0<,.<&8".05"1$8-&*8P"_`ah9"

Lee, Berkeley

31

slide-32
SLIDE 32

:;$",.1"!"S382'&-&E&7&0-"BSAC"*)5&68".'&">)'*.6"8$8-&*"8+&23T2./)08"-=.-" =.7&".0.6$f.%6&"5&-&'*3038/2"%&=.73)'89"K830<"."<6)%.6P"2)0838-&0-"0)/)0")>" /*&P"SA"2)*+)0&0-8"2)**,032.-&"73."/*&E8-.*+&5"&7&0-89"SA"*)5&68" =.7&"+'3*.'36$"%&&0",8&5"30"+&'>)'*.02&"*)5&630<".05"83*,6./)0P"@=&'&" /*&"8-.*+8".'&"."*)5&630<"+')+&'-$"%&.'30<"0)"'&6./)08=3+"-)"'&.6"/*&" 5,'30<"&O&2,/)0")>"-=&"*)5&69"I0"-=38"+.+&'P"@&"&O-&05"SA"*)5&68"@3-="-=&" 2.+.%363-$")>"'&6./0<"2&'-.30"&7&0-8"-)"+=$832.6"/*&d"

32

Lee, Berkeley

Ptides – A Robust Distributed DE MoC for IoIT Applications

slide-33
SLIDE 33

^))<6&"1+.00&'"i"4":&307&0/)0"

^))<6&" 305&+&05&0-6$" 5&7&6)+&5"." 7&'$"83*36.'"

  • &2=03F,&".05"

.++63&5"3-"-)" 538-'3%,-&5" 5.-.%.8&89"

Lee, Berkeley

33

Proceedings of OSDI 2012

slide-34
SLIDE 34

GJISA1!"S382'&-&EA7&0-"1&*.0/28" ("1$02=')03f&5"#6)2W8"("1&08)'8".05"42-,.-)'8"

Lee, Berkeley

34

Time-stamped events that are processed in time-stamp order. This MoC is widely used in simulation and HDLs. Given time-stamped inputs, it is a deterministic concurrent MoC.

A few texts that use the DE MoC

slide-35
SLIDE 35

Time stamp value is a deadline Time stamp value is time of measurement Actors wrap sensors Actors wrap actuators

Lee, Berkeley

35

Ptides: Time stamps bind to real time at sensors and actuators"

Messages are processed in time- stamp order

slide-36
SLIDE 36

S&-&'*3038/2"S38-'3%,-&5"" :&.6EJ3*&"

488,*&"%),058")0!"

  • ! &(6&C)$#+&"26+%T';6+)/2262)
  • ! +/0762C)('0/+&#)
  • =&0"!"!#$%&'(!&)(*+!%%!,&-#&./!0%$'/)&*(,!(&

.-"&7&'$"2)*+)0&0-9""I>"30".553/)0"@&".88,*&"

  • ! ?61+3$)6+)/R/&1;6+);,/)
  • =&0"&7&0-8".'&"5&637&'&5"-)".2-,.-)'8")0"/*&9"

Lee, Berkeley

36

See http://chess.eecs.berkeley.edu/ptides

slide-37
SLIDE 37

All of the assumptions are achievable with today’s technology, and are requirements anyway for hard-real- time systems. A Ptides model makes the requirements explicit. Lee, Berkeley

37

So Many Assumptions?"

You will never strike oil by drilling through the map!

Violations of the requirements are detectable as out-of-order events and can be treated as faults.

Non-Synchronized Clocks

slide-38
SLIDE 38

A fault manifests as out-of-order events.

! after an event here with a later time stamp has been processed, then fault! If an event arrives here with an earlier time stamp!

Occurrence

  • f a fault

implies one

  • r more of

the assumptions was violated. Lee, Berkeley

38

Handling Faults"

slide-39
SLIDE 39

G/5&8"

" ;3<=E+'&2383)0"26)2W"8$02=')03f./)0"@366" %&2)*&",%3F,3-),89"Q&-@)'W8"@366"%&2)*&".%6&"

  • )"L<,.'.0-&&M"%),05&5"6.-&023&89""

" J=&"/*&"38"'3<=-9" " L10)7"'0)'?610)0"/)/R/&1;6+);,/)6.)$6U7'2/O)

Lee, Berkeley

39

slide-40
SLIDE 40

AO38-&02&"G'))>8"

S&-&'*3038/2"*)5&68"@3-="=3<=6$">.3-=>,6"3*+6&*&0-./)08" &O38-">)'"538-'3%,-&5"'&.6E/*&"8$8-&*89"

  • ! GJISA1!"538-'3%,-&5"'&.6E/*&"8)c@.'&"

–! S&-&'*3038/2"/*30<".2')88"0&-@)'W8"

  • ! G:AJ"*.2=30&8"

–! S&-&'*3038/2"/*30<".-"-=&"+')2&88)'"6&7&6"

Lee, Berkeley

40

slide-41
SLIDE 41

The hardware out of which we build computers is capable of delivering “correct” computations and precise timing!

The synchronous digital logic abstraction removes the messiness

  • f transistors.

! but the overlaying software abstractions discard the timing precision.

// Perform the convolution. for (int i=0; i<10; i++) { x[i] = a[i]*b[j-i]; // Notify listeners. notify(x[i]); }

Lee, Berkeley

41

slide-42
SLIDE 42

PRET Machines – Giving Software the Capabilities their Hardware Already Has.

  • ! PREcision-Timed processors = PRET
  • ! Predictable, REpeatable Timing = PRET
  • ! Performance with REpeatable Timing = PRET

= PRET +

Computing With time

// Perform the convolution. for (int i=0; i<10; i++) { x[i] = a[i]*b[j-i]; // Notify listeners. notify(x[i]); }

http://chess.eecs.berkeley.edu/pret

Lee, Berkeley

42

slide-43
SLIDE 43

N.Y)'"#=.66&0<&8"

.05"&O38-&02&"+'))>8"-=.-"-=&$"2.0"%&"*&-"

  • ! G3+&630&8"

–!T0&E<'.30"*,6/-='&.530<"

  • ! N&*)'$"=3&'.'2=$"

–!*&*)'$"2)0-')66&'8"@3-="2)0-')66.%6&"6.-&02$"

  • ! IjD"

–!-='&.5&5"30-&'',+-8P"@3-="%),05&5"&V&2-8")0"/*30<"

Lee, Berkeley

43

slide-44
SLIDE 44

G:AJ"G,%632./)08"

<=>?%!@:%=0.3*A./'&$8%

  • !

G:AJ_P"1+.'2E%.8&5"

–! k?32W6$"&-".69P"#41A1P"lmman"

  • !

GJ4:NP"4:NE%.8&5"

–! k?3,"&-".69P"I##SP"lm_ln"

  • !

H6&OG:AJP":I1#EeE%.8&5"

–! ko3**&'"&-".69P":J41P"lm_hP"lm_pn" Lee, Berkeley

44

1234&1(-#+-)5!6&

!! @"/)&'$/).62)!>8@) "! V837'23$)W)5//G)*H:)XYYZ[) !! !>8@)\-H)/R0/+$%6+$) "! V837'23$)'0)'(]G)\::*)XYY^[) !! @/,=62'()%$6(';6+) "! VL1%)/0)'(]G)*H:G)XY__[) !! */$%9+)&"'((/+9/$) "! VL26,'+)/0)'(]G)8-5$#+G)XY_`[) !! :#?/2K="#$%&'()$#$0/,$) "! V5//]G)-/+$62$G)XY_a[)

1234&7*(&8!+9(-$:6&

!! 8(%,%+';+9)$%3/K&"'++/()'b'&C$) "! V5%/)W)J&c269'+G)>/=620)XYY^[)

1234&;))5-+'.*#%6&

!! :6+026()$#$0/,$) "! VL1%)/0)'(]G)>@:-H)XY_Y[) !! :6,=10';6+'()d1%3)3#+',%&$) "! V5%1)/0)'(]G)D::JG)XY_X[)

1234&<!/*(:&8:%$!/%6&

!! *>HJ)&6+026((/2) "! V>/%+/C/)/0)'(]G):e*8-f\---)XY__[) !! -&2'0&"='3),'+'9,/+0) "! Vg%,)/0)'(]G)>@H-G)XY_h[) !! J%R/3)&2%;&'(%0#)*>HJ)&6+026((/2) "! Vg%,)/0)'(]G)>@H-)XY_a[)

slide-45
SLIDE 45

J='&&"^&0&'./)08")>"G:AJ" N.2=30&8".-"Z&'W&6&$"

  • ! G:AJ_P"1+.'2E%.8&5"B83*,6./)0")06$C"

–!k?32W6$"&-".69P"#41A1P"lmman"

  • ! GJ4:NP"4:NE%.8&5"BHG^4"3*+6&*&0-./)0C"

–!k?3,"&-".69P"I##SP"lm_ln"

  • ! H6&OG:AJP":I1#EeE%.8&5"BHG^4"("83*,6./)0C"

–!ko3**&'"&-".69P":J41P"lm_hP"G=S"J=&838"lm_pn"

Lee, Berkeley

45

slide-46
SLIDE 46

Hardware thread Hardware thread Hardware thread

Our Second Generation PRET

PTArm, a soft core on a Xilinx Virtex 5 FPGA (2012)

Hardware thread registers scratch pad memory I/O devices Interleaved pipeline with one set of registers per thread SRAM scratchpad shared among threads DRAM main memory, separate banks per thread memory memory memory

Isaac Liu, PhD Thesis, 2012

slide-47
SLIDE 47

D,'"J=3'5E^&0&'./)0"G:AJ!" D+&0E1),'2&"H6&OG:AJ"Bo3**&'"lm_hj_pC"

  • ! qlE%3-P"pE8-.<&"-='&.5"30-&'6&.7&5"+3+&630&P":I1#Ee"I14"

–! B.,7%,0.3C/-0%BD%"2,0.7$!" 82=&5,6&5".-"2)08-.0-"'.-&">)'"38)6./)0".05"'&+&.-.%363-$9" –! @'E%,0.3C/-0%BD%"2,0.7$!"" 8=.'&".66".7.36.%6&"2$26&8">)'"&r23&02$9"

  • ! S&+6)$&5")0"s3630O"HG^4"B.'&."2)*+.'.%6&"-)"N32')%6.f&C"

5//G)L/2C/(/#)

hZ)

A7&'$"q"2$26&8" B,06&88"5)0&C" U" N" s" S" U" N" s" U" N" U" H" S" H" s" S" H" N" s" S" H" U" N" s" S" H" ;:JJ"m" 1:JJ"_" 1:JJ"l" #6)2W"2$26&8" I08-',2/)08" U=&0&7&'"2$26&".7.36.%6&" B.'%3-'.'$"30-&'6&.730<C" S3<36&0-"4-6$8"B1+.'-.0"tC".05"" QI"*$:ID"Bo$02C"

slide-48
SLIDE 48

SRT thread Hardware thread Hardware thread Hardware thread Hardware thread

FlexPRET

Hard-Real-Time (HRT) Threads Interleaved with Soft-Real-Time (SRT) Threads

Hardware thread registers scratch pad HRT threads have deterministic timing. SRT threads share available cycles SRAM scratchpad shared among threads DRAM main memory provides deterministic latency for HRT threads. Conventional behavior for the rest. memory memory memory HRT thread Michael Zimmer

slide-49
SLIDE 49

Interrupt Handler Thread Hardware thread Hardware thread Hardware thread

FlexPRET I/O

Interrupt-Driven I/O is notorious for disrupting timing

Hardware thread registers scratch pad Interrupts have no effect on HRT threads, and bounded effect on SRT threads! memory memory memory Michael Zimmer

slide-50
SLIDE 50

G&'>)'*.02&"#)8-["

J=&"G:AJ"+')Y&2-"=.8"8=)@0"

  • =.-"$),"5)"0)-"0&&5"-)"

8.2'3T2&"+&'>)'*.02&"-)"<&-" 2)0-')6")7&'"/*30<9" " " " "

50

[Isaac Liu, PhD Thesis, May, 2012]

Lee, Berkeley

No!

slide-51
SLIDE 51

H6&OG:AJ"1=)@8!"

  • ! Q)-")06$"38"-=&'&"0)"+&'>)'*.02&"2)8-">)'"

.++')+'3.-&"@)'W6).58P"%,-"-=&'&"38".68)"0)" +&'>)'*.02&"2)8-">)'"30.++')+'3.-&" @)'W6).58]"

  • ! G3+&63030<P"*&*)'$"=3&'.'2=$P".05"30-&'',+-E

5'37&0"IjD"2.0".66"%&"5)0&"@3-=),-"6)830<" /*30<"5&-&'*30.2$]"

Lee, Berkeley

51

slide-52
SLIDE 52

#)026,83)0"

F0"0,-*&*$/1%-'703$%@3-="2*4235%+.*"2+)3% *-G30-0&"./'&$%&O38-">)'"538-'3%,-&5"'&.6E/*&"8$8-&*89"

  • ! GJISA1!"538-'3%,-&5"'&.6E/*&"8)c@.'&"

–! S&-&'*3038/2"/*30<".2')88"0&-@)'W8"

  • ! G:AJ"*.2=30&8"

–! S&-&'*3038/2"/*30<".-"-=&"+')2&88)'"6&7&6"

Lee, Berkeley

52

We have run out of excuses for sloppy engineering!