CS614 Lectures and Reading
Note, Solutions to the homework questions (HW) should be written-up and
submitted to the instructor
by email before the start of class.
Don't write a lot and don't use fancy formatting or attachments---use plain ASCII
and write just the few paragraphs needed
to demonstrate that you have read the
listed papers and thought about the question.
Jan 24 [Mon] (Speaker: Schneider)
- J.H. Saltzer, D.P. Reed, D.D. Clark.
End-to-end arguments in system design.
ACM Transactions on Computer Systems
Volume 2, Issue 4 (November 1984), pages 277--288.
- B. Lampson.
Hints for computer system design.
Proceedings of the Ninth ACM Symposium on Operating Systems Principles
(Bretton Woods, New Hampshire, United States) 1983, pages 33--48.
Jan 26 [Wed] (Speaker: Schneider)
Continuation of Jan 24....
Jan 31 [Mon] (Speaker: DeWitt)
HW: Would each of these authors be comfortable writing
their systems using Java? Explain.
- Dijkstra, E.W.
The structure of the “THE”-multiprogramming system.
Communications of the ACM
Volume 11, Issue 5 (May 1968), pages 341--346.
- Brinch Hansen, P.
The nucleus of a multiprogramming system.
Communications of the ACM
Volume 13, Issue 4 (April 1970), pages 238--241.
- Clark, David D.
The structuring of systems using upcalls.
Proceedings of the Tenth ACM Symposium on Operating Systems Principles
(Orcas Island, Washington, United States), ACM, 1985, pages 171--180.
Feb 2 [Wed] (Speaker: Brodsky)
HW: What aspects of Hydra are preserved in Mach? What aspects are abandoned?
- Wulf, W., E. Cohen, W. Corwin, A. Jones, and R. Levin.
HYDRA: The Kernel of a Multiprocessor Operating System.
Communications of the ACM
Volume 17, Issue 6 (June 1974), pages 337--345.
- Young, M., A Tavanian, R. Rashid, D. Golub, and J. Eppinger.
The Duality of Memory and Communication in the Implementation of a
Multiprocessor Operating System.
Proceedings of the Eleventh ACM Symposium on Operating Systems Principles
(Austin, Texas, United States), ACM, 1987, pages 63--76.
Feb 7 [Mon] (Speaker: Moczydlowski)
HW: State the fundamentally different philosophies
held by micro-kernel and exo-kernel partisans.
Give an example of something one might find in a micro-kernel but not in an exo-kernel
and vice-versa.
Feb 9 [Wed] (Speaker: Orlovich)
HW: Does the term "domain" mean the same thing in both papers?
If not, mention some differences.
Also, how does each proposal cope with the reality that I/O devices
make transfers to real addresses (and not virtual addresses)?
Feb 14 [Mon] (Speaker Song)
HW: Agree or disagree with the following statement, giving
evidence to support your position:
"Different motivations drive use of a high-level language in
each of these papers."
Feb 16 [Wed] (Speaker: Marian)
HW: UNIX file system implementations involve a level of indirection due to
the i-nodes. Does the contribution of each of these papers
depend in a significant way on having these i-nodes? How?
Feb 21 [Mon] (Speaker: Orlovich)
HW: What technological trends in the 1990's made log-structured file systems
attractive a decade ago,
and what technological trends made stackable file systems attractive a decade ago?
The technological picture is different in 2005---how are those justifications
for these technologies affected as a result?
- Rosenblum Mendel, and John K. Ousterhout.
The design and implementation of a log-structured file system.
ACM Transactions on Computer Systems
Volume 10, Issue 1 (February 1992), pages 26--52.
- Seltzer, Margo, Keith Bostic, Marshall Kirk McKusick, Carl Staelin.
An implementation of a log-structured file system for UNIX.
Proceedings 1993 Winter USENIX Technical Conference,
(San Diego, California, United States), 1993, pages 307--326.
- Heidemann, John S. and Gerald J. Popek.
File-system development with stackable layers.
ACM Transactions on Computer Systems (TOCS) archive
Volume 12, Issue 1 (February 1994), pages 58--89.
Feb 23 [Wed] (Speaker: Li)
HW: Could a processor whose memory translation hardware involves both segmentation
and paging be used to implement a segmented DSM?
If so, would this require running one instance of the DSM protocols for
both the segmentation and the paging or two
separate instances (one for the segmentation
and one for the paging)?
Why might supporting segmentation be especially appealing to the MUNIN designers?
- Li, Kai and Paul Hudak.
Memory Coherence in Shared Virtual Memory Systems.
ACM Transactions on Computer Systems
Volume 7, Issue 4 (November 1989), pages 321--359.
- Carter, John B., John K. Bennett, and Willy Zwaenepoel.
Implementation and performance of Munin.
Proceedings of the Thirteenth ACM Symposium on Operating Systems Principles
(Pacific Grove, California, United States), 1991, pages 152--164.
Feb 28 [Mon] (Speaker: Brodsky)
HW: In V, an attempt is made to unify groups and individual processes but
an individual process remains different from a process group of size one---explain
these differences.
In Locus, the focus appears to be on files and reliability;
what is the failure model being assumed?
- Popek, G., et al.
LOCUS a network transparent, high reliability distributed system.
Proceedings of the Eighth ACM Symposium on Operating Systems Principles
(Pacific Grove, California, United States), 1981, pages 169--177.
- Cheriton, David R. and Willy Zwaenepoel.
Distributed process groups in the V Kernel.
ACM Transactions on Computer Systems
Volume 3, Issue 2 (May 1985), pages 77--107
- Cheriton, David.
The V distributed system.
Communications of the ACM
Volume 31, Issue 3 (March 1988), pages 314--333.
Mar 2 [Wed] (Speaker: Marian)
HW: All of these papers discuss RPC implementations, but
each paper concentrates on a different aspect of the problem
(besides differing in programming language and/or target
system). What are these different areas of focus?
Mar 7 [Mon] (Speaker: Lifson)
HW: Each of these three papers describes a file system design and a
prototype
implementation, but each prototype implements only some parts of the
design.
For each paper, list the significant pieces of the design
omitted from the prototype.
- Nelson, Michael N., Brent B. Welch, and John K. Ousterhout.
Caching in the Sprite network file system.
ACM Transactions on Computer Systems,
Volume 6, Issue 1 (February 1988), pages 134--154.
- Srinivasan, V. and J. Mogul.
Spritely NFS: experiments with cache-consistency protocols.
Proceedings of the Twelfth ACM Symposium on Operating Systems Principles
(Litchfield Park, Arizona, United States), 1989, pages 44--57.
- Hartman, John H. and John K. Ousterhout.
The Zebra striped network file system.
ACM Transactions on Computer Systems
Volume 13, Issue 3 (August 1995), pages 274--310.
Mar 9 [Wed] (Speaker: Li)
HW: The use of whole-file transfer brought various different benefits
over the successive steps of the AFS evolution and then the evolution of
CODA. Name each of these steps and, for each, indicate the extend to which
whole-file transfer is enabling.
Mar 14 [Mon] (Speaker: Song)
HW: What technological trends are driving the designs in all three of these
papers?
- Dahlin, Michael D., Randolph Y. Wang, Thomas E. Anderson, and David A Patterson.
Cooperative caching: Using remote client memory to improve file system performance.
USENIX 1994 Operating Systems Design and Implementation Proceedings
(Monteray, California), 1994.
- Anderson, Thomas E., et al.
Serverless network file systems
ACM Transactions on Computer Systems
Volume 14, Issue 1 (February 1996), pages 41--79.
- Feeley, M. J., et al.
Implementing global memory management in a workstation cluster.
Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles
(Copper Mountain, Colorado, United States) 1995, pages 201--212..
Mar 16 [Wed] (Speaker: Johansen)
- Black, Andrew P.
Supporting distributed applications: experience with Eden.
Proceedings of the Tenth ACM Symposium on Operating Systems Principles
(Orcas Island, Washington, United States), pages 181--193.
- Jul, Eric, Henry Levy, Norman Hutchinson, and Andrew Black.
Fine-grained mobility in the Emerald system.
ACM Transactions on Computer Systems
Volume 6, Issue 1 (February 1988), pages 109--133.
Mar 21, Mar 23: Spring Break (no class)
Mar 28 [Mon] (Speaker: Schneider)
HW: To be assigned in class.
- Lamport, Leslie.
Time, Clocks, and the Ordering of Events in a Distributed System.
Communications of the ACM
Volume 21, Issue 7 (July 1978), pages 558--565.
- Chandy, Mani and Leslie Lamport.
Distributed snapshots: Determining global states of distributed systems.
ACM Transactions on Computer Systems
Volume 3, Issue 1 (February 1985), 63--75.
- Babaoglu, Ozalp and Keith Marzullo.
Consistent Global States of Distributed Systems:
Fundamental Concepts and Mechanisms.
Technical Report UBLCS-93-1, University of Bologna, January 1993.
Mar 30 [Wed] (Speaker: Schneider)
HW: To be assigned in class.
Apr 4 [Mon] (Speaker: DeWitt)
HW: Lamport et al argues the impossibility of an oral messages algorithm for
three generals with at most one traitor.
Suppose traitors were not Byzantine but instead
somewhat restricted in their behavior to "send omission" failures.
That is, a traitor follows the algorithm but only a subset of the messages
the traitor sends actually reach the receiver.
Is agreement still impossible?
Give an argument or outline a protocol.
- Lamport, Leslie, Robert Shostak, and Marshall Pease.
The Byzantine generals problem.
ACM Transactions on Programming Languages and Systems
Volume 4, Issue 3 (July 1982), 382--401.
- Fischer, Michael J., Nancy A. Lynch, and Michael S. Patterson.
Impossibility of distributed consensus with one faulty process.
Journal of the ACM
Volume 32, Issue 2 (April 1985), 374--382.
Apr 6 [Wed] (Speaker: Moczydlowski)
HW: None assigned.
- Lamport, Leslie.
Paxos made simple.
ACM SIGACT News (Distributed Computing Column) 32, 4
(Whole Number 121, December 2001) 18--25.
- Lamport, Leslie.
The part-time parliament.
ACM Transactions on Computer Systems
Volume 16, Issue 2 (May 1998), 133--169.
- Lampson, Butler.
The ABCD's of Paxos.
Proceedings of the Twentieth Annual ACM Symposium on Principles of Distributed
Computing (Newport, Rhode Island, United States), 2001.
Apr 11 [Mon] (Speaker: Birman)
HW: What are the major points of difference between the Birman school and the
Cheriton-Skeen school?
- Birman, Kenneth P.
The process group approach to reliable distributed computing.
Communications of the ACM
Volume 36, Issue 12 (December 1993), 37--53.
- Cheriton, David R. and Dale Skeen.
Understanding the limitations of causally and totally ordered communication.
Proceedings of the Fourteenth ACM Symposium on Operating Systems Principles
(Asheville, North Carolina, United States), 1993, 44--57.
- van Renesse, Robbert.
Masking the overhead of protocol layering.
Conference proceedings on Applications, Technologies, Architectures, and
Protocols For Computer Communications
(Palo Alto, California, United States), 1996, 96--104.
Apr 13 [Wed] (Speaker: Li)
HW: To what extent is redundant information stored within a quorum in
the schemes found in each paper.
Where there is redundancy, what does it buy?
- Gifford, David K.
Weighted voting for replicated data
Proceedings of the Seventh ACM Symposium on Operating Systems Principles
(Pacific Grove, California, United States), 1979, 150--162.
- Herlihy, Maurice.
A quorum-consensus replication method for abstract data types.
ACM Transactions on Computer Systems
Volume 4, Issue 1 (February 1986), 32--53.
- Malkhi, Dahlia and Michael Reiter.
Byzantine quorum systems.
Proceedings of the Twenty-Ninth Annual ACM Symposium on Theory Of Computing
(El Paso, Texas, United States), 1997, 569--578.
Apr 18 [Mon] (Speaker: Schneider)
HW: We have seen that
quorums directly support only read and write operations, yet COCA is able
to implement a certificate update operation using quorums.
Outline the approach used by COCA for this.
Could this same approach be used to implement arbitrary update operations with quorums
and thereby support the functionality of replicated state machines?
If not, discuss what class of update operations can be accomodated using the
approach in COCA.
Apr 20 [Wed] (Speaker: Orlovich)
HW: Consider a program optimizer that is capable of deleting redundant code.
So, if a program that already satisfies 'code safety' is input to an SFI insertion tool
and the output of that then passed through this program optimizer, the result will be the
original program.
How might a version of PCC be employed to now remove the SFI insertion tool and the program
optimizer from the Trusted Computing Base?
- Wahbe, Robert, Steven Lucco, Thomas E. Anderson, and Susan L. Graham.
Efficient software-based fault isolation.
Proceedings of the Fourteenth ACM Symposium on Operating Systems Principles
(Asheville, North Carolina, United States), 1994, 203--216.
- Seltzer, Margo I., Yasuhiro Endo, Christopher Small, Keith A. Smith.
Dealing with disaster: Surviving misbehaved kernel extensions.
Proceedings USENIX 2nd Symposium on OS Design and Implementation
(OSDI '96) (Seattle, Washington) October 1996, 229--243.
- Necula, George C. and Peter Lee.
Safe kernel extensions without run-time checking.
Proceedings 2nd Symposium on Operating Systems Design and Implementation
(OSDI'96) (Berkeley, CA, USA), October 1996, 229--243.
Apr 25 [Mon] (Speaker: Lifson)
HW: The Pastry paper defines a peer-to-peer system as "a distributed system
in which all nodes have identical capabilities and responsibilities and all
communication is symmetric."
To what extent do each of the three papers we discuss today satisfy that definition?
Give specific points of agreement and difference for each paper.
- Clarke Ian, Oskar Sandberg, Brandon Wiley, and Theodore W. Hong.
Freenet: A distributed anonymous information storage and retrieval system.
Lecture Notes in Computer Science Volume 2009, Springer Verlag, 2001.
- Rowstron, Antony amd Peter Druschel.
Pastry: Scalable, decentralized object location, and routing for large-scale
peer-to-peer systems.
Lecture Notes in Computer Science Volume 2218, Springer Verlag, 2001.
- Stoica, Ion, Robert Moris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan.
Chord: A scalable peer-to-peer lookup service for internet applications.
Proceedings of the 2001 Conference on Applications, Technologies, Architectures,
and Protocols for Computer Communications
(San Diego, California, United States), 2001, 149--160.
Apr 27 [Wed] (Speaker: Mosczydlowski)
HW: For each paper of the three papers,
discuss their position on revocation of access.
Is some means provided? If not, why? If so, what is it?
- Lampson, Butler.
Computer security in the real world.
Proceedings Annual Computer Security Applications Conference
(New Orleans, Louisiana, USA), December 2000.
- Gasser, M., A. Goldstein, C. Kaurman, and B. Lampson.
The Digital distributed system security architecture.
Proceedings. 12th National Computer Security Conference
(NIST/NCSC, Baltimore, 1989), 305--319.
- Lampson, Butler, Martin Abadi, Michael Burrows, Edward Wobber.
Authentication in distributed systems: Theory and practice.
ACM Transactions on Computer Systems
Volume 10, Issue 4 (November 1992), 265--310.
May 2 [Mon] (Speaker: Marian)
HW: Are the consistency guarantees being achieved by these two systems identical?
In not, briefly explain the differences.
- Demers, Alan et al.
Epidemic algorithms for replicated database maintenance.
Proceedings of the Sixth Annual ACM Symposium on Principles of
Distributed Computing
(Vancouver, British Columbia, Canada), 1987, 1--12.
- van Renesse, Robbert, Kenneth P. Birman, and Werner Vogels.
Astrolabe: A robust and scalable technology for distributed system monitoring,
management, and data mining.
ACM Transactions on Computer Systems
Volume 21, Issue 2 (May 2003), 164--206.
May 4 [Wed] (Speaker: Song)
HW: To preserve your anonymity, instead of submitting your "solution"
to this HW by email, please produce a hardcopy (without any identifying markings)
and submit that.
Write a brief essay, in which you discuss how this course could be improved,
perhaps
providing a paragraph on each of the following:
(i) any papers or topics that should be added (but also say what should
be removed to accommodate the additional material);
(ii) whether you find the format useful and efficient;
(iii) anything else that you found interesting or off-putting about our class
and the manner in which it was run.