Date |
Topic |
Required Reading |
Additional (non-required!) Reading |
Wed Aug 24 | Introduction | How to Read and Evaluate Technical Papers Efficient Readings of Papers in Science and Technology The Many Faces of Systems Research - And How to Evaluate Them | How to read a research paper How to Write a Good Systems Paper How (and How Not) to Write a Good Systems Paper You and Your Research The Rise of ``Worse is Better'' |
Mon Aug 29 | Historical Perspective | End-to-end arguments in system design Hints for computer system design | On System Design Observations on the development of an operating system |
Wed Aug 31 | OS Design | THE Nucleus Unix | Hydra: the kernel of a multiprocessor operating system |
Mon Sep 05 | Holiday! | | |
Wed Sep 07 | OS Design | Pilot Exokernel | Exokernel Performance The Linux Edge |
Mon Sep 12 | Memory Management | The working set model for program behavior Virtual memory, processes, and sharing in MULTICS | Background: Address Translation Background: Paging Background: TLB |
Wed Sep 14 | Memory Management | Memory Resource Management in VMware ESX Server Practical, transparent operating system support for superpages | Virtual memory management in the VAX/VMS operating system Converting a swap-based system to do paging in an architecture lacking page-referenced bits |
Mon Sep 19 | Communication | Implementing Remote Procedure Calls Lightweight Remote Procedure Call | U-Net: A User-Level Network Interface for Parallel and Distributed Computing |
Wed Sep 21 | Threads, Events, Concurrency | Why Threads Are A Bad Idea(for most purposes) Why Events Are A Bad Idea (for high-concurrency servers) Cooperative Task Management without Manual Stack Management or, Event-driven Programming is Not the Opposite of Threaded Programming | On the Duality of Operating System Structures SEDA: An architecture for well-conditioned, scalable Internet services. |
Mon Sep 26 | Threads, Events, Concurrency | Experiences with Processes and Monitors in Mesa Monitors: An Operating System Structuring Concept | |
Wed Sep 28 | Threads, Events, Concurrency | Scheduler Activations: Effective Kernel Support for the User-Level management of Parallelism Lottery scheduling: flexible proportional-share resource management | |
Mon Oct 03 | Reliability |
Why Do Computers Stop and What Can Be Done About It?
Improving the Reliability of Commodity Operating Systems
|
|
Wed Oct 05 | Concurrency Bugs |
Eraser: A dynamic data race detector for multithreaded programs
Learning from Mistakes - A Comprehensive Study on Real
World Concurrency Bug Characteristics
|
|
Mon Oct 10 | File Systems |
Fast File System
RAID
| |
Wed Oct 12 |
More File Systems |
Log-structured File System
Network File System
| |
Mon Oct 17 |
FS Consistency |
Optimistic Crash Consistency
|
Soft Updates
|
Wed Oct 19 |
Testing File Systems
|
All File Systems Are Not Created Equal: On the Complexity of Crafting Crash-Consistent Applications
|
SibylFS: formal specification and oracle-based testing for POSIX and real-world file systems
|
Mon Oct 24 | Exam! | | |
Wed Oct 26 | Non-volatile Storage |
Mnemosyne
|
Phase change technology and the future of main
memory
|
Mon Oct 31 | Holiday! INFLOW 16 | | |
Wed Nov 02 | Holiday! OSDI 16 | | |
Mon Nov 07 | Verification in Systems |
IronFleet: Proving Practical Distributed Systems Correct
|
Using Crash Hoare Logic for Certifying the FSCQ File System
|
Wed Nov 09 | Verification in Systems |
Push-Button
Verification of File Systems via Crash Refinement
|
Towards Optimization-Safe Systems: Analyzing the Impact of Undefined Behavior
|
Mon Nov 14 |
OSDI Talks |
Guest Lectures by grad
students Tyler
Hunt
and Youngjin
Kwon
|
TensorFlow
Machine Learning Tutorial Hidden Technical Debt in Machine Learning Systems |
Wed Nov 16 | Scaling Systems |
An Analysis of Linux Scalability to Many Cores
|
The scalable commutativity rule: designing scalable software for multicore processors
|
Mon Nov 21 | Datacenter Systems | Guest Lecture from Prof. Simon Peter | Arrakis |
Wed Nov 23 |
Thanksgiving! |
Holiday!
| |
Mon Nov 28 |
Transactions |
TxOS
|
TxLinux: Using and Managing Hardware Transactional
Memory in an Operating System
|
Wed Nov 30 | Energy |
Software-defined Batteries
|
Parasol and GreenSwitch: Managing Datacenters Powered by Renewable Energy
|
Mon Dec 05 | Project Presentation | | |
Wed Dec 07 | Project Presentation | | |