Title: A Survey of VM
1A Survey of VM04 and OSDI04
2??????????
- Towards Scalable Multiprocessor Virtual Machine
- Using Model Checking to Find Serious File System
Errors - Enhancing Server Availability and Security
Through Failure-Oblivious Computing - Recovering Device Drivers
- CP-Miner A Tool for Finding Copy-paste and
Related Bugs in Operating System Code - Configuration Debugging as Search Finding the
Needle in the Haystack
3Towards Scalable Multiprocessor Virtual Machines
- Volkmar Uhlig
- Joshua LeVasseur
- Espen Skoglund
- Uwe Dannowski
- (Universitat Karsruhe)
4Background Multiprocessor Virtual Machine
- ?????MP???????MP???????
- E.g.) VMWare ESX server, cellular disco
PU
PU
PU
PU
PU
PU
Memory
Memory
Memory
Virtual
Physical
PU
PU
PU
PU
Memory
5Background Multiprocessor Virtual Machine
- Multiplexing multiple virtual PUs
on one physical PUs
PU
PU
PU
PU
PU
PU
Memory
Memory
Memory
Virtual
Physical
PU
PU
PU
PU
Memory
6Problems with Scheduling of VMs (1/2)
- spin-lock??PU??????????
- ? Lock-holder?????????Lock?????????
- ???lock?????????PU???????
Lock???
Lock????
PU
PU
PU
PU
PU
PU
Virtual
???
Physical
PU
PU
PU
PU
7Problems with Scheduling of VMs (2/2)
- ?PU????asymmetric???
- ? Guest OS?scheduling????????
??PU?100???
??PU? 50???
PU
PU
PU
PU
PU
PU
Virtual
Physical
PU
PU
PU
PU
8Research Goal
- Scalable multiprocessor VM
- Avoids lock-holder preemption
- Schedules jobs with knowledge of asymmetric CPU
speed
9Lock-holder Preemption Avoidance
- Intrusive approach
- Guest OS?????
- Non-intrusive approach
- Guest OS??????
10Intrusive Approach
?????OS????
???????OS????
lock??? critical section??? lock???
???????VM??? lock??? critical
section??? lock??? ???????VM???
11Non-intrusive Approach
- ??????????????????????preemption?????
- user-level????
- HLT?????
- protocol handler?invoke?????
12Scheduling with Knowledge of Asymmetric CPU Speed
- Time ballooning
- ??PU??????????????workload???
??PU?100???
Virtual machine
??PU? 50???
PU1
PU2
??workload
PU1?runqueue
PU2?runqueue
13Experiments
- L4Ka???micro-kernel?????
- Apache2 benchmark??spin-lock? ?????
- ?10?????
14Summary
- Scalable multiprocessor VM
- Avoids lock-holder preemption
- ? Intrusive and non-intrusive approach
- Schedules jobs with knowledge of asymmetric CPU
speed - ? Time ballooning
15Using Model Checking to Find Serious File System
Errors
- Junfeng Yang
- Paul Twohey
- Dawson Engler
- Madanlal Musuvathi
- (Stanford University)
- (Microsoft Research)
16File System Checker (Fisc)
- ?????????????????
- C Model Checker (CMC)??????????????
- Abstract specification????????????????????
17Model Check???
- ??
- ?????????????
- ????
- ?????????????????????
- ?????????????????????
- ??????invariant
- fsck?recover?????
- ?????????????????????????
18Experiments
- ext3, JFS, ReiserFS????????
- ?600??10K?????? (ext3)
- ? ?????????????????????
19Enhancing Server Availability and Security
Through Failure-Oblivious Computing
- Martin Rinard
- Cristian Cadar
- Daniel Dumitran
- Daniel M. Roy
- Tudor Leu
- William S. Beebee, Jr.
- (MIT, Cambrige)
20Background
- Memory errors are a common source of program
failures - E.g.) Buffer overflow
- ??????????????
- E.g.) safe-C compilers
21Problems
- ???safe-C compiler?????? memory
error?????????stuck??
22Fail-Oblivious Computing (1/2)
- memory error??????????? ??????????
- ? An instance of Acceptability-oriented computing
M. Rinard OOPSLA03 - Replaces the concept of program correctness with
a set of acceptability properties
23Fail-Oblivious Computing (2/2)
- Benefits
- Availability
- Security
- Minimal adoption cost
- Reduced administration overhead
- Drawbacks
- Unanticipated execution paths
- Bystander effect
24Implementation (1/3)
- ???????????????????
- ????????????
- R. Jones and P. Kelly. Backwards-compatible
bounds checking for arrays and pointers in C
programs. In intl. workshop On Automatic
Debugging, 1997. - O. Ruwase and M. S. Lam. A Practical Dynamic
Buffer Overflow Detector. In Annual Network and
Distributed System Security Symposium, 2004.
25Implementation (2/3)
- ?????????? ? ????
- ?????????? ??????????
- ?????????
- ??loop??????????
26Implementation (3/3)
- ??????????????
- pointer in-equality comparison
27Experiments
- Applications
- Apache, Sendmail, Pine, Midnight commander
- Results
- ????8????????
- ????????????????????????
28Summary
- Fail-Oblivious Computing
- Enhances availability, resilience, and security
by continuing to execute through memory errors
29CP-Miner A Tool for Finding Copy-paste and
Related Bugs in Operating System Code
- Zhenmin Li
- Shan Lu
- Suvda Myagmer
- Yuanyuan Zhou
- (University of Illinois)
30Background
- Copy-paste??????????????????
- E.g.) ?????????
31Copy-paste?????????
for (iter 0
iterltnum_regs iter) prom_phys_totaliter.s
tart_adr prom_reg_memlistiter.phys_addr
prom_phys_totaliter.num_bytes
prom_reg_memlistiter.reg_size
prom_phys_totaliter.theres_more
prom_phys_totaliter1
for (iter 0
iterltnum_regs iter) prom_prom_takeniter.s
tart_adr prom_reg_memlistiter.phys_addr
prom_prom_takeniter.num_bytes
prom_reg_memlistiter.reg_size
prom_prom_takeniter.theres_more
prom_phys_totaliter1
prom_prom_taken????
32CP-Miner
- data-mining????????? copy-paste??????????
33Overview of Algorithm (1/4)
- ???????parse???statement??????????
- statement?token???
- E.g.) ??????????token?????
- E.g.) ???????????token?????
- token?????????????
for (iter 0 iterltnum_regs iter)
prom_phys_totaliter.start_adr
prom_reg_memlistiter.phys_addr
prom_phys_totaliter.num_bytes
prom_reg_memlistiter.reg_size
prom_phys_totaliter.theres_more
prom_phys_totaliter1
67651256
133862016
133862016
82589171
34Overview of Algorithm (2/4)
- ??????????????sequence???????
- ????????????sequence?????sequence?????????
35Overview of Algorithm (3/4)
- ??subsequence??
?????sequence?????????2????????????? - CloSpan??????????????????????
36Overview of Algorithm (4/4)
- ????????
- E.g.) ??????????????????
37Experiments
- copy-paste?????????20??????
- Linux 190,000?
- FreeBSD 150,000?
- copy-paste????????
- Linux 28?
- FreeBSD 23?
38Recovering Device Drivers
- Michael M. Swift
- Muthukaruppan Annamalai
- Brian N. Bershad
- Henry M. Levy
- (University of Washington)
39Background
- Device Driver????????????????????
- E.g.) 85 of Windows XP crashes
40Recovering Device Drivers
- ?????????????????????OS?????
- ???????????
41System Overview
OS Kernel
Kernel Interface
Sound Driver Class Interface
Sound Card Device Driver
Sound Card
42System Overview
- ??????????????????????
- Nooks?????????
- ???????????????????????
43??????
OS Kernel
- ????????
- E.g.) ioctl???????
Kernel Interface
Sound Driver Class Interface
Sound Card Device Driver
Sound Card
44??????
OS Kernel
- ???????????????
- ????????????????????
Kernel Interface
Sound Driver Class Interface
Sound Card Device Driver
Sound Card
45Configuration Debugging as Search Finding the
Needle in the Haystack
- Andrew Whitaker
- Richard S. Cox
- Steven D. Gribble
- (University of Washington)
46Background
- Configuration errors
- E.g.) ?????????????????
- ??????????????????????????????????
47Chronus
- ????probe??????????????????????????
48System Overview
- Time-travel disk
- ????????????
- ?????????????????????????
- µDenali virtual machine
49???????
- Binary search
- Time-travel disk????????????????????
- ??????????VM?boot???
probe?????
????
????
?????