Reading List
August 30, 2007
CSci 555 / Fall 2007
Except as noted, all items on the reading list are required reading. Chapters may be found in the textbook. Chapter numbers are from the 4th edition, followed by the chapter numbers in the 3rd edition if known in square brackets. The dates following the section headings are the weeks when these papers will be discussed. You should read the papers before the lectures in the given week. Papers are linked from the number preceding the reference in this reading list. For papers retrived as scanned PDF files, the password is cs555.
Where an html version of the paper is available, such a link will be listed. If a link is labeled as DL, the paper can be retrived online through USC's digital library subscription, but might be retrievable only from USC network addresses. To retrive such papers from home, you may need to log into the USC network using the USC VPN, after which the paper shuld be retrievable.
Click here for advice on how to read the papers in this list.
Readings for CSci555
Ref Number |
Links | Citation | |
1 | hardcopy | George Coulouris, Jean Dollimore, and Tim Kindberg. Distributed Systems: Concepts and Design. Addison Wesley, 4th edition by Coulouris, Dollimore, and Kindberg, which is available at the USC book store, or from other sources. You may also use the third edition | |
2 | Michael J. Hanson and Dylan J. McNamee. Efficient Reading of Papers in Science and Technology. A phamphlet dates January 2000. | ||
3.1 | Robert A. Day. How to write a scientific paper. IEEE Transactions on Professional Communication, 20:32-37, June 1977. | ||
3.2 | Roy Levin and David D. Redell. An evaluation of the ninth SOSP submissions. Operating Systems Review, 17(3):35-40, July 1983. | ||
For Introductory Lecture - August 31 | |||
4 | hardcopy | Characterization of Distributed Systems. Distributed Systems: Concepts and Design, chapter 1[1]. | |
5 | hardcopy | System Models. Distributed Systems: Concepts and Design, chapter 2[2]. | |
6 |
|
J.H. Saltzer, D.P. Reed and D.D. Clark. End-To-End Arguments in System Design. Proceedings of the 2nd International Conference on Distributed Systems, 509-512, April 1981. | |
7 |
|
David Reed. The End of the End-to-End Argument (April 2000 discussion by David P. Reed) | |
Communication Models - September 7, 2007 | |||
8 |
DL |
Andrew D. Birrel and Bruce Jay Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems, 2(1):39-59, February 1984. | |
9 |
DL |
Brian N. Bershad, Thomas E. Anderson, Edward D Lazowska, and Henry M. Levy. Lightweight remote procedure call. ACM Transactions on Computer Systems, 8(1):37-55, February 1990. | |
10 |
DL |
Nicholas Carriero and David Gelernter. The s/net's linda kernel. ACM Transactions on Computer Systems, 4(2):110-129, May 1986. | |
11 |
DL |
Kai Li and Paul Hudak. Memory coherence in shared virtual memory systems. ACM Transactions on Computer Systems, 7(4):321-359, November 1989. | |
12 | hardcopy | Interprocess Communication. Distributed Systems: Concepts and Design, chapter 4. (optional) | |
13 | hardcopy | Distributed Objects and Remote Invocation. Distributed Systems: Concepts and Design, chapter 5. (optional) | |
14 | hardcopy | Distributed Shared Memory. Distributed Systems: Concepts and Design, chapter 18. (optional) | |
Concurrency, Transactions, Deadlock - September 14 and 21 | |||
15 |
DL |
Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558-565, July 1978. | |
16 |
DL |
K. M. Chandi, J. Misra and L. M. Haas Distributed Deadlock Detection ACM Transactions on Computer Systems, 1(2):144-156, May 1983. | |
17 |
DL |
David Jefferson. Virtual time. ACM Transactions on Programming Languages and Systems, 7(3):404-425, July 1985. | |
18 |
DL |
Kenneth P. Birman and Thomas A. Joseph. Exploiting virtual synchrony in distributed systems. In Proceedings of the 11th ACM Symposium on Operating Systems Principles, pages 123-138, November 1987. | |
19 |
DL |
Randy F. Pausch Alfred Z. Spector and Gregory Bruell. Camelot: A flexible, distributed transaction processing system. In Proceedings of the 33rd IEEE Computer Society International Conference(Compcon 88), pages 432-436, March 1988. | |
20 |
DL |
David K. Gifford. Weighted voting for replicated data. In Proceedings of the 7th ACM Symposium on Operating Systems Principles, pages 150-159, December 1979. Pacific Grove, California. | |
21 |
DL |
Carl Hauser, Christian Jacobi, Marvin Theimer, Brent Welch, and Mark Weiser. Using threads in interactive systems: A case study. In Proceedings of the 14th ACM Symposium on Operating Systems Principles, pages 94-105, December 1993. | |
22 | hardcopy | Time and Global States. Distributed Systems: Concepts and Design, chapter 11[10]. (optional) | |
23 | hardcopy | Coordination and Agreement. Distributed Systems: Concepts and Design, chapter 12[11]. (optional) | |
24 | hardcopy | Transactions and Concurrency Control. Distributed Systems: Concepts and Design, chapter 13[12]. | |
25 | hardcopy | Distributed Transactions. Distributed Systems: Concepts and Design, chapter 14[13]. | |
26 | hardcopy | Replication Distributed Systems: Concepts and Design, chapter 15[14]. | |
Naming - September 28 | |||
27 |
RFC1498 |
Jermome H. Saltzer. On the naming and binding of network destinations. In Proceedings of the International Symposium on Local Computer Networks, pages 311-317, April 1982. | |
28 |
DL |
Andrew D. Birrell, Roy Levin, Roger M. Needham, and Michael D. Schroeder. Grapevine: An exercise in distributed computing. Communications of the ACM, 25(4):260-274, April 1982. | |
29 |
DL |
Michael D. Schroeder, Andrew D. Birrell, and Roger M. Needham. Experience with Grapevine: The growth of a distributed system. ACM Transactions on Computer Systems, 2(1):3-23, February 1984. | |
30 |
|
Douglas B. Terry, Mark Painter, David W. Riggle, and Songnian Zhou. The Berkeley internet domain server. In Proceedings of the Summer 1984 Usenix Conference, pages 23-31, June 1984. | |
31 |
|
Peter B. Danzig, Katia Obraczka, and Anant Kumar. An analysis of wide-area name server traffic: A study of the domain name system. In Proceedings of SIGCOMM 92, pages 281-292, January 1992. | |
32 |
HTML |
Butler W. Lampson. Designing a global name service. In Proceedings of the 4th ACM Symposium on Principles of Distributed Computing, August 1985. | |
33 |
|
Brent B. Welch and John K. Ousterhout. Prefix tables: A simple mechanism for locating files in a distributed system. In Proceedings of the 6th International Conference on Distributed Computing Systems, pages 184-189, May 1986. | |
34 |
DL |
David R. Cheriton and Timothy P. Mann. Decentralizing a global naming service for improved performance and fault tolerance. ACM Transactions on Computer Systems, 7(2):147-183, May 1989. | |
35 |
|
B. Clifford Neuman. The need for closure in large distributed systems. Operating Systems Review, 23(4):28-30, October 1989. | |
36 |
|
Douglas Comer, Ralph E. Droms, and Thomas P. Murtagh. An experimental implementation of the Tilde naming system. Computing Systems, 4(3):487-515, Fall 1990. | |
37 |
|
B. Clifford Neuman. The Prospero File System: A global file system based on the Virtual System Model. Computing Systems, 5(4):407-432, Fall 1992. | |
38 |
|
B. Clifford Neuman and Steven Seger Augart. Prospero: A base for building information infrastructure. In Proceedings of INET'93, August 1993. | |
39 |
DL |
Larry L. Peterson. The Profile naming service. ACM Transactions on Computer Systems, 6(4):341-364, November 1988. | |
40 |
|
Stuart Sechrest and Michael McClennen. Blending hierarchical and attribute-based file naming. In Proceedings of the 12th International Conference on Distributed Computer Systems, June 1992. | |
41 | hardcopy | Name Services Distributed Systems: Concepts and Design, chapter 9[9]. | |
Security, Virtualization, Trusted Computing - September 28, October 5 | |||
42 |
|
B. Clifford Neuman. Protection and security issues for future systems. In Proceedings of the Workshop on Operating Systems of the 90s and Beyond, July 1991. | |
43 |
|
Butler W. Lampson. A note on the confinement problem. Communications of the ACM, 16(10):613-615, October 1973. | |
44 |
|
V. L. Voydock and S. T. Kent. Security mechanisms in high-level network protocols. ACM Computing Surveys, 15(2):135-171, June 1983. | |
45 |
|
Roger M. Needham and Michael D. Schroeder. Using encryption for authentication in large networks of computers. Communication of the ACM, 21(12):993-999, December 1978. | |
46 |
DL |
Andrew S. Tanenbaum, Robbert van Renesse, Hans van Staveren, Gregory J. Sharp, Sape J. Mullender, Jack Jansen, and Guido van Rossum. Experience with the Amoeba distributed operating system. Communications of the ACM, 33(12):47-63, December 1990. | |
47 |
HTML |
B. Clifford Neuman and Theodore Ts'o. Kerberos: An authentication service for computer networks. IEEE Communications, 32(9), September 1994. | |
48 |
|
B. Barham, Paul, et. al. Xen and the Art of Virtualization. Proceedings of the 19th ACM Symposium on Operating Systems Principles. 2003. | |
49 |
|
Andrew D. Birrell, Butler W. Lampson, Roger M. Needham, and Michael D. Schroeder. A global authentication service without global trust. In Proceedings of the IEEE Symposium on Security and Privacy, pages 223-230, April 1986. | |
50 |
|
M. Gasser, A. Goldstein, C. Kaufman, and B. Lampson. The Digital distributed system security architecture. In Proceedings of the 1989 National Computer Security Conference, pages 305-319, 1989. | |
51 |
|
B. Clifford Neuman. Proxy-based authorization and accounting for distributed systems. In Proceedings of the 13th International Conference on Distributed Computing Systems, pages 283-291, May 1993. | |
52 | hardcopy | Security Distributed Systems: Concepts and Design, chapter 7. | |
File Systems - October 12, 2007 | |||
53 |
|
Russel Sandberg, David Goldberg, Steve Kleiman, Dan Walsh, and Bob Lyon. Design and Implementation of the Sun Network Filesystem. In Proceedings of the Summer 1985 Usenix Conference, pages 119-130, June 1985. | |
54 |
|
Michael N. Nelson, Brent B. Welch, and John K. Ousterhout. Caching in the Sprite network file system. ACM Transactions on Computer Systems, 6(1):134-154, February 1988. | |
55 |
|
Mahadev Satyanarayanan. Scalable, secure, and highly available distributed file access. IEEE Computer, 23(5):9-21, May 1990. | |
56 |
|
D. Mazieres, M. Kaminsky, F. Kaashoek, E. Witchel. Separating key management from file system security. In proceedings of the 17th ACM Symposium on Operating Systems Principles, December 1999. | |
57 |
DL |
Cary G. Gray and David R. Cheriton. Leases: An efficient fault-tolerant mechanism for distributed file cache consistency. In Proceedings of the 12th ACM Symposium on Operating Systems Principles, pages 202-210, December 1989. | |
58 |
DL |
Mendel Rosenblum and John K. Ousterhout. The design and implementation of a log-structured file system. ACM Transactions on Computer Systems, 10(1):26-52, February 1992. | |
59 |
DL |
David A. Patterson, Garth Gibson, and Randy H. Katz. A Case for Redundant Arrays of Inexpensive Disks (RAID). In Proceedings of the 1988 ACM SIGMOD Conference, pages 109-116, 1988. | |
60 |
|
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung, The Google File System In Proceedings of the 19th ACM Symposium on Operating Systems Principles, October 2003. | |
61 | hardcopy | Distributed File Systems Distributed Systems: Concepts and Design, chapter 8[8]. | |
Case Studies - October 26, 2007 | |||
62 |
|
B. Walker, G. Popek, R. English, C. Kline, and G. Thiel. The Locus distributed operating system. In Proceedings of the 9th ACM Symposium on Operating Systems Principles, pages 49-70, October 1983. | |
63 |
DL |
James H. Morris, Mahadev Satyanarayanan, Michael H. Conner, John H. Howard, David S. H. Rosenthal, and F. Donelson Smith. Andrew: A distributed personal computing environment. Communications of the ACM, 29(3):184-201, March 1986. | |
64 |
|
George A. Champine, Daniel E. Geer Jr., and William N. Ruh. Project athena as a distributed computer system. IEEE Computer, 23(9):40-51, September 1990. | |
65 |
DL |
David Notkin, Andrew P. Black, Edward D. Lazowska, Henry M. Levy, Jan Sanislo, and John Zahorjan. Interconnecting heterogeneous computer systems. Communications of the ACM, 31(3):258-273, March 1988. | |
66 |
|
Werner Vogels, Dan Dimitriu, Ken Birman, Rod Gamache, Rob Short, John Vert, Joe Barrera, and Jim Gray. The Design and Architecture of the Microsoft Cluster Service. Proceedings of the IEEE FTCS'98, June 1998. | |
67 |
|
Steve Vinoski. CORBA: Integrating Diverse Applications Within Distributed Heterogeneous Environments. IEEE Communications Magazine, 35(2), February 1997. | |
68 | hardcopy | Corba Case Study. Distributed Systems: Concepts and Design, chapter 20[17]. | |
Kernels - November 2, 2007 | |||
69 |
DL |
David R. Cheriton. The V distributed system. Communication of the ACM, 31(3):314-333, March 1988. | |
70 |
|
Larry Peterson, Norman Hutchenson, Sean O'Malley, and Herman Rao. The x-kernel: A platform for accessing internet resources. IEEE Computer, 23(5):23-33, May 1990. | |
71 |
|
David L. Black, David B. Golub, Daniel P. Julin, Richard F. Rashid, Richard P. Draves, Randall W. Dean, Alessandro Forin, Joseph Barrera, Hideyuki Tokuda, Gerald Malan, and David Bohman. Microkernel operating system architecture and mach. In Proceedings of the USENIX Workshop on Microkernels and Other Kernel Architectures, pages 11-30, April 1992. | |
72 | hardcopy | Operating System Support Distributed Systems: Concepts and Design, chapter 6[6+18]. | |
Scheduling, real-time, fault-tolerance, database support - November 9, 2007 | |||
73 |
DL |
Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. Scheduler activations: Effective kernel support for the user-level management of parallelism. ACM Transactions on Computer Systems, 10(1):53-79, February 1992. | |
74 |
|
D. L. Black. Scheduling support for concurrency and parallelism in the mach operating system. IEEE Computer, pages 35-43, May 1990. | |
75 |
|
M. J. Lizkow and M. W. Mutka. Condor - A Hunter of Idle Workstations Proceedings of the 8th. Int'l Conf. on Distributed Computing Systems, 104-111, 1988. | |
76 |
|
B. Clifford Neuman and Santosh Rao. The Prospero Resource Manager: A scalable framework for processor allocation in distributed systems. Concurrency: Practice and Experience, pages 339-355, June 1994. | |
77 |
DL |
Flaviu Cristian. Understanding fault-tolerant distributed systems. Communications of the ACM, 34(2):57-78, February 1991. | |
78 |
|
Michael Stonebraker. Operating System Support for Database Management. Communications of the ACM, 24(7):412-418, July 1981. | |
80 | hardcopy | Fault-Tolerant and Highly Available Services. Distributed Systems: Concepts and Design, chapter 14.3-14.4[14.3-14.4]. | |
Guidelines for building scalable systems - November 16, 2007 | |||
81 |
|
Butler W. Lampson. Hints for computer system design. In Proceedings of the 9th ACM Symposium on Operating Systems Principles, pages 33-48, 1983. | |
82 |
|
B. Clifford Neuman. Scale in distributed systems. In Readings in Distributed Computing Systems, IEEE Computer Society Press, 1994. | |
83 |
|
Sergey Brin and Lawrence Page, The anatomy of a large-scale hypertextual Web search engine, in Computer Networks and ISDN Systems, vol 30, pages 107--117., 1998 |