cse 291j virtualization: course summaryyiying/cse291j-winter20/reading/summary.… · • interpret...
TRANSCRIPT
![Page 1: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/1.jpg)
CSE 291J Virtualization: Course Summary
Yiying Zhang
![Page 2: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/2.jpg)
Outline• Course summary
• Brief intro to major datacenters/clouds
• Hints for computer systems design
• Final project presentation this Thur
• (6min presentation + 2min Q&A) * 10 groups
• Final project summary report due 3/20
• Course evaluation!
![Page 3: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/3.jpg)
![Page 4: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/4.jpg)
Operating System Architectures
Use
r-M
ode
Ker
nel-M
ode
MonolthicKernel MicroKernel
ExoKernel (Library OS)
OSAppLogic
![Page 5: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/5.jpg)
Virtual Machine Architectures
VMM
VM-2
Hardware
VM-1
Host OS
VM-2
Hardware
VM-1
Host OS
Hardware
VMM
VM-1 VM-2
VMM
Xen / VMware ESX Linux KVMVMware Workstation / VirtualBox
![Page 6: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/6.jpg)
X86 Difficulties and Possible Solutions • Not all sensitive instructions are privileged with x86, i.e., non-virtualizable processor
• These instructions do not trap and behave differently in kernel and user mode
• Hardware-managed TLB
• Emulate• Interpret each instruction, super slow (e.g., Virtual PC on Mac)
• Binary translation• Rewrite non-virtualizable instructions (e.g., VMware)
• Para-virtualization• Modify guest OS to avoid non-virtualizable instructions (e.g., Xen)
• Change hardware• Add new CPU mode, extend page table, and other hardware assistance (e.g., Intel VT-x, EPT, VT-d, AMD-V)
![Page 7: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/7.jpg)
Protection Rings• More privileged rings can access memory of less privileged
ones
• Calling across rings can only happen with hardware enforcement
• Only Ring 0 can execute privileged instructions
• Rings 1, 2, and 3 trap when executing privileged instructions
• Usually, the OS executes in Ring 0 and applications execute in Ring 3
Image Source: https://commons.wikimedia.org/wiki/File:CPU_ring_scheme.svg
![Page 8: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/8.jpg)
Hardware Virtualization Support
Hypervisor
Guest Applications
Guest OS
Ring 3
Ring 1
Ring 0
Hardware w/o VT-x
Hypervisor
Guest Applications
Guest OS
non-root Ring 3
non-root Ring 0
root Ring 0
Hardware w/ VT-x
Host Applications
root Ring 3
OS
Dune Process
non-root
root Ring 0
Hardware w/ VT-x
Host Applications
root Ring 3
Virtualization w/o hardware support
Virtualization w/hardware support
Dune utilizing hardware support
![Page 9: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/9.jpg)
VM <—> Containers
Hardware
Hypervisor
Guest OS
App App
Guest OS
App App
VM VM
Virtual Machines Containers
Hardware
Host OS
App App
Container
App
Container
+ Strong security+ Fully compatible- Heavy weight
+ Weak security+ Compatible- Lightest weight
Lightweight VM (LightVM, Firecracker)
Hardware
Hypervisor
Small OS
App App
Light VM
Small OS
App App
Light VM
Secure Container (gVisor, Unikernels
as processes)
Hardware
LibOS
App App
Container
LibOS
App App
Container
Host OS
Sandbox
Unikernels
Hardware
Hypervisor
LibOS
App
Single-App VM
LibOS
App
Single-App VM
+ Strong security+ Mostly compatible- Medium weight
+ Strong security- Not compatible- Light weight
+ Strong security+ Mostly compatible- Light weight
![Page 10: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/10.jpg)
Major Clouds and Datacenters
![Page 11: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/11.jpg)
AWS• Biggest market share, longest history• Highest compute (and other service) options >= 136 instance types in 26 families • Storage
– Simple Storage Service (S3)– Elastic Block Service (EBS)
• Many other services – Lambda (serverless)– ECS/EKS (managed containers)– …
![Page 12: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/12.jpg)
Amazon• Storage
• Dynamo, S3, EBS
• Database/NoSQL
• DynamoDB, Redshift, ElastiCache
• Network
• Customized NICs, virtualization support
• Hardware
• ASIC (Nitro), x86, ARM
• Resource management
• Fargate, Kubernetes
• Execution environment
• Disaggregated storage, many virtualization options
• Dataflow/analytics
• EMR, Athena
• Application
• Neptune (graph), SageMaker (ML), Kafka (streaming)
Availability
![Page 13: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/13.jpg)
Azure
• Good integration with Microsoft products– Customers that are already using Microsoft products (e.g.,
having existing licenses)
• Many instance types and service types
• Moved from Windows to Linux
![Page 14: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/14.jpg)
Microsoft• Storage
• Azure storage (erasure coding), Project Silica
• Database
• SQL Server
• Network
• RDMA, FaRM
• Hardware
• x86, FPGA (Catapult)
• Resource management
• Some research in using ML
• Execution environment
• Disaggregated storage
• Dataflow
• Dyrad, DyradLINQ
• Application
• Project Adam (ML)
Enterprise
Research
![Page 15: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/15.jpg)
Google Cloud Platform (GCP)
• Latest among the three to come in play and smallest market share, but with good growth
• Cheapest among the three• Fewest instance types, allows customized CPU/memory
sizes– bill based on total CPU and memory usages, not on total
instance time• Native kubernetes support• Good support for cross geo-regions
![Page 16: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/16.jpg)
Google• Storage
• GFS, next-gen GFS, Intel Optane
• Database
• BigTable, Spanner (Geo)
• Network
• FatTree
• Hardware
• Commodity + TPU
• Resource management
• Borg, Kubernetes, Chubby
• Execution environment
• Non-disaggregated, containerized
• Dataflow
• MapReduce
• Application
• TensorFlow (ML), Pregel (graph)
ReliabilityOpen Source
![Page 17: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/17.jpg)
Facebook• Storage
• TAO, Haystack (photo)
• Database/NoSQL
• Presto, MySQL, Cassandra, Memcache
• Network
• Taiji (traffic load), FBOSS, Wedge
• Hardware
• Commodity, some ASIC
• Resource management
• Resource control
• Execution environment
• Disaggregated (pods)
• Dataflow
• Apache Spark
• Application
• SVE (video), PyTorch (ML)
Move Fast and Break Things
Move Fast with Stable Infra
![Page 18: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/18.jpg)
Common (and Important) Themes• Scalability
• Dist sys, local sys, networking
• Reliability
• Failure, bugs, testing
• Security
• Across customers, internal, regulations
• Manageability
Want to know more? Take CSE291H Modern Data Center Systems
![Page 19: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/19.jpg)
Hints for Computer System Design
Butler Lampson
![Page 20: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/20.jpg)
Systems Design• The external interface (that is, the requirement) is less precisely defined,
more complex, and more subject to change.
• The system has much more internal structure, and hence many internal interfaces.
• The measure of success is much less clear.
![Page 21: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/21.jpg)
![Page 22: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/22.jpg)
Keep It Simple• KISS: Keep It Simple, Stupid. (Anonymous)
• If in doubt, leave if out. (Anonymous)
• Exterminate features. (C. Thacker)
• On the other hand,
• Everything should be made as simple as possible, but no simpler. (A. Einstein)
![Page 23: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/23.jpg)
Making Implementation WORK!
• Perfection must be reached by degrees; she requires the slow hand of time. (Voltaire)
• Plan to throw one away; you will anyhow
• Use a good idea (and implementation) again instead of generalizing
![Page 24: CSE 291J Virtualization: Course Summaryyiying/cse291j-winter20/reading/Summary.… · • Interpret each instruction, super slow (e.g., Virtual PC on Mac) ... • Add new CPU mode,](https://reader033.vdocuments.site/reader033/viewer/2022050216/5f61e6791a8e9959372abc36/html5/thumbnails/24.jpg)
Final Thoughts?