The Quest-V Separation Kernel
Richard West richwest@cs.bu.edu
Computer Science
The Quest-V Separation Kernel Richard West richwest@cs.bu.edu - - PowerPoint PPT Presentation
The Quest-V Separation Kernel 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
6
– Distributed system on a chip – Time as a first-class resource
– Separate sandbox kernels for system components – Memory isolation using h/w-assisted memory virtualization
– Also need CPU, I/O, cache isolation, etc (later!)
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
is not greater than that caused by an equivalent periodic task (1) Replenishment, R must be deferred at least t+TV (2) Can be deferred longer (3) Can merge two overlapping replenishments
R1.time
29
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%
30
i=0 n−1 Ci
Ti + ∑
j=0 m−1
(2−Uj) ⋅Uj≤n⋅ (
n
√2−1)
31
32
33
34
No VMX or EPT flags 1 CPU + 512 MB
35
mplayer Benchmark
36
37
38
39
– Linux kernel + filesystem in RAM – Secure comms channel b/w Quest SB &
– /dev/qSBx device for each sandbox x
40
41
42