ECS 251: Operating systems
When virtual is better than real
Notes
Piazza: there are two UC Davis entries, you have to pick the right one to find 251
Class size: looking into larger room, no promises though
Quizzes and grade update: updated website, one free quiz
Office hours posted, Wednesdays from 3:10pm - 4pm in my office (3061 Kemper)
Administrative
Can sign up for presentations on the google doc now
Administrative
Office hours set: Wednesdays 3:10pm - 4pm
Administrative
Start thinking about your project groups now (we’ll talk more about proposals later)
Discussion questions
One of the most important parts of your presentation
Three default questions:
Other questions designed to spark a discussion
Quote
“Intelligent and polite disagreement is what separates us from the politicians”
-- Matt Hicks, Advanced OS alum and current professor
How to read a paper...
Overview for lecture
Reminder, I’m doing both the “administrative” part and the discussion leading part
VMM basics
Definitions
VMM architecture
Workshop papers
No real implementation
Lots of ideas
Potential for impact
When virtual is better than real
Pete Chen’s most cited work
One of the two main reasons why VMs were such a popular research topic
Lots of impact (academic and beyond)
Secure logging / ReVirt
Intrusion detection
Migration
VMMs in general
Used heavily in data centers
Shipped with Windows 7 by default for Windows XP mode
Used to debug Android apps (the Android simulator uses the qemu VMM)
This is where my “historical context” would have ended
Key points
VMMs are great for certain things
VMMs are not the solution to all problems (like we thought they were in ‘01)
Using VMMs for services
Benefits
Uses
Poor uses of VMMs
Need to peer into the guest system (e.g., the Semantic Gap)
E.g., debugging a guest process from outside of the VM
Secure logging -- deterministic replay
Use “time-travel” to recreate the past
Architecturally visible state transitions
ReVirt
Uses VMM to record virtual machine
Most computation is deterministic
Non-determinism -- I/O, interrupts
Uniprocessor only
Can also replay a process
Inject inputs back into process to replay
Software-only replay
Advantages
Disadvantages
Problem: race conditions
The final state depends on the interleaving of the two processors memory access
Problem: race conditions
Software-only approach would have to inspect all load and store instructions
Alternative: Delorean: H/W support for multi core replay
Downside: records entire system
Capo: combines HW and SW replay systems
What did you like about the paper?
• What did you dislike about the paper?
• What future work did this inspire?
•
Can you create a complete VMM log from
within the guest (or non-virtual) OS?
• Will VMMs become the next OS?
• Is smaller more secure?
• Are VMMs more secure than OSes?
• Are extra layers on computer systems good?
• What will it take to make replay practical?
• Are we going to have HW support for replay?