|
CS591
|
| In-class presentation(s) | 15% |
| Semester project proposal, milestone* and final report | 30% |
| Class projects and end of semester presentation / demonstration | 50% |
| Class participation | 5% |
* The project milestone is a mid-semester report that will act as a skeleton for the final report. It should be similar to the final report with any preliminary results included, where appropriate. You should try to write your final report in the same format as the papers we will read and discuss in the course. The best papers will be selected as potential candidates for submission to conferences.
Date |
Topic |
Reading |
Notes |
Presenter |
| January 12 | Introduction |
Discussion of course outline |
Instructor | |
| January 19 |
The Linux kernel, part 1
|
Bovet and Cesati, Chapters
1-3 |
Class rescheduled due to holiday. For those unfamiliar with kernel internals here is a primer to help you write system calls and kernel modules. |
Instructor |
| January 26 |
OS Structures |
[1] - [3] |
||
| February 2 |
Threads |
[4] - [8] |
||
| February 9 |
The Linux kernel, part 2 |
Project
proposals due
|
||
| February 17 |
Scheduling and synchronization |
[9] - [18] |
-- substitute class -- |
|
| February 23 |
Scheduling and synchronization |
[9] - [18] |
||
| March 1 | The Linux kernel, part 3
|
|||
| March 8 |
-- spring recess -- |
|||
| March 15 |
QoS and resource management |
[19] - [26] |
||
| March 22 |
Extensible systems |
[27] - [34] |
Project
milestones due
|
|
| March 29 |
Extensible systems / Virtual
machines |
[35] - [40] |
||
| April 5 |
Virtual machines | [35] - [40] |
||
| April 12 | Communication mechanisms and
abstractions |
[41] - [47] |
||
| April 21 |
Distributed systems concepts |
[48] - [50] plus additional
readings |
-- substitute class -- |
|
| April 26 |
Project presentations |
Project
reports due April 30 by 5:00pm
|
Student groups |
[2] 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.
[3] 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.
[5] S. Oikawa and H. Tokuda, " User-level Real-Time Threads ", Proceedings of the 11th IEEE Workshop on Real-Time Operating Systems and Software, Seattle, WA, May 1994.
[6] R. P. Draves, B.N. Bershad, R.F. Rashid, and R.W. Dean, "
Using Continuations to Implement Thread Management and Communication in
Operating Systems ", Proceedings of the Thirteenth ACM Symposium on
Operating Systems Principles, pages 122--136, October 1991.
[7] R. Engelschall, "Portable Multithreading: the Signal Stack Trick for User-Space Thread Creation", in Proceedings of the USENIX Annual Technical Conference, 2000.
[8] Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula, and
Eric Brewer, "Capriccio:
Scalable Threads for Internet Services", in Proceedings of the 19th
Symposium on Operating System Principles (SOSP-19), Lake George, New
York, October 2003.
[10] C. Liu and J. Layland, "
Scheduling Algorithms for Multiprogramming in a Hard Real-Time
Environment ", Journal of the ACM, 1973.
[11] J. Lehoczky, L. Sha, , and Y.
Ding, "The
Rate Monotonic Scheduling algorithm: Exact Characterization and Average
Case Behavior", in IEEE Real-Time Systems Symposium, 1989.
[12] A. Atlas
and A. Bestavros, "Statistical
Rate Monotonic Scheduling", in IEEE Real-Time Systems Symposium,
1998.
[13] L. Sha, R. Rajkumar, and J. Lehoczky, "Priority inheritance protocols: An approach to real-time synchronization", in IEEE Transaction on Computers, September 1990.
[14] Pawan Goyal, Xingang Guo and Harrick M. Vin, " A Hierarchical CPU Scheduler for Multimedia Operating Systems ", 2nd Symposium on Operating Systems Design and Implementation, pp. 107-121, 1996.
[15] Carl A. Waldspurger and William E. Weihl, "
Lottery Scheduling: Flexible Proportional-Share Resource Management
", First Symposium on Operating Systems Design
and Implementation (OSDI '94), Monterey, CA, November 1994.
[16] Richard West, Yuting Zhang, Karsten Schwan and Christian Poellabauer, "Dynamic Window-Constrained Scheduling of Real-Time Streams in Media Servers", to appear in IEEE Transactions on Computers, 2004.
[17] Aloysius K. Mok and Weirong Wang, "Window-Constrained Real-Time Periodic Task Scheduling", Proceedings of the 22nd IEEE Real-Time Systems Symposium, December 2001
[18] Kevin Jeffay and Gerardo Lamastra,
"A Comparative Study of the Realization of Rate-Based Computing
Services in General Purpose Operating Systems" .
[20] M. Jones, D. Rosu and M. Rosu, "
CPU Reservations and Time Constraints: Efficient, Predictable
Scheduling of Independent Activities ", Proc. of the 16th ACM
symposium on Operating System Principles, St-Malo, France, pp. 198-211,
Oct. 1997.
[22] J.A. Zinky, D.E. Bakken and R.E. Schantz, " Architectural Support for Quality of Service for CORBA Objects ", Theory and Practice of Object Systems, April, 1997. (See also: http://www.dist-systems.bbn.com/tech/QuO/ ).
[23] Tarek F. Abdelzaher and Kang G. Shin, `` End-host Architecture for QoS-Adaptive Communication '', IEEE Real-Time Technology and Applications Symposium, Denver, Colorado, June 1998.
[24] Ashvin Goel, David Steere, Calton Pu and Jonathan Walpole, " SWiFT: A Feedback Control and Dynamic Reconfiguration Toolkit ", OGI CSE Technical Report 98-009, poster presented at 2nd Usenix Windows NT Symposium, September 1998. (See also the Quasar project at OGI, http://www.cse.ogi.edu/sysl/ , for a detailed list of related papers).[25] David C. Steere, Ashvin Goel, Joshua Gruenberg, Dylan McNamee, Calton Pu and Jonathan Walpole, " A Feedback-driven Proportion Allocator for Real-Rate Scheduling " Operating Systems Design and Implementation (OSDI), Feb 1999.
[26] Chenyang Lu, Tarek F. Abdelzaher, John A. Stankovic, and Sang
H.
Son,
"A Feedback Control Approach for Guaranteeing Relative Delays in Web
Servers" .
[27] Chris Small and Margo Seltzer,
"A Comparison of OS Extension Technologies" .
[28] M. I. Seltzer, Y. Endo, C. Small and K. A. Smith, "Dealing
with Disaster: Surviving Misbehaved Kernel Extensions",
in Proceedings of the 2nd Symposium on Operating Systems Design and
Implementation (OSDI), 1996.
[30] M. Clarke and G. Coulson, "An Architecture for Dynamically Extensible Operating Systems", in Proceedings of the 4th International Conference on Configurable Distributed Systems (ICCDS'98), Annapolis, MD, USA, May 1998.
[31] Tzi-cker Chiueh and Ganesh Venkitachalam and Prashant Pradhan, "Integrating
Segmentation and Paging Protection for Safe, Efficient and Transparent
Software Extensions", in Proceedings of the Symposium on Operating
Systems Principles, 1999.
[32] Michael Jones,
"Interposition Agents: Transparently Interposing User Code at the
System Interface" .
[33] Richard West and Jason Gloudon, "User-Level
Sandboxing: A Safe and Efficient Mechanism for Application-Specific
Extensions", submitted for publication.
[34] Peter Druschel, Vivek Pai and Willy Zwaenepoel, "Extensible Kernels are Leading OS Research Astray" .
[42] D.A. Wallach, W.C. Hsieh, K.K. Johnson, M.F. Kaashoek and W.E. Weihl, " 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.
[43] A. Montz, D. Mosberger, S.W. O'Malley, L.L. Peterson, T.A. Proebsting and J.H. Hartman, " Scout: A Communications-Oriented Operating System ", The University of Arizona, Department of Computer Science, TR 94-20, June 1994.[44] N.C. Hutchinson and L.L. Peterson, " The x-Kernel: An Architecture for Implementing Network Protocols ", IEEE Transactions on Software Engineering, 17, 1, pgs. 64-76, January 1991.
[45] Deborah A. Wallach, Dawson R. Engler, and M. Frans Kaashoek, "
ASHs: Application-specific Handlers for High-performance Messaging
", ACM Communication Architectures, Protocols, and Applications
(SIGCOMM '96).
[46] Thorsten von Eicken, Anindya Basu, Vineet Buch, Werner Vogels: "U-Net: A User-Level Network Interface for Parallel and Distributed Computing", Symposium of Operating System Principles, 1995: 40-53
[47] E. Kohler, R. Morris, B. Chen, J. Jannotti and M.
Frans Kaashoek, "The
Click Modular Router", ACM Transactions on Computer Systems, 18(3),
August 2000, pp 263-297.
[49] Mustaque Ahamad, Gil Neiger, Prince Kohli, James Burns and Phil Hutto, " Causal Memory: Definitions, Implementation and Programming ", Distributed Computing, 9(1):37-49, Aug 1995.
[50] P. Keleher, A. Cox and W. Zwaenepoel, " Lazy
Release Consistency for Software Distributed Shared Memory ", Proc.
of the Twentieth International Symposium on Computer Architecture, 1993.
[51] R. Haskin, Y. Malachi, W. Sawdon, and G. Chan, "Recovery
Management in Quicksilver", ACM Transactions on Computer Systems, 6(1),
Feb. 1998, pp 82-108.
[52] M. D. Schroeder and M. Burrows, "Performance of the Firefly
RPC", in Proc. of the 12th Symposium on Operating System Principles,
1989.
[53] D. Mills, "Improved Algorithms for Synchronizing Computer
Network Clocks", IEEE/ACM Transactions on Networks, 3(3), Jun. 1995, pp
245-254.
[54] M. Raynal and M. Singhal, "Logical Time: Capturing Causality in
Distributed Systems", in IEEE Computer, 29(2), Feb. 1996, pp 49-56.
[55] M. Chandy and L. Lamport, "Distributed Snapshots: Determining
Global States of Distributed Systems", ACM Transactions on Computer
Systems, 3(1), Feb. 1985, pp 63-75.
[56] R. Schwarz and F. Mattern, "Detecting Causal Relationships in
Distributed Computations: In Search of the Holy Grail", Distributed
Computing, 1994.
[58] Shrimp: http://www.cs.princeton.edu/shrimp/
[59] Beowulf: http://www.beowulf.org/
[60] QoSockets: http://www.cs.columbia.edu/dcc/qosockets/
[61] DWCS: http://www.cs.bu.edu/fac/richwest/dwcs.html
[62] User-Level Sandboxing: http://www.cs.bu.edu/fac/richwest/sandboxing.html
[63] Familiar Linux: http://www.handhelds.org/geeklog/index.php
[64] LegOS: http://www.noga.de/legOS/
[65] Plex86: http://plex86.sourceforge.net/
[66] Bochs IA-32 Emulator: http://bochs.sourceforge.net/
[67] User-Mode Linux: http://user-mode-linux.sourceforge.net/