Don't spend time regurgitating obvious stuff from the papers! The point of these questions is to
and then to write down what it is that you thought about. I read 30-odd write-ups, so the more interesting you are, the better! If you find yourself just repeating a lot of details from the paper, you are going down the wrong path.
Don't spend time criticizing how they wrote the paper. That is, I don't need to know whether you thought the paper was well written or not. We'll have plenty of time to talk about those types of things later in the class...
Combo question: Coda and PAST
What are the main differences between an old style "distributed" system and a modern "p2p" system?
Combo question: NFS and AFS
Describe a workload (e.g., a set of reads/writes to file(s) of a given size) that performs much better on NFS than on AFS. Then do the opposite (much better on AFS than on NFS). Then smile.
Combo question: TACC (Cluster-based scalable services) and Locus
Is Locus a good substrate to build cluster-based scalable services upon? (e.g., does Locus provide the kind of primitives that are needed in the cluster-based scalable services paper?)
The designers of RPC make a number of design assumptions. List and discuss three of those decisions; did they make good trade-offs in the design?
Optional (to think about):
The VMWare paper introduces memory ballooning as a technique to steal pages from one domain and give them to another: what are the limitations of this approach?
No questions this week! (An early spring break) Use this time to start on your projects, but please still read and discuss the papers
Questions for the week (3/8, 3/10)
Discuss the empirical evaluation in the Resource Containers paper. What is good about it, what is bad, what is missing?
Scheduler Activations are used, among other things, to convey information between user-level processes and the operating system. What type of information is conveyed by each to the other, and why is it important to do so?
Monitors and Mesa
In theory, there's no difference between theory and practice, but in practice, there is. Discuss how the "practice" as described in the Mesa paper differs from the "theory" described in the Monitors paper.
Describe how we could use lottery scheduling to schedule a different resource, namely disk bandwidth. What are the issues here? (hint: think about how a disk works)
this week, due
Thursday 2/24 at 10am.
Discuss some of the difficulties of applying D-GRAID-style layout to RAID Level-5 style parity encoding.
Discuss how I/O lite changes how buffer-cache management works in an operating system. What is different?
Describe how you would write a program that would make an anticipatory scheduling system perform very poorly, as compared to a more traditional scheduler.
No question to turn in about FFS; just read the paper!
Come up with three workloads: one that works well on FFS-based systems but not on LFS; one that works well on LFS but not on FFS; and finally, one that doesn't work particularly well on either. What do I mean by a "workload"? Just a rough description of a set of I/O accesses. For example, you could describe one workload as "a set of sequential reads to large files".
Imagine you wanted to detect, from inside the OS, that you were running on Disco and not the bare hardware; what could you do? (assume you can run an arbitrary piece of code to do this). How robust is your detection scheme? Just sketch the basic idea, no need to go into extreme levels of detail.
Criticize the evaluation of the Nooks system -- what is done well, what is missing?
Compare the Hydra generic "call" and a "system call" of a more modern OS -- what are the similarities, what are the differences?
A good answer
What is different between the minimal approach that Exokernel takes as compared to that of Nucleus?
The Structure of the "THE" Multiprogramming System
The Nucleus of a Multiprogramming System
What are the main philosophical differences in design of the THE system and the Nucleus system?
A good answer