Quest – A Journey in Space and Time
Richard West richwest@cs.bu.edu
Computer Science
Quest A Journey in Space and Time Richard West richwest@cs.bu.edu - - PowerPoint PPT Presentation
Quest A Journey in Space and Time Richard West richwest@cs.bu.edu Computer Science Goals Develop system for high-confidence (embedded) systems Mixed criticalities (timeliness and safety) Predictable real-time support
Computer Science
2
3
4
– Loss of spacecraft due to Imperial / Metric conversion error (September 23, 1999)
Ariane 5 rocket – June 4, 1996 rocket destroyed during flight – Conversion error from 64-bit double to 16-bit value
Canada in 2003 without electricity due to software race condition
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Data Port: 0xCFC Address Port: 0xCF8
19
No I/O Partitioning I/O Partitioning (Block COM and NIC) Exception (TF) 9785 CPUID 502 497 VMCALL 2 2 I/O Instruction 11412 EPT Violation 388 XSETBV 1 1 During normal operation only one monitor trap every 3-5 mins by CPUID Table: Monitor Trap Count During Linux Sandbox Initialization
20
21
22
Main VCPUs I/O VCPUs Threads PCPUs (Cores) Address Space
23
24
25
26
27
28
1 10 10 20,00 00,00 00,00 17 20 30 40 50 1 10 1 16 1 60 70 80 10 90 100 12 8 110 02,00 18,50 00,00 02,40 18,50 00,00 18,50 02,90 00,00 02,50 02,90 16,100 02,80 02,90 16,100 02,90 16,100 02,130 16,100 02,130 02,140 1 10 10 17 20 30 40 50 60 70 80 90 100 110 1 10 17 1 10 17 amount , time Replenishment Queue Element VCPU 0 (C=10, T=40, Start=1) VCPU 1 (C=20, T=50, Start=0) Premature Replenishment Corrected Algorithm 2 IOVCPU (Utilization=4%) 2 2 2 (A) (B)
Interval [t=0,100] (A) VCPU 1 = 40%, (B) VCPU 1 = 46%
29
i=0 n−1 Ci
Ti + ∑
j=0 m−1
(2−Uj) ⋅Uj≤n⋅ (
n
√2−1)
30
31
32
33
No VMX or EPT flags 1 CPU + 512 MB
34
mplayer Benchmark
35
netperf UDP send netperf UDP receive (netserver)
36
100 Million Page Faults 1 Million fork-exec-exit Calls
37
38
39
40
41
. . . Comms channel (e.g. shared memory) PC running Quest-V Internet 4G Network Wireless Ethernet USB Wireless Ethernet Galileo running Quest Galileo QBOX Linux Kernel Monitor CPU m SLIPKNOT Services Fire Alarm 802.11p 802.11p Quest Monitor CPU m SLIPKNOT Services Quest Monitor CPU m SLIPKNOT Services VCPU VCPU VCPU VCPU
42
43
– Linux kernel + filesystem in RAM – Secure comms channel b/w Quest SB &
– /dev/qSBx device for each sandbox x
44
45
46
loop (1, 40, 100) { /* VCPU: C = 40, T = 100 */ digitalWrite (LED1, HIGH); ... /* Blink LED1 */ } loop (2, 20, 100) { /* VCPU: C = 20, T = 100 */ analogWrite (LED2, brightness); ... /* Change brightness of LED2 */ } setup () { pinMode (LED1, OUTPUT); pinMode (LED2, OUTPUT); }
47