CS 6210
Advanced Operating Systems
Fall 2002
Instructor: Dr. Karsten Schwan ( schwan@cc )
Office: CoC Building, Room 216.
Office Hours: Mon. 12-1, Wed 11-11:30, or by appointment.
TA: Lynn Daley ( lkdaley@cc)
Office: CoC Building, Room 342.
Office Hours: By appointment only.
Newsgroup: git.cc.class.cs6210
|
DO NOT USE the edhpc machines
on Thursday afternoon, 12/5. Dr Fujimoto
needs to have them reserved for some critical timing tests & demos.
Lecture Slides by Dr. Greg Eisenhauer
Spin, SystemR (big, takes a
while to load)
Other Lecture Slides
Subcontracts,
Web Services
|
Course Description
CS 6210 (Advanced Operating Systems) is a graduate level
course that covers in detail many advanced topics in operating system
design and implementation. It starts with topics such as operating
systems structuring, multithreading and synchronization and then moves
on to systems issues in parallel and distributed computing systems.
There is no textbook for this course. Rather, we will read and discuss
a number of important research papers which have been published. For
each paper that is covered in class , students
are expected to gain a solid understanding of the problem that is addressed
by the paper, and the solution proposed by the authors. Some papers will
be assigned for self study . Students must carefully read
the self study papers because the understanding of their content may
be essential for the papers that will be covered in class. Some papers
are marked reading only . These papers will cover topics
that extend or supplement the material in papers that are covered in class.
Students will be expected to have some understanding of the results in
these papers but will not be tested on them..
Prerequisites
- CS4210 or equivalent undergraduate OS course.
- Good knowledge of Unix and C programming.
- CS4210's prerequisites or equivalents.
Grading
10% class participation / abstracts
35% projects & homework
25% midterm
30% final
Abstracts
Students must submit written abstracts for at least
75% of the papers presented in class . These
abstracts must summarize the main points of the paper, including
what you learned or found of interest in the paper, or how the paper
relates to other materials studied in class. The abstract is usually
1-2 paragraphs in length. Papers indicated as self study
or reading only are not considered "papers presented
in class".
Abstracts are due before the paper's presentation in class,
and should be turned in via email to the TA. To receive credit
for the abstract, emails must have a subject line that
includes: 1) the words "6210 abstract", and 2) the last name of the
papers primary author. (So for the first paper, the subject should
be "6210 abstract bershad ".) Please put the abstract text
directly in the email, do not send attachments.
Assume that one paper will be covered each class period, starting with
the SPIN paper on 8/21/02. The instructor will confirm the "next
paper" at the end of each class period -- if he forgets, please remind
him to clarify.
Projects & Homework
This course is project intensive and will have a sequence
of three to five projects. Strong programming skills are absolutely
essential for completing these projects. Students can either do
the assigned projects or they can choose to define a project that
fits more closely with their individual research goals. Homework
may also be assigned. Check here for updates!
Syllabus
Papers or references that are not available online will be
handed out by instructor, or will be available outside instructors
door. Optional supplimentary reference texts include the following:
- Operating Systems
Concepts , Silberschatz and Galvin.
- OS: Advanced Concepts , Maekawa, Oldehoeft.
Addison-Wesley.
- "Distributed Systems", Sape Mullender, Addison-Wesley.
- "Distributed Operating Systems", Andrew S. Tanenbaum,
Prentice Hall.
- "An
Introduction to Programming with Threads" , Andrew Burrell.
- Multithreaded Programming with Pthreads,
Chapter 4, Bil Lewis, Daniel J. Berg. (handout).
Basics
- Course overview and assumptions, which include
basics of operating system structure, micro-kernels, user- and kernel-level
threads, synchronization, deadlock detection and avoidance. Refer
to Operating System Concepts , Silberschatz and Galvin,
and Multithreaded Programming with Pthreads, Chapter 4
( handout ).
OS Structures
- Brian Bershad et al., " Extensibility, Safety and
Performance in the SPIN Operating System ", Proceedings of the
15th ACM Symposium on Operating System Principles, December 1995.
- Dawson R. Engler, Frans Kaashoek and James O'Toole,
" Exokernel: An
Operating System Architecture for Application-Level Resource Management
", Proceedings of the 15th ACM Symposium on Operating System Principles,
ACM, December 1995.
- J. Liedtke, " On Micro-Kernel Construction
", Proceedings of the 15th ACM Symposium on Operating System Principles,
ACM, December 1995.
Shared Memory Systems
- Anderson, T.E., " "The Performance of Spin Lock Alternatives
for Shared-Memory Multiprocessors ", IEEE Transactions on Parallel
and Distributed Systems, 1, 1, pgs. 6-16, January 1990. (mostly
self study , no abstract due )
- Mellor-Crummey, J. M. and Scott, M., " Algorithms for
Scalable Synchronization on Shared-Memory Multiprocessors ",
ACM Transactions on Computer Systems, Feb. 1991.
- Bershad, B.N. Anderson, A.E., Lazowska, E.D.,
and Levy, H.M., " User Level Interprocess
Communication for Shared Memory Multiprocessor" , ACM Transactions
on Computer Systems, 9, 2, pgs. 175-198, May 1991.
- T.E. Anderson, B.D. Bershad, E. Lazowska, and
H. Levy, " Scheduler Activations:
Effective Kernel Support for the User-Level Management of Parallelism
", Proceedings of the Thirteenth ACM Symposium on Operating System
Principles, pgs. 95-109, December 1991.
- Draves, R.P., Bershad, B.N., Rashid, R.F. and
Dean, R.W., ``Using Continuations
to Implement Thread Management and Communication in Operating Systems"
, Proceedings of the Thirteenth ACM Symposium on Operating System
Principles, pgs. 122-136, December 1991. (reference only
)
- M.S. Squillante and E.D. Lazowska, " Using Processor-Cache
Affinity Information in Shared Memory Multiprocessor Scheduling
", IEEE Transactions on Parallel and Distributed Systems, Feb. 1993,
pgs. 131-143.
From Parallel to Distributed
Systems: Communication Mechanisms
- Basics on message passing and communication protocols.
Refer to Operating System Concepts, Silberschatz and
Galvin. Also refer to the web pages of the CoC networking courses.
- Birrell and Nelson, " Implementing Remote
Procedure Calls ", ACM Transactions on Computer Systems, 2,
1, pgs. 39-59, February 1984. (mostly self study). Also
refer to Operating System Concepts, Silberschatz and Galvin.
Abstract due for either this paper or the
next, but not both. Will be covered in the same class period.
- Schroeder, M., and Burrows, M., " Performance of the Firefly
RPC" , Proceedings of the Twelfth ACM Symposium on Operating
Systems Principles, pgs. 83-90, December 1989. (mostly self
study ) Abstract due for either
this paper or the last, but not both. Will be covered in the same
class period.
- Birrell, A.D., " Secure Communication
Using Remote Procedure Calls ", ACM Transactions on Computer
Systems, 3,1, pgs. 1-14, February 1985. (reference only).
- Wallach, D.A., Hsieh, W.C., Johnson, K.K., Kaashoek,
M.F., and Weihl, W.E., " Optimistic Active Messages:
A Mechanism for Scheduling Communication with Computation ",
Proceedings of ACM SIGPLAN Symposium on Principles & Practice of
Parallel Programming (PPOPP), pgs. 217-225, July 1995.
High Performance Communications
- C.A. Thekkath and H.M. Levy, " Limits to Low-Latency
Communications on High-Speed Networks ", ACM Transactions on
Computer Systems, May 1993.
- Marcel-Catalin Rosu, Karsten Schwan, and Richard
Fujimoto," Supporting
Parallel Applications on Clusters of Workstations ", Cluster
Computing, Baltzer Science Publishers, May 1998.
- Hutchinson, N.C., Peterson, L.L., " The x-Kernel: An Architecture for Implementing
Network Protocols ", IEEE Transactions on Software Engineering,
17, 1, pgs. 64-76, January 1991.
- David Wetherall, `` Active Networks:
Vision and Reality: Lessons from a Capsule-based System' ',
17th ACM Symposium on Operating System Principles, OS Review, Volume
33, Number 5, Dec. 1999.
- Liu, Kreitz, van Renesse, Hickey, Hayden, Birman,
Constable, `` Building
Reliable High Performance Communication Systems from Components
'', 17th ACM Symposium on Operating System Principles, OS Review, Volume
33, Number 5, Dec. 1999.
Midterm
Exam: Friday, October 4th
Example Midterm
Distributed Systems: Concepts
- Ricart, G. and Agrawala, A.K., " An Optimal
Algorithm for Mutual Exclusion in Computer Networks ", Communication
of the ACM, 24, 1, pgs. 9-17, January 1981.
- Lamport, L., " Time, Clocks,
and the Ordering of Events in a Distributed System ", Communications
of the ACM, 21, 7, pgs. 558-565, July 1978.
Distributed Systems: File Systems
and Distributed Shared Memory
- SUN NFS, Locus, and Sprite - from Operating
System Concepts , Silberschatz and Galvin. (self study
).
- Nelson, M.N., Wlech, B.B., Ousterhout, J.K.,
" Caching in the Sprite
Network File System ", ACM Transactions on Computer Systems,
6, 1, pgs. 134-154, February 1988. (self study )
- Anderson, T. etc. all., " Serverless Network File
System" , ACM Transpaction on Computer Systems, February 1996.
- M. Satyanarayanan, ``Integrating Security in
Large Scale Distributed Systems '', ACM TOCS, Aug. 1989.
- Feeley, Morgan, Pighin, Karlin, Levy, Thekkath,,
" Implementing Global Memory
Management in a Workstation Cluster ", Fifteenth ACM Symposium
on Operating System Principles, Dec. 1995.
- C. Amza, A. Cox, S Dwarkadas, P Keleher, H Lu,
R. Rajamony, W. Yu and W. Zwaenepoel, " TreadMarks: Shared
Memory Computing on Networks of Workstations " IEEE Computer,
February, 1996.
Multimedia, Real-Time, and Web
Services
- D. James Gemmell, Harrick M. Vin, Dilip D. Kandlur,
P. Venkat Rangan, and Lawrence A. Rowe, " Multimedia Storage Servers:
A Tutorial ", IEEE Computer, May 1995. (Reference only.)
- Shahabi, Zimmermann, Fu, and Yao. "Yima: A Second-Generation Continuous Media Server",
IEEE Computer Magazine, June 2002.
- Bolosky, Fitzgerald, and Douceur. "Distributed Schedule Management in the Tiger
Video Fileserver" In Proceedings of the 16th ACM Symposium
on Operating Systems Principles, Oct. 1997.
- Michael B. Jones, Daniela Rosu and Marcel Rosu,
"CPU Reservations and
Time Constraints: Efficient, Predictable Scheduling of Independent
Activities, " Proceedings of the 16th ACM Symposium on Operating
Systems Principles (SOSP '97), St. Malo, France, Oct., 1997.
- Erik Riedel, Garth Gibson, Christos Faloutsos,
"Active
Storage For Large-Scale Data Mining and Multimedia," Proc. of the 24th
International Conference on Very large Databases (VLDB '98), New York, New
York, August 24-27, 1998. (Reference only.)
- Armando Fox, Steven Gribble, Yatin Chawathe,
Eric Brewer, and Paul Gauthier, "Cluster-based
Scalable Network Services" , Sixteenth ACM Symposium on Operating
System Principles, Oct. 1997 .
- Saito, Bershad, Levy, "Manageability, Availability,
and Performance in Porcupine: A Highly Scalable Cluster-based Mail
Service'' , 17th ACM Symposium on Operating System Principles,
OS Review, Volume 33, Number 5, Dec. 1999.
- M. Frans Kaashoek, Dawson R. Engler, Gregory
R. Ganger and Deborah A. Wallach, "Server Operating
Systems", 7th SIGOPS European workshop: Systems suppport for
worldwide applications, Connemara, Ireland, September 1996.
Distributed Systems: Failures,
Consistency and Recovery
- Walker et all., "The LOCUS Distributed Operating
System," Procedings of the Ninth ACM Symposium on Operaitng Systems
Principles, pgs 49-70, December 1983 (self study, handout).
- R. Haskin et. al., " Recovery Management
in QuickSilver ", ACM Transactions on Computer Systems, February
1988.
- Satyanarayanan, M., et al., " Lightweight Recoverable
Virtual Memory ", The Proceedings of Fourteenth ACM Symposium
on Operating System Principles, pgs. 146-160, December 1993.
- David E. Lowell and Peter M. Chen, " Free Transactions With Rio
Vista" , Proceedings of the Sixteenth ACM Symposium on Operating System
Principles, October 1997. (no abstract due)
- Omitted:
Blasgen et all., " System R: An Architectural
Overview" , IBM Systems Journal 38(2/3): 375-396 (1999).
- 5 Above replaced by:
http://www.mcjones.org/paul/recovery.pdf
Protection, Object-based Systems
and Object Technologies
- Linden, T.A., " Operating System Structures
to Support Security and Reliable Software ", Computer Surveys,
8, 4, pgs. 409-445, 1976. Also refer to Operating System Concepts
, Silberschatz and Galvin, the chapter on protection. (reference
only)
- Saltzer, J.H., ``Protection and the Control of Information
Sharing in Multics '', Communications of the ACM, 17, 7, 1974.
(reference only)
- Cohen, E., and Jefferson, D., "Protection in
the HYDRA Operating System", Proceedings of Fifth ACM Symposium
on Operating System Principles, pgs. 141-160, 1975. (handout)
- Mitchell, J. G., et al., " An Overview of
the Spring System ", Proceedings of Compcon, Feb. 1994.
- Hamilton, G., Powell, M.L., and Mitchell, J.J.,
" Subcontract:
A Flexible Base for Distributed Programming ", Proceedings of the Fourteenth
ACM SOSP, pgs. 69-79, December 1993.
- Wollrath, A., Riggs, R., and Waldo, J., "A Distributed Object
Model for the Java System" , Usenix Conference on Object Oriented
Technologies and Systems, May 1996. (reading only)
- Jason Maassen, Rob van Nieuwpoort, Ronald Veldema,
Henri Bal, Thilo Kielmann, Ceriel Jacobs, Rutger Hofman, " Efficient Java RMI for
Parallel Programming" , Vrije Universiteit Amsterdam, Faculty of Sciences,
March 2000.
- Aldrich, Dooley, et al., " Providing Easier Access
to Remote Objects in Client-Server Systems, " 31th Hawaii International
Conference on System Sciences in January, 1998. (reading only)
- Curbera, F.; Duftler, M.; Khalaf, R.; Nagy, W.;
Mukhi, N.; Weerawarana, S., "Unraveling
the Web services web: an introduction to SOAP, WSDL, and UDDI"
, IEEE Internet Computing , Volume: 6 Issue: 2 , March-April 2002, Page(s):
86 -93.
- Govindaraju, M.; Slominski, A.; Choppella, V.;
Bramley, R.; Gannon, D., "Requirements
for and evaluation of RMI protocols for scientific computing"
, Conference on High Performance Networking and Computing, Proceedings
of the 2000 conference on Supercomputing, Dallas, Texas, USA.
Final Exam: Thursday, December 12th, 2:50-5:40
Graduating students will be given the final examination in dead
week. Consult the instructor for details.
Example Final