CS 535 Advanced Operating Systems
WPI, Spring 2003
Craig E. Wills
Course Syllabus
Monday, January 13, 2003
Craig E. Wills, FL-236, cew@cs.wpi.edu. Office hours: as needed by
students. Any time for short questions. Electronic mail is an effective
method to contact me.
Copies of all handouts, assignments and notes will be posted as
appropriate on the course Web page. The address for it is
http://www.cs.wpi.edu/~cs535/s03/
.
This is a graduate-level course in the design of advanced systems. It
focuses on the issues of advanced operating systems and distributed
systems, which have evolved from general-purpose multiprogramming systems
covered in previous courses. The goals are 1) to familiarize the student
with current literature in the area, 2) for students to be able to place
work in its context in terms of its relative importance and relationship
with other work, 3) to give students experience in making public
presentations of technical work, and 4) to develop students' ability for
critical thinking and discussions concerning design choices, tradeoffs, and
their consequences.
A first course in operating systems, such as CS 502. Background in
architecture, networking, compilers and programming languages would also be
helpful for issues related to these topics. An interest in reading,
thinking about and discussing issues in advanced system design.
There is no required text book for the course. Relevant text
books are:
- Distributed Systems: Principles and Paradigms. Andrew S. Tanenbaum and Maarten van
Steen,
Prentice Hall, 2002.
- Distributed Systems:
Concepts and Designs, Second Edition. George Coulouris, Jean Dollimore
and Tim Kindberg, Addison Wesley 1994.
- Operating Systems Concepts, Sixth Edition. Abraham
Silberschatz, Peter
Baer Galvin and Greg Gagne, John Wiley & Sons, 2003.
- Distributed Systems. Sape Mullender, Addison Wesley 1993.
They provide reasonably up-to-date discussions on issues in advanced and
distributed systems. Some material from these sources will be introduced
in class.
Much of the course will also be based on seminal and current literature in
the field. Literature will be selected both by the instructor and the
students. Access to this material will be discussed in class.
Final grades will be computed as follows:
Homework: 35%;
Final Project and Presentation: 30%;
Final Exam: 25%;
Class participation: 10%.
Final grades will reflect the extent to which you have demonstrated
understanding and insight for the material. No incomplete grades will be
assigned unless there exist exceptional, extenuating circumstances. There
will be one final exam. There will be one final project that may or may
not involve programming.
Class meetings will consist of discussions. Each student should be
prepared to pose and answer questions on the day a paper or topic is
discussed. When reading papers you are expected to take notes on the main
points of each article, questions concerning its contents and suggestions
on how the described research can be followed up. You should try to
discern the strengths and weaknesses of the paper. After reading the
paper, you should write a summary of the paper along with questions and
suggestions for followup (roughly a page or so). It is important to
include your personal thoughts on the paper concerning what you liked or
disliked about the paper. An excellent review will include a summary
containing the key points of the paper along with personal observations of
the paper.
For your own benefit you should maintain an online bibliography of the
papers you read. The bibliography should contain papers you read for the
class and any other references of interest that you come
across as you read or peruse the literature. These entries will provide
ideas for further reading for the course.
You are expected to keep up with the pace of papers for the course.
Entries turned in late will be penalized 5% of total assignment value per
day or partial day. All entries are due at the start of class on
the due date. Those turned in after the start of class will be counted
late. Exceptions to these rules can be made only a priori. Finally,
no entries will be accepted after Friday, April 25 to allow
sufficient time for grading.
Unless explicitly noted, all work is to be done on an individual basis.
You are encouraged to talk with others about ideas and material in the
course, particularly in preparing for exams. However all work, in the form
of reviews, code or answers to problems, you submit for grading must be
your work. Misrepresentation of the work of another as one's own submitted
work is a violation of academic honesty. Aiding someone else to commit an
act of academic dishonesty is also a violation. Submitting
individually-assigned work that was jointly done with another person is a
violation of academic honesty.
Any violation of the WPI's guidelines for academic honesty will result in
no credit for the course and referral to the Student Affairs Office. More
information on definitions, responsibilities and procedures regarding the
WPI academic honesty policy can be found at
http://www.wpi.edu/Pubs/Policies/Judicial/sect5.html
.
The following is a tentative outline of the material that will be covered
in this course.
- week 1:
- 1-13.
Course outline, contents, grading policy, introduction, and overview.
Papers to read: [93,62].
- week 2:
- 1-20.
System Structure.
Papers to read: [100,45].
Other papers of interest: [9,7,41,49,37,77,16,64,31,61,104,20].
- week 3:
- 1-27.
Synchronization--clocks, mutual exclusion, deadlocks.
Papers to read: [56].
Other papers of interest: [92].
- week 4:
- 2-3.
Communication/RPC/multicast/network protocols.
Papers to read: [22,15].
Other papers of interest: [10,65,72,32,6,50,13,95,44,90,48,73,75].
- week 5:
- 2-10.
Processes and mulitiprocessors, threads, memory management, load sharing, scheduling.
Papers to read: [33,60].
Other papers of interest: [18,19,47,3,81,12,91,43,5,66,98,59,58,29,76].
- week 6:
- 2-17.
Performance evaluation/Benchmarking
Papers to read: [39].
Other papers of interest: [68,34,24,55,83].
- week 7:
- 2-24.
Distributed File Systems.
Papers to read: [2,70].
Other papers of interest: [53,79,85,40,99,88,4,94,63,84].
- weeks 8-14:
- 3-3 - 4-21
Other issues:
Name servers/resource location [42,14,89,17].
Object-oriented systems [28].
Protection and security
[35,30,97,102,103].
Experience with systems: [26,82,57].
Distributed operating systems [69,101,96,80,74,25].
Distributed computing environments [38,54,36,27,46].
Web as a Distributed System
[86,11,67,23,21,8,51,52].
Caching/Prefetching [71]
Peer-to-Peer Systems [78,87]
Mobile Systems [1].
We will be reading articles from journals and conference proceedings. A
prime source of articles is available online. It is a bibliography of
distributed systems and World Wide Web systems literature. This
bibliography can be found at
http://www.cs.wpi.edu/~webbib/
. This
bibliography contains sources for systems literature and specific
bibliographic references with links to papers.
Articles are also available in the journals and proceedings themselves.
The following lists sources that are usually, if not always, systems
related. Location of the literature is given if known to be available in
the WPI library (indicated by
) or the Computer Science
Department (indicated by
). Other good libraries should
hold many of these journals and proceedings.
-
- ACM Sigmetrics Conference on Measurement and Modeling of Computer
Systems (published as part of Performance Evaluation Review)

-
- ACM Symposium on Operating Systems Principles (published as
part of Operating System Review)

-
- ACM Transactions on Computer Systems

-
- HotOS: Workshop on Hot Topics in Operating Systems
-
- IEEE Proceedings of the International Conference on
Distributed Computing Systems

-
- IEEE Transactions on Computers

-
- IEEE Transactions on Parallel and Distributed Systems

-
- Journal of Parallel and Distributed Computing

-
- Operating Systems Review (ACM)

-
- Proceedings of the International Conference on
Architectural Support for Programming Languages and
Operating Systems (ACM)
-
- USENIX General Conference

-
- USENIX Symposium on Operating Systems Design and Implementation (OSDI)
Articles in these journals and conference proceedings are sometimes
systems related.
-
- ACM Computing Surveys

-
- Communications of the ACM

-
- Computer Communications

-
- Computer Networks

-
- IEEE Computer

-
- IEEE International Symposium on Computer Architecture

-
- International Workshop on Network and Operating Systems Support for
Digital Audio and Video (NOSSDAV)

-
- IEEE Internet Computing

-
- IEEE Network

-
- IEEE/ACM Transactions on Networking

-
- IEEE Transactions on Software Engineering

-
- International World Wide Web Conference
http://www.w3.org/pub/Conferences/Overview-WWW.html
-
- Performance Evaluation

-
- Performance Evaluation Review (ACM)
-
- SIGCOMM Symposium on Communications, Architectures and Protocols (ACM)
(published as part of Computer Communication Review)
-
- Software Practice and Experience
Other journals and conference proceedings not listed here may also contain
relevant material.
- 1
-
Atul Adya, Paramvir Bahl, and Lili Qiu.
Characterizing and analyzing alert and browse services of mobile
clients.
In Proceedings of the 2002 USENIX Annual Technical Conference,
Monterey, CA USA, June 2002. USENIX Association.
- 2
-
Atul Adya, William J. Bolosky, Miguel Castro, Gerald Cermak, Ronnie Chaiken,
John R. Douceur, Jon Howell, Jacob R. Lorch, Marvin Theimer, and Roger P.
Wattenhofer.
Farsite: Federated, available, and reliable storage for an
incompletely trusted environment.
In Symposium on Operating Systems Design and Implementation,
Boston, MA, December 2002.
- 3
-
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.
- 4
-
Thomas E. Anderson, Michael D. Dahlin, Jeanna M. Neefe, David A. Patterson,
Drew S. Roeselli, and Randolph Y. Wang.
Serverless network file systems.
ACM Transactions on Computer Systems, 14(1):41-79, February
1996.
- 5
-
Thomas E. Anderson, Henry M. Levy, Brian N. Bershad, and Edward D. Lazowska.
The interaction of architecture and operating system design.
In Proceedings of the Fourth International Conference on
Architectural Support for Programming Languages and Operating Systems, pages
108-120, April 1991.
- 6
-
Randall J. Atkinson, Daniel L. McDonald, Bao G. Phan, Craig W. Metz, and
Kenneth C. Chin.
Implementation of IPv6 in 4.4 BSD.
In Proceedings of the USENIX Technical Conference, pages
113-125. USENIX Association, January 1996.
- 7
-
G. Back, P. Tullmann, L. Stoller, W.C. Hsieh, and J. Lepreau.
Techniques for the design of java operating systems.
In Proceedings of 2000 USENIX Technical Conference, San Diego,
California, June 2000.
- 8
-
Gaurav Banga and Peter Druschel.
Measuring the capacity of a web server.
In USENIX Symposium on Internet Technology and Systems,
Monterey, California, USA, December 1997. USENIX Association.
http://www.usenix.org/publications/library/proceedings/usits97/banga.html
.
- 9
-
Gaurav Banga, Peter Druschel, and Jeffrey C. Mogul.
Better operating system features for faster network servers.
In Workshop on Internet Server Performance, Madison, Wisconsin
USA, June 1998.
- 10
-
Gaurav Banga, Jeffrey C. Mogul, and Peter Druschel.
A scalable and explicit event delivery mechanism for UNIX.
In Proceedings of 1999 USENIX Technical Conference, Monterey,
California, June 1999.
- 11
-
Tim Berners-Lee, Robert Cailliau, Ari Luotonen, Henrik Frystyk Nielsen, and
Arthur Secret.
The World-Wide Web.
Communications of the ACM, 37(8):76-82, August 1994.
- 12
-
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.
- 13
-
Kenneth P. Birman.
The process group approach to reliable distributed computing.
Communications of the ACM, 36(12):37-53,103, December 1993.
- 14
-
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.
- 15
-
Andrew D. Birrell and Bruce Jay Nelson.
Implementing remote procedure calls.
ACM Transactions on Computer Systems, 2(1):39-59, February
1984.
- 16
-
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 Micro-kernels and Other Kernel
Architectures Workshop, pages 11-30. USENIX Association, April 1992.
- 17
-
Mic Bowman, Larry L. Peterson, and Andrey Yeatts.
Univers: An attribute-based name server.
Software-Practice and Experience, 20(4):403-424, April 1990.
- 18
-
B. Brock, G. Carpenter, E. Chiprout, E. Elnozahy, M. Dean, D. Glasco,
J. Peterson, R. Rajamony, F. Rawson, R. Rockhold, and A. Zimmerman.
Windows NT in a ccNUMA system.
In Proceedings of the 3rd USENIX Windows NT Symposium, Seattle,
Washington, July 1999.
- 19
-
Edouard Bugnion, Scott Devine, and Mendel Rosenblum.
Disco: Running commodity operating systems on scalable
multiprocessors.
In Proceedings of the 16th ACM Symposium on Operating System
Principles, Saint-Malo, France, October 1997. SIGOPS.
http://www-flash.stanford.edu/Disco/
.
- 20
-
Roy H. Campbell, Nayeem Islam, David Raila, and Peter Madany.
Designing and implementing choices: An object-oriented system in
C++.
Communications of the ACM, 36(9):117-126, September 1993.
- 21
-
Pei Cao and Sandy Irani.
Cost-aware WWW proxy caching algorithms.
In USENIX Symposium on Internet Technology and Systems,
Monterey, California, USA, December 1997. USENIX Association.
http://www.usenix.org/publications/library/proceedings/usits97/cao.html
.
- 22
-
Abhishek Chandra and David Mosberger.
Scalability of Linux event-dispatch mechanisms.
In Proceedings of the 2001 USENIX Annual Technical Conference,
Boston, MA USA, June 2001.
- 23
-
Anawat Chankhunthod, Peter Danzig, Chuck Neerdaels, Michael F. Schwartz, and
Kurt J. Worrell.
A hierarchical internet object cache.
In Proceedings of the 1996 USENIX Annual Technical Conference,
San Diego, California, USA, January 1996. USENIX Association.
http://www.usenix.org/publications/library/proceedings/sd96/danzig.html
.
- 24
-
J. Bradley Chen, Yasuhiro Endo, Kee Chan, David Maxières, Antonio Dias,
Margo Seltzer, and Michael D. Smith.
The measured performance of personal computer operating systems.
ACM Transactions on Computer Systems, 14(1):3-40, February
1996.
- 25
-
David R. Cheriton.
The V distributed system.
Communications of the ACM, 31(3):314-333, March 1988.
- 26
-
David D. Clark.
The structuring of systems using upcalls.
In Proceedings of the Tenth ACM Symposium on Operating Systems
Principles, pages 171-180. ACM, December 1985.
Available in ACM Operating Systems Review, Vol. 19, No. 5.
- 27
-
Common object request broker architecture design specification.
- 28
-
Partha Dasgupta, Richard J. LeBlanc Jr., and William F. Appelbe.
The Clouds distributed operating system: Functional description,
implementation details and related work.
In Proceedings of the 8th International Conference on
Distributed Computing Systems, pages 2-9, June 1988.
- 29
-
Peter J. Denning.
The working set model for program behavior.
Communications of the ACM, 11(5):323-333, May 1968.
- 30
-
Peter J. Denning.
Computer viruses.
American Scientist, 76(3), May-June 1988.
Reprinted in Computers Under Attack Intruders, Worms, and
Viruses, Peter J. Denning, Editor.
- 31
-
Fred Douglis, John K. Ousterhout, M. Frans Kaashoek, and Andrew S. Tanenbaum.
A comparison of two distributed systems: Amoeba and Sprite.
Computing Systems, 4(4):353-384, Fall 1991.
- 32
-
Peter Druschel.
Operating system support for high-speed communication.
Communications of the ACM, 39(9):41-51, September 1996.
- 33
-
Derek L. Eager, Edward D. Lazowska, and John Zahorjan.
Adaptive load sharing in homogeneous distributed systems.
IEEE Transactions on Software Engineering, SE-12(5):662-675,
May 1986.
- 34
-
Yasuhiro Endo, Zheng Wang, J. Bradley Chen, and Margo Seltzer.
Using latency to evaluate interactive system performance.
In Second Symposium on Operating Systems Design and
Implementation (OSDI '96) Proceedings, pages 185-199, October 1996.
- 35
-
Robert S. Fabry.
Capability-based addressing.
Communications of the ACM, 17(7):403-412, July 1974.
- 36
-
James FitzGibbon and Tim Strike.
Distributed computing: Moving from CGI to CORBA.
In Proceedings of 2000 USENIX Technical Conference, San Diego,
California, June 2000.
- 37
-
Eran Gabber, Christopher Small, John Bruno, Jose Brustoloni, and Avi
Silberschatz.
The pebble component-based operating system.
In Proceedings of 1999 USENIX Technical Conference, Monterey,
California, June 1999.
- 38
-
James Gettys.
The future is coming: Where the X window system should go.
In Proceedings of the Freenix Track 2002 USENIX Annual Technical
Conference, Monterey, CA USA, June 2002.
- 39
-
Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, and Jonathan Walpole.
Supporting time-sensitive applications on a commodity OS.
In Symposium on Operating Systems Design and Implementation,
Boston, MA, December 2002.
- 40
-
Burra Gopal and Udi Manber.
Integrating content-based access mechanisms with hierarchical file
systems.
In Symposium on Operating Systems Design and Implementation,
New Orleans, LA, USA, February 1999.
- 41
-
Hermann Hartig and Michael Hohmuth.
The performance of micro-kernel-based systems.
In Proceedings of the 16th ACM Symposium on Operating System
Principles, Saint-Malo, France, October 1997. SIGOPS.
http://os.inf.tu-dresden.de/pubs/sosp97/
.
- 42
-
John Heidemann and Dhaval Shah.
Location-aware scheduling with minimal infrastructure.
In Proceedings of 2000 USENIX Technical Conference, San Diego,
California, June 2000.
- 43
-
Mark D. Hill, James R. Larus, Steven K. Reinhardt, and David A. Wood.
Cooperative shared memory: Software and hardware for scalable
multiprocessors.
ACM Transactions on Computer Systems, 11(4):300-318, November
1993.
- 44
-
Norman C. Hutchinson and Larry L. Peterson.
The x-kernel: An architecture for implementing network protocols.
IEEE Transactions on Software Engineering, 17(1):64-76,
January 1991.
- 45
-
S. Ioannidis, S. Bellovin, and J. Smith.
Sub-operating systems: A new approach to application security.
In Proceedings of the 10th ACM SIGOPS European Workshop,
Saint-Emilion, France, September 2002. ACM.
- 46
-
Brad Curtis Johnson.
A distributed computing environment framework: An OSF perspective.
Technical report, Open Software Foundation, January 1992.
- 47
-
Michael B. Jones and John Regehr.
The problems you're having may not be the problems you think you're
having: Results from a latency study of Windows NT.
In Symposium on Operating Systems Design and Implementation,
New Orleans, LA, USA, February 1999.
- 48
-
M. F. Kaashoek, R. van Renesse, H. van Staveren, and A. Tanenbaum.
FLIP: An internetwork protocol for supporting distributed systems.
ACM Transactions on Computer Systems, 11(1):73-106, 1993.
- 49
-
M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Hector Briceno, Russell
Hunt, David Mazieres, and Tom Pinckney.
Application performance and flexibility on exokernel systems.
In Proceedings of the 16th ACM Symposium on Operating System
Principles, Saint-Malo, France, October 1997. SIGOPS.
http://www.pdos.lcs.mit.edu/papers/exo-sosp97.html
.
- 50
-
Panos Kougiouris and Graham Hamilton.
Buffer management issues in the implementation of fast interprocess
communication.
Software Practice & Experience, 26(2):195-211, February 1996.
- 51
-
Balachander Krishnamurthy and Craig E. Wills.
Study of piggyback cache validation for proxy caches in the World
Wide Web.
In USENIX Symposium on Internet Technology and Systems,
Monterey, California, USA, December 1997. USENIX Association.
http://www.usenix.org/publications/library/proceedings/usits97/krishnamurthy.html
.
- 52
-
Balachander Krishnamurthy and Craig E. Wills.
Piggyback server invalidation for proxy cache coherency.
In Seventh International World Wide Web Conference, Brisbane,
Australia, April 1998.
http://www7.conf.au/programme/fullpapers/1844/com1844.htm
.
- 53
-
Thomas M. Kroeger and Darrell E. Long.
Design and implementation of a predictive file prefetching algorithm.
In Proceedings of the 2001 USENIX Annual Technical Conference,
Boston, MA USA, June 2001.
- 54
-
Albert Lai and Jason Nieh.
Limits of wide-area thin-client computing.
In Proceedings of the ACM SIGMETRICS 2002 Conference, Marina
Del Ray, CA, June 2002. ACM.
- 55
-
Kevin Lai and Mary Baker.
A performance comparison of unix operating systems on the pentium.
In Proceedings of the USENIX Technical Conference, pages
265-277. USENIX Association, January 1996.
- 56
-
Leslie Lamport.
Time, clocks, and the ordering of events in a distributed system.
Communications of the ACM, pages 558-565, July 1978.
- 57
-
Butler W. Lampson.
Hints for computer system design.
In Proceedings of the 9th Symposium on Operating Systems
Principles, pages 33-48, October 1983.
Reprinted in Operating System Review 19(5).
- 58
-
Richard P. LaRowe, Jr. and Carla Schlatter Ellis.
Page placement policies for NUMA multiprocessors.
Journal of Parallel and Distributed Computing, (11):112-129,
1991.
- 59
-
Richard P. LaRowe Jr., Carla Schlatter Ellis, and Laurence S. Kaplan.
The robustness of NUMA memory management.
In Proceedings of the 13th ACM Symposium on Operating Systems
Principles, pages 137-151, October 1991.
- 60
-
James R. Larus and Michael Parkes.
Using cohort scheduling to enhance server performance.
In Proceedings of the 2002 USENIX Annual Technical Conference,
Monterey, CA USA, June 2002. USENIX Association.
- 61
-
Hugh C. Lauer and Roger M. Needham.
On the duality of operating system structures.
In Proceedings Second International Symposium on Operating
Systems. IRIA, October 1978.
Reprinted in Operating Systems Review, 13(2) April 1979, pp. 3-19.
- 62
-
Roy Levin and David D. Redell.
An evaluation of the Ninth SOSP Submissions.
In Proceedings of the Ninth ACM Symposium On Operating Systems
Principles, pages 35-40. ACM, 1983.
Available in ACM Operating Systems Review, Vol 17.
- 63
-
Eliezer Levy and Abraham Silberschatz.
Distributed file systems: Concepts and examples.
ACM Computing Surveys, 22(4):321-374, December 1990.
- 64
-
Jochen Liedtke.
Toward real microkernels.
Communications of the ACM, 39(9):70-77, September 1996.
- 65
-
X. Liu, C. Kreitz, R. van Renesse, J. Hickey, M. Hayden, K. Birman, and
R. Constable.
Building reliable, high-performance communication systems from
components.
In Proceedings of the 17th Symposium on Operating Systems
Principles, Kiawah Island Resort, SC USA, December 1999.
- 66
-
Cathy McCann, Raj Vaswani, and John Zahorjan.
A dynamic processor allocation policy for multiprogrammed
shared-memory multiprocessors.
ACM Transactions on Computer Systems, 11(2):146-178, May 1993.
- 67
-
Jeffrey C. Mogul.
The case for persistent-connection HTTP.
In Proceedings of the ACM SIGCOMM '95 Conference. ACM, August
1995.
http://www.acm.org/sigcomm/sigcomm95/papers/mogul.html
.
- 68
-
Jeffrey C. Mogul.
Brittle metrics in operating systems research.
In Workshop on Hot Topics in Operating Systems, Rio Rico, AZ,
USA, March 1999.
- 69
-
Sape J. Mullender, Guido van Rossum, Andrew S. Tanenbaum, Robbert van Renesse,
and Hans van Staveren.
Amoeba a distributed operating system for the 1990s.
IEEE Computer, pages 44-53, May 1990.
- 70
-
Athicha Muthitacharoen, Robert Morris, Thomer M. Gil, and Benjie Chen.
Ivy: A read/write peer-to-peer file system.
In Symposium on Operating Systems Design and Implementation,
Boston, MA, December 2002.
- 71
-
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.
- 72
-
Henrik Frystyk Nielsen, Jim Gettys, Anselm Baird-Smith, Eric Prud'hommeaux,
Hikon Lie, and Chris Lilley.
Network performance effects of HTTP/1.1, CSS1, and PNG.
In Proceedings of the ACM SIGCOMM '97 Conference. ACM,
September 1997.
http://www.acm.org/sigcomm/sigcomm97/papers/p102.html
.
- 73
-
H. Orman, E. Menze, S. O'Malley, and L. Peterson.
A fast and general implementation of Mach IPC in a network.
In Proceedings of the Third USENIX Mach Conference. USENIX
Association, April 1993.
- 74
-
John K. Ousterhaut, Andrew R. Cherenson, Frederick Douglis, Michael N. Nelson,
and Brent B. Welch.
The Sprite network operating system.
IEEE Computer, pages 23-36, February 1988.
- 75
-
Craig Partridge.
Protocols for high-speed networks: Some questions and a few answers.
Computer Networks and ISDN Systems, pages 1018-1028, April
1993.
- 76
-
Jelica Protic, Milo Tomasevic, and Veljko Milutinovic.
Distributed shared memory: Concepts and systems.
IEEE Parallel & Distributed Technology, 4(2):63-79, Summer
1996.
- 77
-
John Reumann, Ashish Mehra, Kang G. Shin, and Dilip Kandlur.
Virtual services: A new abstraction for server consolidation.
In Proceedings of 2000 USENIX Technical Conference, San Diego,
California, June 2000.
- 78
-
Rodrigo Rodrigues, Barbara Liskov, and Liuba Shrira.
The design of a robust peer-to-peer system.
In Proceedings of the 10th ACM SIGOPS European Workshop,
Saint-Emilion, France, September 2002. ACM.
- 79
-
Drew Roselli, Jacob R. Lorch, and Thomas E. Anderson.
A comparison of file system workloads.
In Proceedings of 2000 USENIX Technical Conference, San Diego,
California, June 2000.
- 80
-
M. Rozier, V. Abrossimov, F. Armand, I. Boule, M. Gien, M. Guillemont,
F. Herrmann, C. Kaiser, S. Langlois, P. Léonard, and W. Neuhauser.
Overview of the CHORUS distributed operating systems.
Technical report, Chorus systèmes, April 1990.
This paper is a revised update version of an article published in
``Computing Systems,'' The Journal of the Usenix Association, 1(4).
- 81
-
James D. Salehi, James F. Kurose, and Don Towsley.
The effectiveness of affinity-based scheduling on multiprocessor
network protocol processing.
IEEE/ACM Transactions on Networking, 4(4):516-530, August
1996.
- 82
-
J. H. Saltzer, D. P. Reed, and D. D. Clark.
End-to-end arguments in systems design.
ACM Transactions on Computer Systems, 2(4):277-288, November
1984.
- 83
-
Jerome H. Saltzer and John W. Gintell.
The instrumentation of Multics.
Communications of the ACM, 13(8):495-500, August 1970.
- 84
-
R. Sandberg, D. Goldberg, S. Kleiman, Dan Walsh, and Bob Lyon.
Design and implementation of the Sun Network File System.
In Proceedings of the Summer USENIX Conference, pages 119-130.
USENIX Association, June 1985.
- 85
-
Douglas J. Santry, Michael J. Feeley, Norman C. Hutchinson, and Alistair C.
Veitch.
Elephant: The file system that never forgets.
In Symposium on Operating Systems Design and Implementation,
New Orleans, LA, USA, February 1999.
- 86
-
Stefan Saroiu, Krishna P. Gummadi, Henry M. Levy, and Steven D. Gribble.
An analysis of internet content delivery mechanisms.
In Symposium on Operating Systems Design and Implementation,
Boston, MA, December 2002.
- 87
-
Stefan Saroiu, P. Krishna Gummadi, and Steven D. Gribble.
Exploring the design space of distributed and peer-to-peer systems:
Comparing the web, triad, and chord/cfs.
In Proceedings of the 1st International Workshop on Peer-to-Peer
Systems, Cambridge, MA USA, March 2002.
- 88
-
Mahadev Satyanarayanan.
Scalable, secure, and highly available distributed file access.
IEEE Computer, 23(5):9-22, May 1990.
- 89
-
M. Schroeder, A. Birrell, and R. Needham.
Experience with Grapevine: The growth of a distributed system.
ACM Transactions on Computer Systems, 2(1):3-23, February
1984.
- 90
-
John F. Shoch.
Inter-network naming, addressing, and routing.
In Proceedings IEEE COMPCON, pages 72-79, Fall 1978.
- 91
-
John F. Shoch and Jon A. Hupp.
The ``worm'' programs - early experience with a distributed
computation.
Communications of the ACM, 25(3):172-180, March 1982.
- 92
-
Mukesh Singhal.
A heuristically-aided algorithm for mutual exclusion in distributed
systems.
IEEE Transactions on Computers, pages 651-662, May 1989.
- 93
-
Alan Jay Smith.
The task of the referee.
IEEE Computer, 23(4):65-73, April 1990.
- 94
-
Mirjana Spasojevic and M. Satyanarayanan.
An emperical study of a wide-area distributed file system.
ACM Transactions on Computer Systems, 14(2):200-222, May 1996.
- 95
-
Andrew S. Tanenbaum.
Network protocols.
Computing Surveys, 13(4):453-489, December 1981.
- 96
-
Andrew S. Tanenbaum and Robbert van Renesse.
Distributed operating systems.
ACM Computing Surveys, 17(4):419-470, December 1985.
- 97
-
Ken Thompson.
Reflections on trusting trust.
Communications of the ACM, 27(8):761-763, August 1984.
- 98
-
Raj Vaswani and John Zahorjan.
The implications of cache affinity on processor scheduling for
multiprogrammed, shared memory multiprocessors.
In Proceedings of the 13th ACM Symposium on Operating Systems
Principles, pages 26-40, October 1991.
- 99
-
Werner Vogels.
File system usage in Windows NT 4.0.
In Proceedings of the 17th Symposium on Operating Systems
Principles, Kiawah Island Resort, SC USA, December 1999.
- 100
-
Rob von Behren, Eric Brewer, Nikita Borisov, Mike Chen, Matt Welsh, David
Culler, Josh MacDonald, Jeremy Lau, and Steven D. Gribble.
Ninja: A framework for network services.
In Proceedings of the 2002 USENIX Annual Technical Conference,
Monterey, CA USA, June 2002. USENIX Association.
- 101
-
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.
- 102
-
Ian H. Witten.
Computer (in)security: Infiltrating open systems.
In Peter J. Denning, editor, Computers Under Attack Intruders,
Worms, and Viruses, chapter 5, pages 105-142. Addison Wesley, 1990.
Originally published in ABACUS, Vol. 4, No. 4, Summer 1987.
- 103
-
W. Wulf, E. Cohen, W. Corwin, A. Jones, R. Levin, C. Pierson, and F. Pollack.
HYDRA: The kernel of a multiprocessor operating system.
Communications of the ACM, 17(6):337-345, June 1974.
- 104
-
Michael Young, Avadis Tevanian, Richard Rashid, David Golub, Jeffrey Eppinger,
Jonathan Chew, William Bolosky, David Black, and Rober Baron.
The duality of memory and communications in the implementation of a
multiprocessor operating system.
In Proceedings of the 11th ACM Symposium on Operating Systems
Principles, pages 63-76, 1987.
Reprinted in Operating System Review 21(5).