Embedded Intelligent Systems
Edward A. Lee
Robert S. Pepper Distinguished Professor UC Berkeley
Keynote: ARTEMIS Sprint Event April 13, 2016 Vienna, Austria
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
Robert S. Pepper Distinguished Professor UC Berkeley
Keynote: ARTEMIS Sprint Event April 13, 2016 Vienna, Austria
#$%&'E+=$832.6"8$8-&*8"'&F,3'&"0&@"&0<30&&'30<"" *&-=)58".05"*)5&68"-)".55'&88"-=&8&"2)0-'.532/)089"
Automotive
Biomedical Military Energy Manufacturing
Avionics
Buildings
3
Lee, Berkeley
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.
Lee, Berkeley
5
Lee, Berkeley
6
Solomon Wolf Golomb You will never strike oil by drilling through the map!
Lee, Berkeley
7
Lee, Berkeley
8
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-"
830<6&">)'*,6."-=&"*)7&*&0-8")>"-=&" <'&.-&8-"%)53&8")>"-=&",037&'8&".05"-=)8&")>"
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
Lee, Berkeley
10
Z)OP"^9"A9"G9".05"Q9":9"S'.+&'P"_`ab!"8,=%2%&'()J63/(KL1%(3%+9)'+3)>/$=6+$/)
Lee, Berkeley
11
Lee, Berkeley
12
Lee, Berkeley
13
Lee, Berkeley
14
Lee, Berkeley
15
Image: Wikimedia Commons
Waterman, et al., The RISC-V Instruction Set Manual, UCB/EECS-2011-62, 2011
Lee, Berkeley
16
Signal Signal
Lee, Berkeley
17
Image: Wikimedia Commons
Signal Signal
18
Image: Wikimedia Commons
Lee, Berkeley
Programmers have to step outside the programming abstractions to specify timing behavior. Embedded software designers have no map!
Lee, Berkeley
19
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.
21
Lee, Berkeley
Lee, Berkeley
22
Lee, Berkeley
23
Lee, Berkeley
24
Lee, Berkeley
25
Lee, Berkeley
26
Lee, Berkeley
27
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.
Lee, Berkeley
29
Lee, Berkeley
30
4#N"J'.08.2/)08")0"G')<'.**30<"?.0<,.<&8".05"1$8-&*8P"_`ah9"
Lee, Berkeley
31
:;$",.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
^))<6&" 305&+&05&0-6$" 5&7&6)+&5"." 7&'$"83*36.'"
.++63&5"3-"-)" 538-'3%,-&5" 5.-.%.8&89"
Lee, Berkeley
33
Proceedings of OSDI 2012
Lee, Berkeley
34
A few texts that use the DE MoC
Time stamp value is a deadline Time stamp value is time of measurement Actors wrap sensors Actors wrap actuators
Lee, Berkeley
35
Messages are processed in time- stamp order
Lee, Berkeley
36
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
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
! 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
implies one
the assumptions was violated. Lee, Berkeley
38
Lee, Berkeley
39
Lee, Berkeley
40
// 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
// 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
Lee, Berkeley
43
<=>?%!@:%=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[)
Lee, Berkeley
45
Hardware thread Hardware thread Hardware thread
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
–! 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"
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"
SRT thread Hardware thread Hardware thread Hardware thread Hardware thread
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
Interrupt Handler Thread Hardware thread Hardware thread Hardware thread
Hardware thread registers scratch pad Interrupts have no effect on HRT threads, and bounded effect on SRT threads! memory memory memory Michael Zimmer
50
[Isaac Liu, PhD Thesis, May, 2012]
Lee, Berkeley
Lee, Berkeley
51
Lee, Berkeley
52