Study Guide for CS656
Final
Posted: Friday May 2 2008
1. Note: you will
NOT be asked specifically about any of the student projects.
1. “Facts”-type
·
What problem is the
paper claiming to solve?
·
What is the
(proposed?) approach in the paper for solving the problem?
·
What is an overview
of the mechanism described in the paper?
·
What is the way that
the authors attempt to evaluate their work?
2. “Analysis”-type questions
·
Is the problem
statement compelling? Does this problem need to be solved?
·
Are you convinced the
paper solved the problem? What are the pros/cons of the approach? What are the
pros/cons of the evaluation methodology? What are the pros/cons of the results?
1. THE/NUCLEUS/HYDRA
·
What are the main philosophical differences in
design of the THE system, the Nucleus system, and
HYDRA?
·
In HYDRA, what is the purpose of the Local Name
Space (LNS)? What is the relation between a process and LNS(s)?
·
Does HYDRA have a notion of a “system call”? How is
it similar/different to a “normal procedure call”?
2. Pilot/Observations
·
Pilot was designed to be used by a single user. How
did this impact its design?
·
Pilot was written in Mesa. What are the pros/cons of
this decision?
·
What is the “Space” abstraction in Pilot – what is
it used for?
3. Exterminate/Exokernel
·
What are the
similarities and differences in philosophy of Exokernel
vs. Nucleus?
·
In class, we
held the great “Exokernel debate”. What were 3 of the
reasons discussed that advocated that this was “GREAT research”? What were 3 of
the reasons discussed that advocated that this was “HOT AIR”?
4. Disco
·
What are the similarities and differences
of Exokernel and Disco?
·
How does Disco hide the “NUMA-ness” of memory?
5. Xen
·
What are the similarities and
differences of Exokernel and Xen?
·
What are the similarities and
differences of Disco and Xen?
6. Improve reliability
…(“Nooks”)
·
Why don’t the authors pursue
virtualization as an approach to solve their problem?
·
How much of a performance hit does
Nooks cause? Where does this performance hit come from? Is this acceptable?
7. Scheduler activations
·
The
use of Scheduler Activations allows an application to “tell” the OS information
that the app would not normally be able to tell (and vice-versa). What
information does the application tell the OS, and what information does the OS
tell the application?
·
Are
scheduler activations (or something derived from it) heavily used today? Why or
why not?
8. Lottery scheduling /
Resource containers
·
Is
lottery scheduling useful for disks? Why or why not? Are there any issues that
arise that do not arise as in the use of lottery scheduling for CPU(s)?
·
What
are the similarities and differences between Exokernel
and Resource Containers? For example, what would someone who LOVES exokernel think about Resource Containers?
9. Monitors
·
Compare the use of monitors to
semaphores: When should I use monitors and when should I use semaphores? What
are the pros/cons of each?
·
What is “deadly embrace”? How do you know
if there exists a “deadly embrace”? How do you prevent it from occurring?
10. Experience with
processes/monitors in Mesa
·
What’s the difference between “Hoare
monitors” and “Mesa monitors”? Why does this difference matter (or does it)?
·
What is the interaction between process
scheduling and monitors as discussed in this paper?
11. Eraser
·
How is the lockset algorithm
implemented in this paper?
·
Critique the
evaluation of Eraser (e.g., what’s good and what’s bad about the evaluation as
presented in the paper)?
12. TxLinux
·
What’s the
difference between xspinlocks and cxspinlocks?
·
What are the pros/cons of hardware
transactional memory vs. software-based transactional memory?
13. Working set/ VM
Management in VAX/VMS
·
What is the relationship between the
“working set” and virtual memory victim-selection policies such as LRU, FIFO,
etc.?
·
In “VM management in VAX/VMS”, what is
“clustering” and how is it evaluated?
14. FFS
·
Are
there any situations where the “cylinder groups” of FFS perform poorly?
·
To
what extent is FFS outdated because of assumptions (e.g., re: disk properties)
made that are no longer true?
15. LFS
·
How
does LFS perform segment cleaning?
·
Describe
a workload (a set of files and a set of access patterns of reads and writes)
that would perform much better on (a) FFS than on LFS, (b) LFS than on FFS
16. RAID
·
What is the “small write problem” with
regard to RAID 5?
·
On what basis (metrics/requirements)
does a person choose one type of RAID (vs. another RAID type)?
17. NFS/AFS/GFS
·
Performance
is a big issue in NFS. When would NFS performance be the same as the
performance of the local file system?
·
Describe
a workload (a set of files and a set of access patterns of reads and writes)
that would perform much better on (a) AFS than on NFS, (b) NFS than on AFS, (c)
NFS than on GFS, (d) GFS than on AFS
18. Trusting trust/
Authentication
·
What is the
difference between “speaks for” and “delegation”?
·
What is the value of the “theory” of
authentication?
19. SecVisor
·
To what
extent does SecVisor require hardware support to be
effective?
·
Critique the evaluation of “SecVisor”: pros/cons
20. Locus / Singularity
·
To what extent did NFS (alone) solve
the problem that Locus was addressing? What about RAID (alone)? What about RAID
+ NFS?
·
What were the most important
strengths/weaknesses of Singularity?