ECE 570/670 - (Advanced) System Software Design
University of Massachusetts Amherst
The College of Engineering
Department of Electrical and Computer Engineering
UMass Amherst

Calendar Staff Assignments Projects
Resources Feedback


The table below lists the topics we will discuss in class.  Please note that links require a username and password, which I will supply in class on the first day.  If you experience problems accessing any of the assigned papers, please let your professor know as soon as possible.

Lecture slides will be posted after each class in PDF format.  Note that all future dates are tentative and subject to change!

1/24: Course Overview [slides]
1/26: Finish Overview and Processes [slides]

1/31: Atomic Actions, Mutexes, and Locks [slides] [code example]
Hints for Computer System Design
2/2: Monitors and CVs [slides]
Why Events Are A Bad Idea (for high-concurrency servers)
 Assignment 0 out
2/7: Snow Day!
2/9: Producer/Consumer and R/W Locks [slides]
The Unix Time-Sharing System
Assignment 0 due Sunday 2/11 at 11:59pm

Assignment 1 out
2/14: Finish R/W Locks and Semaphores [slides]
Virtualization Considered Harmful:
OS Design Directions for Well-Conditioned Services

2/16: Implementing Threads and Locks [slides]
End to End Arguments in Systems Design
2/21: Implementing Threads and Locks [slides]
Eraser: A Dynamic Data Race Detector for Multithreaded Programs
2/23: Finish Implementing Threads and Locks [slides]

2/28: CPU Scheduling and Threads [slides]
  Lottery Scheduling: Flexible Proportional-share Resource Management
Assignment 1 (first part) due Wednesday 2/28 at 11:59pm
3/2: Finish CPU Scheduling and Threads [slides]
Scheduler Activations: Effective Kernel Support for the 
User-Level Management of Parallelism

Monday, 3/5: Mid-term Review 7pm - 8pm in ILC S240 [slides]
Midterm Exam Study Guide

Wednesday, 3/7: Snow Day!
3/9: Midterm Exam in Class
2:30pm - 4:30pm
670 Project Proposals due Friday 3/9 at 11:59pm
3/14:  Spring Break 3/16: Spring Break
3/21: Address translation and paging [slides]
3/23: No class! Work on your assignment!
Out-of-Class Kernel Lab assigned
Lab Handout
Lab VM
Lab video
Assignment 1 (second part) due on Friday 3/23 at 11:59pm

3/28:  Address translation and paging [slides]
Assignment 2 out
3/30: Address Translation and Page Replacement [slides
4/4: Dual-mode operation and thrashing [slides]
Xen and the Art of Virtualization
4/6:  Virtual machines [slides]
Live Migration of Virtual Machines
4/11: Continue virtual machines [slides]
Memory Resource Management in VMware ESX Server

4/13: Finish virtual machines [slides]
Remus: High Availability via Asynchronous Virtual Machine Replication
Assignment 2 due 4/16
4/18: Stack Smashing/GDB tutorial [slides]
Assignment 3 out
4/20: Security [slides]
Enhancing Server Availability and Security Through Failure-Oblivious Computing
4/25: Devices/Files and File System [slides]
4/27: Files and File System [slides]
Assignment 3 due 5/1 at 11:59pm
670 Final Projects due at Exit Interview
5/3: Final Exam
Time: 3:30pm - 5:30pm
Room: Hasbrouck Lab Addition Room 126
5/4 - 5/9: ECE670 Project Exit Interviews