Download presentation
Presentation is loading. Please wait.
Published byBaldwin Hardy Modified over 6 years ago
1
EECS 582 Midterm Review Mosharaf Chowdhury EECS 582 – W16
2
Stats on the 18 Reviewers EECS 582 – W16
3
Stats on the 21 Papers We’ve Reviewed
EECS 582 – W16
4
Stats on the 21 Papers We’ve Reviewed
EECS 582 – W16
5
Classics EECS 582 – W16
6
Classics UNIX System R (Arguably) the first commodity OS
Simplicity is king when you must support diverse applications Everything is a file! System R The first relational database implementation Design iteratively and be ready to throw away Find the “right” metric and do everything when you must deliver performance (i.e., specialization instead of generalization) EECS 582 – W16
7
Storage and File Systems
EECS 582 – W16
8
Storage and File Systems
RAID Industry standard for durable, high-performance storage Parallelize for performance and fault-tolerance FFS Improved UNIX’s default file systems Be aware of and exploit hardware characteristics JFS Provides crash recovery to file systems Log what you’ll do before you do it! EECS 582 – W16
9
Kernels EECS 582 – W16
10
Kernels Exokernel Multikernel
Minimal kernel instead of a full-fledged one End-to-end argument: only provide services that everyone needs to balance between specialization (performance) and generalization (applicability) Multikernel Make communication explicit when you must communicate Shared-nothing design EECS 582 – W16
11
Kernels IX Separate control and data planes to provide I/O performance Kernels aren’t inherently slow; it’s about how we do things Commuter Interfaces dictate scalable design EECS 582 – W16
12
Virtual Memory and RPC EECS 582 – W16
13
Virtual Memory and RPC Memory Coherence RPC
Shared-everything design requires frequent updates Keeping things coherent is expensive but provides simple programming models RPC Makes distributed nature more explicit while keeping the same programming model as a non-distributed system No shared memory EECS 582 – W16
14
Concurrency and Scheduling
EECS 582 – W16
15
Concurrency and Scheduling
SEDA and Fibers Thread- and event-based programming models both have their advantages and drawbacks (ease of programming vs. scalability and performance) It is possible to find a balance between the two Lottery and Stride Scheduling Randomized and deterministic proportional scheduling The key challenge is in determining the proportions (weights) EECS 582 – W16
16
Reliability and Fault Tolerance
EECS 582 – W16
17
Reliability and Fault Tolerance
Eraser Detecting bugs, specially the non-deterministic ones, is hard Provide a “tight” coverage to allow manual inspection Nooks Failure is inevitable Isolate it and start again EECS 582 – W16
18
Virtual Machines EECS 582 – W16
19
Virtual Machines Xen and ESX Live Migration ReVirt
Virtualization comes in many shapes and forms (e.g., full virtualization vs paravirtualization) Choose the one that fits your requirements (e.g., performance, consolidation, deployability) Fit for your workload Live Migration Keep things running until you must stop ReVirt Quis custodiet ipsos custodes? (Roman poet Juvenal in Satires) It’s turtles all the way down! EECS 582 – W16
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.