
1. Hanson, M., "How to read a paper" (unknown source)
2. Hoare, C., "Monitors as an Operating Systems Structuring Concept," CACM, V17 N10, Oct. 1974, pp. 549-557.
Introduction
Chapters 3 and 6 of class text
3. Clark, D., and Svobodov, "Design of Distributed Systems Supporting Local Autonomy," 20th COMPCON, Feb. 1980, pp. 438-444.
4. Saltzer, J., Reed, D., and Clark, D., "End-to-End Arguments in System Design," ACM TOCS, Nov. 1984, pp. 277-288.
Models
Chapters 4 and 5 of class text
1:1, generic, N:N interactions
5. Hoare, C., "Communicating Sequential Processes," CACM, V21, 1978, pp.666-677.
6. Birrel, A., and Nelson, B., "Implementing Remote Procedure Calls," ACM TOCS, V2 N1, Feb. 1984, pp. 39-59.
7. Charlesworth. A., "The Multiway Rendezvous," ACM TOPLAS, V9 N2, July 1987, pp. 350-366.
Shared memory vs. messages passing
8. Lauer, H., and Needham, R., "On the Duality of Operating System Structures," Proc. of the 2nd International Symp. on Operating Systems, Oct. 1978, reprinted in Operating Systems Review, V13 N2, Apr. 1979, pp. 3-19.
9. Mosberger, D., "Memory Consistency Models," ACM Operating Systems Review, V27 N1, Jan. 1993, pp. 18-26.
10. Carriero, N., and Gelernter, D., "The S/Net's Linda Kernel," ACM TOCS, V4 N2, Nov. 1986, pp. 110-129.
Optimizations
11. Stonebraker, M., "Operating System Support for Database Management," CACM, V24 N7, Jul. 1981, pp. 412-418.
12. Bershad, B., Anderson, T., et. al., "Lightweight Remote Procedure Call," ACM TOCS, V8 N1, Feb. 1990, pp. 37-55.
13. Hutchinson, N., and Peterson, L., "The x-Kernel: A Architecture for Implementing Network Protocols," IEEE TOSE, V17 N1, Jan. 1991, pp. 64-76.
Fundamental Concepts
Chapter 15 of class text
Global State
14. Chang, E., "Echo algorithms: depth parallel operations on graphs," IEEE TOSE, V8 N4, Jul. 1982, pp. 391-400.
15. Chandy, K., and Lamport, L., "Distributed snapshots: determining global states of distributed systems," ACM TOCS, V3 N1, Feb. 1985, pp. 63-75.
16. Bracha, G., and Toueg, S., "A distributed algorithm for generalized deadlock detection," PODC, Aug. 1984, pp. 285-301.
Inferring State
17. Chandy, K., and Misra, J., "The drinking philosophers problem," ACM TOPLAS," V6 N4, Oct. 1984, pp. 632-646.
18. Halpern, J., and Moses, Y., "Knowledge and common knowledge
in a distributed environment," Tech. Report RJ-4221, IBM, 1984, pp.
1-28.
Clocks and ordering
Chapters 10 and 13 of class text
Event ordering
19. Lamport, L., "Time, Clocks, and the Ordering of Events in a Distributed System," CACM, V21 N7, Jul. 1978, pp. 558-565.
20. Jefferson, D., "Virtual Time," ACM TOPLAS, V7 N3, Jul. 1985, pp. 404-425.
21. Birman, K., "The Process Group Approach to Reliable Distributed Computing," CACM, Dec. 1993, pp. 37-53,103.
Clock synchronization
22. Mills, D., "Internet Time Synchronization: The Network Time Protocol," IEEE TOC, V39 N10, Oct. 1991, pp. 1482-1493.
23. Cristian, F., "A Probabilistic Approach to Distributed Clock Synchronization," DCS 1989, pp. 288-296.
Consensus and agreement
Chapter 14 of class text
Fault-tolerant
Chapter 15 of class text
24. Strong, H., and Dolev, D., "Byzantine agreement," Spring Compcon, Mar. 1983, pp. 77-81.
25. Lamport, L., Shostak, R., and Pease, M., "The Byzantine Generals Problem," ACM TOPLAS, V4 N3, July 1982, pp. 382-401.
26. Lamport, L., "Using time instead of timeout for fault-tolerant distributed systems," ACM TOPLAS, V6 N2, Apr. 1984, pp. 254-280.
Transactions / voting
Chapter 12 of class text
27. Gifford, D., "Weighted Voting for Replicated Data," SOSP, Dec. 1979, pp. 150-162.
28. Chang, J., and Maxemchuck, M., "Reliable Broadcast Protocols," ACM TOCS, V2 N3, Aug. 1984, pp. 251-273.
29. Moss, E., "Nested transactions and reliable distributed computing," Proc. of Second Symposium on Reliability in Distributed Software and Database Systems, 1982, pp. 33-39.
Distributed Shared Memory
Chapter 17 of class text
30. Tam, M., Smith., J., and Farber, D., "A Taxonomy-Based Comparison of Several Distributed Shared Memory Systems," ACM Operating Systems Review, V24 N3, Jul. 1990, pp. 40-67.
31. Li, K., and Hudak, P., "Memory Coherence in Shared Virtual Memory Systems," ACM TOCS, V7 N4, Nov. 1989, pp. 321-359.
32. Kessler, R., and Livny, M., "An Analysis of Distributed Shared Memory Algorithms," DCS 1989, pp. 498-507.
Current debate
33. Cheriton, D., and Skeen, D., "Understanding the Limitations of Causally and Totally Ordered Communication," SOSP, Dec. 1993, pp. 44-57.
34. Birman, K., "A Response to Cheriton and Skeen's Criticism of Causal and Totally Ordered Communication," ACM Operating Systems Review, V28 N1, Jan. 1994, pp. 11-21.
35. van Renesse, R., "Why bother with CATOCS?," ACM Operating Systems Review, V28 N1, pp. 22-27.
36. Cooper, R., "Experience with Causally and Totally Ordered Communication Support- a cautionary tale," ACM Operating Systems Review, V28 N1, Jan. 1994, pp. 28-31.
File systems
Chapters 7 and 8 of class text
General
37. Sandberg, R., Goldberg, et. al., "Design and Implementation of the Sun Network File System," Summer Usenix Conference, June 1985, pp. 119-130.
38. Patterson, D., Gibson, G, and Katz, R., "A Case for Redundant Arrays of Inexpensive Disks (RAID)," ACM SIGMOD, 1988, pp. 109-116.
39. Rosenblum, M., and Ousterhout, J., "The Design and Implementation of a Log-Structured File System," SOSP, Oct. 1991, pp. 1-15.
Caching
40. Gray, C., and Cheriton, D., "Leases: An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency," SOSP, Dec. 1989, pp. 202-210.
41. Nelson, M., Welch, B., and Ousterhout, J., "Caching in the Sprite Network File System," ACM TOCS, V6 N1, Feb. 1988, pp. 134-154.
42. Satyanarayanan, M., "Scalable, Secure, and Highly Available
Distributed File Access," IEEE Computer, V23 N5, May 1990, pp.
9-21.
Case Studies
Chapter 18 of class text
Kernels
43. Cheriton, D., "The V Distributed System," CACM V31 N3, Mar. 1988, pp. 314-333.
44. Black, D., et. al., "Microkernel Operating System Architecture and Mach," USENIX Workshop on Microkernels, Apr. 1992, pp. 11-30.
45. Tanenbaum, A., et. al., "Experience with the Amoeba Distributed Operating System," CACM, V33 N12, Dec. 1990, pp. 47-63.
DSM systems
46. Dasgupta, P., LeBlanc, R., and Appelbe, W., "The Clouds Distributed Operating System: Functional Description, Implementation Details and Related Work," DCS 1988, pp. 2-9.
47. Ousterhout, J., Scelza, J., et. al., "Medusa: an experiment in distributed operating structure," CACM, V23 N2, Feb. 1980, pp. 92-105.
48. Minnich, R., and Farber, D., "Reducing Host Load, Network Load, and Latency in a Distributed Shared Memory," DCS 1990, pp. 468-475.
Others I
49. Walker, B., et. al., "The Locus Distributed Operating System," SOSP, Oct. 1983, pp. 49-70.
50. Champine, G., et. al., "Project Athena as a Distributed Computer System," IEEE Computer, V23 N9, Sept. 1990, pp. 40-50.
51. Morris, J., et. al., "Andrew: A Distributed Personal Computing Environment," CACM, V29 N3, Mar. 1986, pp. 184-201.
Others II
52. Litzkow, M., Livney, M., and Mutka, M., "Condor - A Hunter of Idle Workstations," DCS 1988, pp. 104-111.
53. Wulf, W., Cohen, E., et al., "HYDRA: The Kernel of a Multiprocessor Operating System," CACM, June 1974, pp. 337-345.
54. Almes, G., Black,. A., Lazowska, E., and Noe, J., "The Eden
System: A Technical Review," IEEE TOSE, V11 N1, Jan. 1985, pp.
43-59.
Naming
Chapter 9 of class text
55. Terry, D., Painter, M., et. al., "The Berkeley Internet Domain Server," Summer Usenix Conference, June 1984, pp. 23-31.
56. Birrell, A., Levin, R., et. al., "Grapevine: An Exercise in Distributed Computing," CACM, V25 N4, Dec. 1981, pp. 260-274.
57. Neuman, C., "The Prospero File System: A Global File System Based on the Virtual System Model," Computing Systems, V5 N4, 1992, pp. 407-432.
Security
Chapters 16 of class text
58. Needham, R., and Schroeder, M., "Using Encryption for Authentication in Large Networks of Computers," CACM, V21 N12, Dec. 1978, pp. 993-999.
59. Lampson, B., "A Note on the Confinement Problem," CACM, V16 N10, Oct. 1973, pp. 613-615.
60. Voydock, V., and Kent, S., "Security Mechanisms in High-Level Network Protocols," ACM Computing Surveys, V15 N2, Jun. 1983, pp. 135-171.
61. Neuman, B.C., and Ts'o, T., "Kerberos: An Authentication Service for Computer Networks," IEEE ComMag, Sept. 1994, pp. 33-38.
Communication Scalability
Latency issues
62. Kleinrock, L, "The Latency / Bandwidth Tradeoff in Gigabit Networks," IEEE Com. Mag., V30 N4, Apr. 1992, pp. 36-40.
63. Touch, J., and Farber, D., "Reducing Latency in Communication (letter to the editor)," IEEE Comm. Mag., Feb. 1993, pp. 8-9.
64. Touch, J. and Farber, D., "An Experiment in Latency Reduction," Infocom, June 1994, pp. 175-181.
WAN and other environment-based issues
65. van Renesse, R., Tanenbaum, A., et. al., "Connecting RPC-Based Distributed Systems Using Wide-Area Networks," DCS 1987, pp. 28-34.
66. Danzig, P., Obraczka, K., and Kumar, A., "An Analysis of Wide-Area Nameserver Traffic," Sigcomm 1992, pp. 281-293.
Future Issues
67. van Tilborg, A., "Critical Research Issues in Distributed Operating Systems," DCS 1987, pp. 552.
68. Wilkes, M. "The Long-Term Future of Operating Systems," CACM, V35 N11, Nov. 1992, pp. 23-24, 112.
69. Lampson, B., "Hints for Computer System Design," SOSP 1983,
pp. 22-48.
List of acronyms
CACM Communications of the ACM
COMPCON IEEE Computer Society International Conference
DCS IEEE International Conference on Distributed Computer Systems
IEEE ComMag IEEE Communications Magazine
IEEE TOC IEEE Transactions on Communications
SOSP ACM Symposium on Operating System Principles
ACM TOCS ACM Transactions on Computer Systems
ACM TOPLAS ACM Transactions on Programming Languages and Systems
ACM TOSE ACM Transactions on Software Engineering
ACM SIGMOD ACM Special Interest Group on Management of Data (conference proceedings)
PODC Symposium on the Principles of Distributed Computing

Last modified Jan. 8, 1996.
This page written and maintained by Joe Touch touch@isi.edu