Tip #1:
Don't spend time regurgitating obvious stuff from the papers! The point of these questions is to
think,
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.
Tip #2:
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
Q17, 4/21:
What are the main differences between an old style "distributed" system and a modern "p2p" system?
Combo question: NFS and AFS
Q16, 4/14:
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
Q15, 4/7:
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?)
RPC
Q14, 3/30:
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
before class.
Questions for the week (3/8, 3/10)
Resource Containers
Q12, 3/8:
Discuss the empirical evaluation in the Resource Containers paper. What is good about it, what is bad, what is missing?
Scheduler Activations
Q13, 3/10:
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
Q10, 3/1:
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.
Lottery scheduling
Q11, 3/3:
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)
Note:
Only
one question
this week, due
Thursday 2/24 at 10am.
Q9, 2/24:
Discuss some of the difficulties of applying D-GRAID-style layout to RAID Level-5 style parity encoding.
IO-Lite
Q7, 2/15:
Discuss how I/O lite changes how buffer-cache management works in an operating system. What is different?
Anticipatory Scheduling
Q8, 2/17:
Describe how you would write a program that would make an anticipatory scheduling system perform very poorly, as compared to a more traditional scheduler.
FFS
2/8:
No question to turn in about FFS; just read the paper!
LFS
Q6, 2/10:
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".
Disco
Q4, 2/1:
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.
Nooks
Q5, 2/3:
Criticize the evaluation of the Nooks system -- what is done well, what is missing?
Hydra
Q2, 1/25:
Compare the Hydra generic "call" and a "system call" of a more modern OS -- what are the similarities, what are the differences?
Exokernel
Q3, 1/27:
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
Q1, 1/20:
What are the main philosophical differences in design of the THE system and the Nucleus system?