For this course, we will have one simple programming project and two fairly difficult programming projects, requiring an implementaion of some aspect of operating system design using the "C" programming language. Students are expected to be fairly competent in "C", although the instructor and/or the TA can assist with diffuculties in debugging the projects.
There will be no homework assignments. There will be required reading for each class, as outlined in the syllabus below. Between reading papers and programming projects, I did not feel that other homework would be beneficial.
Students are also encouraged to help each other via postings on the class newsgroup git.cc.class.6420. If you have difficulty understanding a particular programming assignment or getting some aspect of the programming assignment working, post a newsgroup message. However, there is a fine line between helping someone and doing their work for them. I will read the newsgroup regularly, and if I feel a student has ``stepped over the line'' in helping, I'll let you know.
| Project 1 | 5% |
| Project 2 | 20% |
| Project 3 | 20% |
| Midterm | 25% |
| Final | 25% |
| Class Participation | 5% |
| Total | 100% |
| Day | Month | Date | Topic | Reading |
| Mon | Jun | 21 | Shared Memory Systems | Mellor-Crummey, J. M. and Scott, M., ``Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors", Pages 1-18, ACM Transactions on Computer Systems, Feb. 1991. |
| Project 1 Assigned | ||||
| Wed | Jun | 23 | Shared Memory Systems | Mellor-Crummey, J. M. and Scott, M., ``Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors", Pages 1-18, ACM Transactions on Computer Systems, Feb. 1991. |
| Fri | Jun | 25 | Shared Memory Systems | Anderson, T.E., ``The Performance Implications of Spin-Waiting Alternatives for Shared-Memory Multiprocessors", IEEE Transactions on Parallel and Distributed Systems, 1, 1, pgs. 6-16, January 1990. |
| Mon | Jun | 28 | Shared Memory Systems | 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. |
| Wed | Jun | 30 | Shared Memory Systems | Engler, D.R., Andrews, G.R., Lowenthal, D.K., ``Filaments: Efficient Support for Fine-Grain Parallelism", The Univ. of Arizona, Department of Computer Science, TR 93-13a, February 1994. |
| Project 1 Due | ||||
| Project 2 Assigned | ||||
| Fri | Jul | 2 | Shared Memory Systems | 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. |
| Post-Mortem on Program 1 and Overview of Program 2 | ||||
| Mon | Jul | 5 | HOLIDAY! | |
| Wed | Jul | 7 | Distributed Systems (Communication) | Basics on message passing and communication protocols (Silberschatz/Galvin textbook and Tenenbaum textbook). |
| Wed | Jul | 7 | Distributed Systems (Communication) | Birrell and Nelson, "Implementing Remote Procedure Calls" ACM Transactions on Computer Systems, 2, 1, pgs. 39-59. |
| Fri | Jul | 9 | Distributed Systems (Communication) | Birrell, A.D., "Secure Communication Using Remote Procedure Calls", ACM Transactions on Computer Systems, 3,1, pgs. 1-14, February 1985 |
| Mon | Jul | 12 | Distributed Systems (Communication) | Von Eicken et. al Active Messages: A Mechanism for Integrated Communication and Computation" |
| Distributed Systems (Communication) | 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. |
|||
| Wed | Jul | 14 | Distributed Systems (Communication) | 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. |
| Thu | Jul | 15 | Project 2 DUE BEFORE 11:59 PM | |
| Fri | Jul | 16 | Midterm Exam | |
| Mon | Jul | 19 | Distributed Systems (Communication) | 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. |
| Mon | Jul | 19 | File Systems | Anderson, T. et. al., Serverless Network File System, ACM Transactions on Computer Systems, February 1996. |
| Midterm Answer Key | Midterm Post-Mortem | |||
| Project 3 Assigned | ||||
| Wed | Jul | 21 | File Systems | Anderson, T. et. al., Serverless Network File System, ACM Transactions on Computer Systems, February 1996. |
| Fri | Jul | 23 | ||
| Mon | Jul | 26 | Distributed Systems (Concepts) | Lamport, L., ``Time, Clocks, and the Ordering of Events in a Distributed System", Communications of the ACM, 21, 7, pgs. 558-565, July 1978. |
| Wed | Jul | 28 | 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. |
| Memory Management | Freeley et. al. ``Implementing Global Memory Management in a Workstation Cluster'', Fifteenth ACM Symposium on Operating System Principles, Dec. 1995. |
|||
| Fri | Jul | 30 | File Systems | Rangan, P.V. and Vin, H.M., ``Designing File Systems for Digital Video and Audio" Proceedings of the Thirteenth ACM Symposium on Operating System Principles, pP. 81-94, December 1991 |
| Mon | Aug | 2 | Distributed Systems: Failures, Consistency and Recovery | Satyanarayanan, M., et al., ``Lightweight Recoverable Virtual Memory'' The Proceedings of Fourteenth ACM Symposium on Operating System Principles, pgs. 146-160, December 1993. |
| Wed | Aug | 4 | Distributed Systems: Failures, Consistency and Recovery | David E. Lowell and Peter M. Chen, ``Free Transactions With Rio Vista'', Proceedings of the Sixteenth ACM Symposium on Operating System Principles, October 1997. |
| Thu | Aug | 5 | Project 3 DUE BEFORE 11:59 PM | |
| Fri | Aug | 6 | Final Exam Review | |
| Sat | Aug | 7 | Final Exam, 2:50pm - 5:40pm |
| Student ID (anonymous) | Prog 1 | Prog 2 | Prog 3 | Participation | MidTerm | Final | Grade % | Grade Letter |
| 01 | 90 | 99 | 100 | 5 | 93 | 84 | 93.6 | A |
| 02 | 85 | 100 | 90 | 5 | 81 | 78 | 87.0 | B |
| 03 | 90 | 98 | 95 | 5 | 95 | 89 | 94.1 | A |
| 04 | 100 | 100 | 100 | 5 | 92 | 75 | 91.8 | A |
| 05 | 95 | 100 | 100 | 5 | 75 | 88 | 90.5 | A |
| 06 | 100 | 100 | 100 | 5 | 86 | 77 | 90.8 | A |
| 07 | 100 | 100 | 100 | 4 | 60 | 82 | 84.5 | B |
| 08 | 100 | 100 | 100 | 5 | 74 | 68 | 85.5 | B |
| 09 | 100 | 98 | 100 | 1 | 78 | 73 | 83.4 | B |
| 10 | 100 | 100 | 100 | 5 | 60 | 81 | 85.3 | B |
| 11 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 |
| 12 | 0 | 0 | 0 | 1 | 0 | 0 | 1.0 | 0 |
| 13 | 100 | 100 | 100 | 0 | 71 | 73 | 81.0 | B |
| 14 | 100 | 100 | 100 | 0 | 57 | 56 | 73.3 | C |
| 15 | 95 | 100 | 100 | 5 | 79 | 75 | 88.3 | B |
| 16 | 100 | 100 | 100 | 1 | 90 | 89 | 90.8 | A |
| 17 | 90 | 100 | 100 | 5 | 81 | 52 | 82.8 | B |
| 18 | 100 | 100 | 100 | 5 | 87 | 87 | 93.5 | A |
| 19 | 85 | 100 | 95 | 5 | 90 | 91 | 93.5 | A |
| 20 | 100 | 100 | 97 | 5 | 77 | 72 | 86.7 | B |
| 21 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 |
| 22 | 100 | 100 | 100 | 5 | 89 | 87 | 94.0 | A |
| 23 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 |
| 24 | 100 | 100 | 100 | 4 | 70 | 72 | 84.5 | B |
| 25 | 100 | 100 | 100 | 0 | 81 | 85 | 86.5 | B |
| 26 | 100 | 98 | 100 | 5 | 89 | 86 | 93.4 | A |
| 27 | 100 | 100 | 100 | 5 | 53 | 76 | 82.3 | B |
| 28 | 0 | 0 | 0 | 5 | 0 | 0 | 5.0 | 0 |
| 29 | 100 | 100 | 100 | 5 | 96 | 93 | 97.3 | A |
| 30 | 100 | 100 | 100 | 5 | 86 | 82 | 92.0 | A |
| 31 | 80 | 99 | 90 | 3 | 71 | 69 | 79.8 | B |
| 32 | 100 | 100 | 100 | 5 | 70 | 54 | 81.0 | B |
| 33 | 90 | 100 | 100 | 5 | 81 | 84 | 90.8 | A |
| 34 | 100 | 100 | 100 | 5 | 98 | 100 | 99.5 | A |
| 35 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 |
| 36 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 |
| 37 | 100 | 100 | 100 | 5 | 92 | 82 | 93.5 | A |
| 38 | 100 | 100 | 90 | 5 | 70 | 78 | 85.0 | B |
| 39 | 95 | 100 | 40 | 5 | 63 | 81 | 73.8 | C |
| 40 | 100 | 100 | 80 | 5 | 70 | 64 | 79.5 | B |