Reading List
27 January 2020
CSci 555 / Spring 2020

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.1 hardcopy Text: The primary readings will be classic and recent papers available on the the class web site. We will supplement the reading of the papers with better integrated discussion from chapters of the text: which will be available at the USC book store, or from other sources.
1.2 online The second part, Chapers 7 through 11, of the required textbook can be found online.
2
PDF
Michael J. Hanson and Dylan J. McNamee. Efficient Reading of Papers in Science and Technology. A phamphlet dates January 2000.
3
Scanned
Robert A. Day. How to write a scientific paper. IEEE Transactions on Professional Communication, 20:32-37, June 1977.
4
Scanned
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 - 27 January 2020
5 hardcopy Chapter 1: Systems, Principles of Computer System Design
6
PDF
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.
 
Communication Models - 3 February 2020
8
PDF
Andrew D. Birrel and Bruce Jay Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems, 2(1):39-59, February 1984.
9
Scanned
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
Scanned
DL
Nicholas Carriero and David Gelernter. The s/net's linda kernel. ACM Transactions on Computer Systems, 4(2):110-129, May 1986.
11
Scanned
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
online
The Network as a System ad as a System Component. Principles of Computer Syste Design, chapter 7. (optional)
13 hardcopy Client/Service Organization. Principles of Computer Syste Design, chapter 4.1.
14 hardcopy Communication between Client and Service. Principles of Computer Syste Design, chapter 4.2.
 
Concurrency, Transactions, Deadlock - 10 February 2020
15
Scanned
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
Scanned
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
Scanned
DL
David Jefferson. Virtual time. ACM Transactions on Programming Languages and Systems, 7(3):404-425, July 1985.
18
Scanned
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
Scanned
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
Scanned
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
Scanned
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.
23
online
Atomicity; All-or-nothing and Before-or-after Principles of Computer Syste Design, chapter 9.
24
online
Consistency Principles of Computer Syste Design, chapter 10.
 
Naming - 24 Feburary 2020
27
Scanned
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
Scanned
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
Scanned
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
Scanned
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
Scanned
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
Scanned
HTML
Butler W. Lampson. Designing a global name service. In Proceedings of the 4th ACM Symposium on Principles of Distributed Computing, August 1985.
33
Scanned
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
Scanned
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
Scanned
B. Clifford Neuman. The need for closure in large distributed systems. Operating Systems Review, 23(4):28-30, October 1989.
36
Scanned
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
Scanned
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.
39
Scanned
DL
Larry L. Peterson. The Profile naming service. ACM Transactions on Computer Systems, 6(4):341-364, November 1988.
40
Scanned
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.0 W3C21 W3C Note 21, URIs, URLs, and URNs: Clarification and Recommendations 1.0, September 2011.
41.1 hardcopy Chapter 3: The Design of Naming Schemes, Principles of Computer System Design
41.2 hardcopy Chapter 4.4: Case Study: The Internet Domain Name System (DNS), Principles of Computer System Design
 
Ubiquitous and Pervasive Computing - 2 March 2020
38b
DL
Mark Weiser. The Computer for the 21st Century. Reprinted from 1991 Scientific American in Pervasive Computing, January/March 2002. Pages 18-25.
38c
DL
alternate
Deborah Estrin, David Culler, Kris Pister and Gaurav Sukhatme. Connecting the Phyusical Worls with Pervasive Networks. January/March 2002. Pages 59-69.
38d
DL
Mark Newman, Shahram Izadi, Keith Edwards, Jana Sedivy, and Trevor Smith. User Interfaces When and Where They are Needed: An Infrastrcuture for Recombinant Computing. Proceedings of UIST'02, October 2002, paris France. Pages 171-180.
38
Scanned
PDF
B. Clifford Neuman and Steven Seger Augart. Prospero: A base for building information infrastructure. In Proceedings of INET'93, August 1993.
 
Security and Trusted Computing - 2 March 2020
42
Scanned
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
Scanned
Butler W. Lampson. A note on the confinement problem. Communications of the ACM, 16(10):613-615, October 1973.
44
Scanned
V. L. Voydock and S. T. Kent. Security mechanisms in high-level network protocols. ACM Computing Surveys, 15(2):135-171, June 1983.
45
Scanned
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
Scanned
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
Scanned
HTML
B. Clifford Neuman and Theodore Ts'o. Kerberos: An authentication service for computer networks. IEEE Communications, 32(9), September 1994.
49
Scanned
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
Scanned
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
Scanned
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
online
Information Security Principles of Computer System Design, chapter 11.
 
Virtualization - 9 March 2020
48
DL
B. Barham, Paul, et. al. Xen and the Art of Virtualization. Proceedings of the 19th ACM Symposium on Operating Systems Principles. 2003.
48.1
DL
Timothy Roscoe, Kevin Elphinstone and Gernot Heiser. Hype and Virtue. Proceedings of the 11th Workshop on Hot Topics in Operating Systems. May 2007, San Diego.
48.2
DL
Andrew Whitaker, Marianne Shaw, Steven Gribble. Scale and Performance in the Denali Isolation Kernel. Proceedings of the 5th Symposium on Operating Sysems Design and Implementation. 2002.
48.3
DL
Tal garfinken, Ben Pfaff, Jim Chow, Mendel Rosenblum, Dan Boneh. Terra: A virtual machine-based platform for trusted computing. Proceedings of the 2003 Symposium on Operating Systems Principles.
48.4
PDF
Arun Viswanathan and B.C. Neuman, A Survey of Isolation Techniques - DRAFT
 
File Systems - 23 March 2020
53
Scanned
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
Scanned
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
Scanned
Mahadev Satyanarayanan. Scalable, secure, and highly available distributed file access. IEEE Computer, 23(5):9-21, May 1990.
56
PDF
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
Scanned
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
Scanned
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
Scanned
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
PDF
DL
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 Chapter 4.5: Case Study: The Network File System (NFS), Principles of Computer System Design
 
Case Studies - 30 March 2020
62
Scanned
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
Scanned
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
Scanned
DL
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
Scanned
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
Scanned
PDF
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
Scanned
DL
Steve Vinoski. CORBA: Integrating Diverse Applications Within Distributed Heterogeneous Environments. IEEE Communications Magazine, 35(2), February 1997.
 
Kernels - 6 April 2020
69
Scanned
DL
David R. Cheriton. The V distributed system. Communication of the ACM, 31(3):314-333, March 1988.
70
Scanned
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
Scanned
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.
 
Scheduling, real-time, fault-tolerance, database support - 13 April 2020
73
Scanned
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
Scanned
D. L. Black. Scheduling support for concurrency and parallelism in the mach operating system. IEEE Computer, pages 35-43, May 1990.
75
Scanned
PDF
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
Scanned
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
Scanned
DL
Flaviu Cristian. Understanding fault-tolerant distributed systems. Communications of the ACM, 34(2):57-78, February 1991.
78
Scanned
Michael Stonebraker. Operating System Support for Database Management. Communications of the ACM, 24(7):412-418, July 1981.
80
online
Fault Tolerance: Reliable Systems from Unrealiable Components Principles of Computer System Design, chapter 8.
 
Grid Computing and Cloud Computing - 20 April 2020
80.5
DL
Scanned
Foster, Zhao, Raicu, Lu, Cloud Computing and Grid Computing 360-Degree Compared. In Proceedings of the Grid Computing Environemnts Workshop, pages 1-10, 2008.
 
Guidelines for building scalable systems - 27 April 2020
81
Scanned
Butler W. Lampson. Hints for computer system design. In Proceedings of the 9th ACM Symposium on Operating Systems Principles, pages 33-48, 1983.
82
Scanned
B. Clifford Neuman. Scale in distributed systems. In Readings in Distributed Computing Systems, IEEE Computer Society Press, 1994.
83
PDF
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