| Date |
Reading and Questions |
Slides |
|
1/6
|
Course Introduction and the Virtualization Overview
|
Slides
|
|
1/8
|
Virtualization Techniques and CPU Virtualization
B.1 to B.3 of
Comet Book Chapter on Virtual Machine Monitors
Questions
- Give two examples that can cause a trap to the OS (just regular OS, with no virtualization).
- Why does the VMM (hypervisor) need to go to the guest OS for syscall handling?
Additional Readings
- Formal Requirements for Virtualizable Third Generation Architectures (Comm ACM 1974)
- Disco: Running Commodity Operating Systems on Scalable Multiprocessors (TOCS'97)
- Scale and Performance in the Denali Isolation Kernel
|
Slides
|
|
1/10
|
CPU Virtualization ctd.
A Comparison of Software and Hardware Techniques for x86 Virtualization (ASPLOS'06)
Questions
- Why is x86 un-virtualizable with trap-and-emulate? Give one example.
- With hardware virtualization extensions (e.g., Intel VT), do we still need binary translation? Why or why not?
Additional Readings
- Software Techniques for Avoiding Hardware Virtualization Exits
- Embra: Fast and Flexible Machine Simulation
- Fast Dynamic Binary Translation for the Kernel
- Enabling Intel Virtualization Technology Features and Benefits
|
Slides
|
|
1/13
|
CPU Virtualization ctd.
B.4 of
Comet Book Chapter on Virtual Machine Monitors
and
Performance Evaluation of Intel EPT Hardware Assist
Questions
Additional Readings
- List at least one pro and one con for software MMU
- List at least one pro and one con for hardware MMU
|
Slides
|
|
1/15
|
Memory Virtualization
Memory Resource Management in VMware ESX Server (OSDI'02)
Questions
- What is the double paging problem and what caused it?
- What is the benefit of keeping a "hint" entry for each scanned (but unshared) page (as compared to not maintaining anything for the page)
Additional Readings
|
Slides
|
|
1/17
|
Memory Virtualization Ctd.
Questions
None
Additional Readings
- Difference Engine: Harnessing Memory Redundancy in Virtual Machines
|
Slides
|
|
1/22
|
I/O Virtualizing
First three sections of virtio: Towards a De-Facto Standard For Virtual I/O Devices
and
first three sections of High Performance Network Virtualization with SR-IOV
and
Network Virtualization Overview
Questions
- Is virtio a full virtualization or a paravirtualization technique? What's its main benefit?
- List at least one limitation of SR-IOV
- What are the similarities and differences between network virtualization and traditional server virtualization?
Additional Readings
- vIC: Interrupt Coalescing for Virtual Machine Storage Device IO
- ELI: Bare-Metal Performance for I/O Virtualization
- Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor (ATC'01)
- Network Virtualization in Multi-tenant Datacenters (NSDI'14)
- The Design and Implementation of Open vSwitch (NSDI'15)
|
Slides
|
|
1/24
|
Cloud Computing
Above the Clouds: A Berkeley View of Cloud Computing
Quiz 1
Questions
- Why do you think cloud computing has been a huge success and gained majority of IT market?
- What challenges mentioned in the Bekerley cloud paper do you think still remain today?
- If you could change one thing about the cloud with a magic wand, what would you change?
Additional Readings
|
Slides
|
|
1/27
|
Container Basics
Understanding and Hardening Linux Containers
(mainly Ch 2 to Ch 5; you can ignore many of the details in these chapters. Read Ch 1 for more background on virtualization. Read other chapters if you are interested in security.)
Questions
- What types of isolations does Linux containers achieve?
- Can one Linux container affect the performance of another Linux container on the same machine (i.e., performance isolation)? Why or why not?
- Why do you think containers are less "secure" than virtual machines?
Additional Readings
- LXC/LXD
- Docker
- Understanding Security Implications of Using Containers in the Cloud
- Container Security: Issues, Challenges, and the Road Ahead
- Slacker: Fast Distribution with Lazy Docker Containers
|
Slides
|
|
1/29
|
Kubernetes
Kubernetes
Questions
- What is a Kubernetes Pod? How do you think it is useful in container orchestration?
- What does Kubernetes use etcd for? Why is having a consistent, atomic key-value store important for Kubernetes' control plane?
Additional Readings
- Borg, Omega, and Kubernetes (Google)
|
Slides
|
|
1/31
|
gVisor and Unikernel
gVisor
and
Unikernels: Library Operating Systems for the Cloud (ASPLOS'13)
Questions
- Vulnerabilities in the Linux kernel makes it unsafe for containers to call Linux system calls. How does gVisor solve this problem?
- Name one benefit and one drawback of compiling a single-image VM.
- Comparing gVisor and Unikernels, which one do you think is more secure and which is more lightweight?
Additional Readings
- The True Cost of Containing: A gVisor Case Study
- Container Isolation at Scale (Introducing gVisor) - Dawn Chen & Zhengyu He, Google
- Unikernels as Processes
- Unikernels are unfit for production
- Rethinking the Library OS from the Top-Down
- Mirage OS
- Nabla Containers
- ClickOS and the Art of Network Function Virtualization
- Libra: a library operating system for a JVM in a virtualized execution environment
- Exokernel: an operating system architecture for application-level resource management
- Dune: Safe User-level Access to Privileged CPU Features (OSDI'12)
|
Slides
|
|
2/3
|
Serverless Computing Basics
Pages 3 to 8 of
Cloud Programming Simplified: A Berkeley View on Serverless Computing
Questions
- Today's serverless functions are stateless. How do you think different functions can share data and communicate?
- Can you think of any security threats of serverless computing? Bonus points if you can outline a real threat/attack.
Additional Readings
- Amazon Lambda
- Google Cloud Functions
- Azure Functions
- Serverless Computing: Current Trends and Open Problems
- Serverless Workflows with Durable Functions and Netherite
- Serverless Computing: One Step Forward, Two Steps Back
|
Slides
|
|
2/5
|
Serverless Computing Pt 2.
Serverless in the Wild: Characterizing and Optimizing the Serverless Workload at a Large Cloud Provider (ATC'20)
Questions
- Can you think of any other ways to reduce or avoid cold start for serverless computing (other than what the ATC'20 paper talks about).
Additional Readings
ORION and the Three Rights: Sizing, Bundling, and Prewarming for Serverless DAGs
Occupy the Cloud: Distributed Computing for the 99% (PyWren)
Encoding, Fast and Slow: Low-Latency Video Processing Using Thousands of Tiny Threads
SAND: Towards High-Performance Serverless Computing
Encoding, Fast and Slow: Low-Latency Video Processing Using Thousands of Tiny Threads
A Case for Serverless Machine Learning
Archipelago: A Scalable Low-Latency Serverless Platform
Cloudburst: Stateful Functions-as-a-Service
|
Slides
|
|
2/7
|
KVM
kvm: the Linux Virtual Machine Monitor,
Questions
- What is the implication of KVM forwarding I/O requests to the user space?
Additional Readings
- KVM Documentation
|
Slides
|
|
2/10
|
QEMU and Xen
QEMU, a Fast and Portable Dynamic Translator (It's OK to not fully understand Section 2)
and
Xen and the Art of Virtualization (SOSP'03)
Questions
- What is the benefit of QEMU first translating the source instructions (guest) into micro-operations implemented in C and their compiled object files and then translating the object files into the target instructions (host)?
- Why can Xen allow guest OS system call handlers to be accessed directly (without any ring-0 Xen involvement) but not guest page fault handler?
- What's the benefit of using asynchronous event notifications from Xen to a VM?
Additional Readings
|
Slides
|
|
2/12
|
Firecracker
Firecracker: Lightweight Virtualization for Serverless Applications (NSDI'20)
Questions
- What is the benefit of Firecracker over gVisor in terms of the specific goals Amazon has for their cloud production environments?
- What mechanism(s) allow Firecracker to run thousands of MicroVMs on the same machine (with 10x-20x oversubscription rate)?
Additional Readings
|
Slides
|
|
2/14
|
New Cloud Infrastructure
Amazon Nitro (esp. the video talk on that page)
Quiz 2
Questions
- With Amazon Nitro, virtualization functions are mostly offloaded to hardware. Do we still need a hypervisor (or an OS)? Can everything just run in user space and interact with Nitro cards directly?
- Can you think of a drawback of offloading tasks to hardware (i.e., Nitro's approach)?
Additional Readings
- Intel Unveils Infrastructure Processing Unit
|
Slides
|
|
2/19
|
Systems for (Scalable) Machine Learning - Training
PipeDream: Generalized Pipeline Parallelism for DNN Training (SOSP'19)
Questions
- By making the pipeline more smooth (less pipeline bubbles), what tradeoff does PipeDream make? i.e., in what aspect is GPipe better than PipeDream?
- What type of parallelism do you think is most widely adopted in practice? Why?
Additional Readings
- GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism
- Memory-Efficient Pipeline-Parallel DNN Training (PipeDream-2BW)
- Scaling Distributed Machine Learning with the Parameter Server
- Optimization of Collective Communication Operations in MPICH
|
Slides
|
|
2/21
|
Systems for (Scalable) Machine Learning - Training Ctd
Alpa: Automating Inter- and Intra-Operator Parallelism for Distributed Deep Learning (OSDI'22)
Questions
- Try to come up with an alternative approach to automatically figure out a parallelism plan (instead of Alpa's way). Is it better/worse than Alpa?
Additional Readings
- GEMINI: Fast Failure Recovery in Distributed Training with In-Memory Checkpoints (SOSP'23)
- Distributed training of large language models on AWS Trainium (SoCC'24)
- DeepSeek-V3 Technical Report
- DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
- s1: Simple test-time scaling
|
Slides
|
|
2/24
|
Systems Support for Large Language Model Inference
Orca: A Distributed Serving System for Transformer-Based Generative Models (OSDI'22)
and
Efficient Memory Management for Large Language Model Serving with PagedAttention (SOSP'23)
Questions
- List one benefit and one drawback of iterative scheduling (as compared to request-level scheduling.
- List at least two reasons why GPU memory for KV cache is wasted without PagedAttention.
- What are the tradeoffs of using larger/smaller block sizes in PagedAttention?
Additional Readings
- FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness
- FasterTransformer
- Orca: A Distributed Serving System for Transformer-Based Generative Models (OSDI'22)
- FlexGen: High-Throughput Generative Inference of Large Language Models with a Single GPU
InferCept: Efficient Intercept Support for Augmented Large Language Model Inference
|
Slides
|
|
2/26
|
Systems Support for Large Language Model Serving
InferCept: Efficient Intercept Support for Augmented Large Language Model Inference (ICML'24)
and Preble: Efficient Distributed Prompt Scheduling for LLM Serving (ICLR'25)
Questions
- What are the three ways of dealing with KV cache when a model calls an API?
- What will happen if all requests are scheduled only based on where their matched prefix cache reside?
Additional Readings
- AlpaServe: Statistical Multiplexing with Model Parallelism for Deep Learning Serving (OSDI'23)
- Ray Serve: Scalable and Programmable Serving
- DeepSpeed Ulysses: System Optimizations for Enabling Training of Extreme Long Sequence Transformer Models
- Ring Attention with Blockwise Transformers for Near-Infinite Context
- Efficiently Programming Large Language Models using SGLang
|
Slides
|
|
2/28
|
"Virtualizing" Gen-AI Applications
Cognify: Supercharging Gen-AI Workflows With Hierarchical Autotuning
Questions
- Why can't gen-AI workflows be trained with traditional SGD?
- Name two reasons why you think workflows will be needed even when single models like GPT-5 become more powerful?
Additional Readings
- Large Language Model based Multi-Agents: A Survey of Progress and Challenges
- SPy: Programming—not prompting—Foundation Models
- Trace is the Next AutoDiff: Generative Optimization with Rich Feedback, Execution Traces, and LLMs
- TextGrad: Automatic "Differentiation" via Text
- Language Agents as Optimizable Graphs
- Agent AI: Surveying the Horizons of Multimodal Interaction
|
Slides
|
|
3/3
|
Security
When Virtual is Harder than Real: Security Challenges in Virtual Machine Based Computing Environments (HotOS'05)
and
Hey, You, Get Off of My Cloud: Exploring Information Leakage in Third-Party Compute Clouds (CCS'09)
Questions
- Can you think of some drawback of enforcing security mechanisms at the hypervisor level (compared to at the guest OS or above)?
- When a zone and/or an instance type are used more frequently (i.e., having higher loads from more tenants), do you think the co-location attack would be come easier or harder? Why?
- Do you think a similar co-location attack exist with serverless computing (i.e., one function attacking another function on the same physical machine)? Does serverless computing make such attacks harder or easier and why?
Additional Readings
- Secure Container Isolation: Problem Statement & Solution Space
- When Virtual Is Better Than Real (HotOS'01)
- Secure Pods: Sandboxing workloads in Kubernetes
- TrustVisor: Efficient TCB Reduction and Attestation
- SecVisor: A Tiny Hypervisor to Provide Lifetime Kernel Code Integrity for Commodity OSes (SOSP'07)
- Breaking Up is Hard to Do: Security and Functionality in a Commodity Hypervisor (SOSP'11)
- InkTag: Secure Applications on an Untrusted Operating System (ASPLOS'13)
- Overshadow: A Virtualization-Based Approach to Retrofitting Protection in Commodity Operating Systems
- VirtuOS: An Operating System with Kernel Virtualization
- SCONE: Secure Linux Containers with Intel SGX
- Understanding Security Implications of Using Containers in the Cloud (ASPLOS'08)
- Container Security: Issues, Challenges, and the Road Ahead
|
Slides
|
|
3/5
|
Resource Disaggregation
LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation (OSDI'18)
Questions
- List two to three pros of resource disaggregation
- List two to three cons of resource disaggregation
Additional Readings
- Clio: A Hardware-Software Co-Designed Disaggregated Memory System
- Mira: A Program-Behavior-Guided Far Memory System
- Make It Real: An End-to-End Implementation of A Physically Disaggregated Data Center
- Hermit: Low-Latency, High-Throughput, and Transparent Remote Memory via Feedback-Directed Asynchrony
- Canvas: Isolated and Adaptive Swapping for Multi-Applications on Remote Memory
- Disaggregating Persistent Memory and Controlling Them Remotely: An Exploration of Passive Disaggregated Key-Value Stores
|
Slides
|
|
3/7
|
Next-Generation Cloud
User-Defined Cloud (HotOS'21)
and
From Cloud Computing to Sky Computing (HotOS'21)
Questions
- Other than the examples given in the UDC paper, can you think of another cloud usage case that could benefit from UDC? and how exactly it can benefit from UDC?
- What do you think is the biggest obstacle for cloud users to adopt sky computing? for cloud providers to adopt it?
Additional Readings
|
Slides
|
|
3/10
|
Course Summary
Hints for Computer System Design - Butler Lampson
Quiz 3
Questions
Read the "Hints for Computer System Design" paper and summarize what you have learned over the course.
Feel free to write about anything else you want to comment on the course.
|
Slides
|
|
3/12
|
Project Presentations
|
|
|
3/14
|
Project Presentations
|
|