CS-380L: Schedule

Date Topic Required Reading Additional (non-required!) Reading
Wed Aug 24IntroductionHow 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 29Historical PerspectiveEnd-to-end arguments in system design
Hints for computer system design
On System Design
Observations on the development of an operating system
Wed Aug 31OS DesignTHE
Hydra: the kernel of a multiprocessor operating system
Mon Sep 05Holiday!
Wed Sep 07OS DesignPilot
Exokernel Performance
The Linux Edge
Mon Sep 12Memory ManagementThe working set model for program behavior
Virtual memory, processes, and sharing in MULTICS
Background: Address Translation
Background: Paging
Background: TLB
Wed Sep 14Memory ManagementMemory 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 19CommunicationImplementing Remote Procedure Calls
Lightweight Remote Procedure Call
U-Net: A User-Level Network Interface for Parallel and Distributed Computing
Wed Sep 21Threads, Events, ConcurrencyWhy 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 26Threads, Events, ConcurrencyExperiences with Processes and Monitors in Mesa
Monitors: An Operating System Structuring Concept
Wed Sep 28Threads, Events, ConcurrencyScheduler Activations: Effective Kernel Support for the User-Level management of Parallelism
Lottery scheduling: flexible proportional-share resource management
Mon Oct 03Reliability Why Do Computers Stop and What Can Be Done About It?
Improving the Reliability of Commodity Operating Systems
Wed Oct 05Concurrency Bugs Eraser: A dynamic data race detector for multithreaded programs
Learning from Mistakes - A Comprehensive Study on Real World Concurrency Bug Characteristics
Mon Oct 10File Systems Fast File System
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 24Exam!
Wed Oct 26Non-volatile Storage Mnemosyne
Phase change technology and the future of main memory
Mon Oct 31Holiday!
Wed Nov 02Holiday!
Mon Nov 07Verification in Systems IronFleet: Proving Practical Distributed Systems Correct
Using Crash Hoare Logic for Certifying the FSCQ File System
Wed Nov 09Verification 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 16Scaling Systems An Analysis of Linux Scalability to Many Cores
The scalable commutativity rule: designing scalable software for multicore processors
Mon Nov 21Datacenter SystemsGuest Lecture from Prof. Simon PeterArrakis
Wed Nov 23 Thanksgiving! Holiday!
Mon Nov 28 Transactions TxOS
TxLinux: Using and Managing Hardware Transactional Memory in an Operating System
Wed Nov 30Energy Software-defined Batteries
Parasol and GreenSwitch: Managing Datacenters Powered by Renewable Energy
Mon Dec 05Project Presentation
Wed Dec 07Project Presentation