| Date | Topic/Slides | Reading | Announcements |
| Mon May 15: |
No class |
|
|
| Wed May 17: |
Introduction Processes Overview
|
Silberschatz and Galvin Chapter 3.1-3.4 |
|
| Fri May 19: |
Intro to Threads |
Birrell "An Introduction to Programming with Threads" |
|
| Mon May 22: |
Birrell, continued |
|
|
| Wed May 24: |
Multithreading & Thread Design Patterns |
Silberschatz 4.1-4.2, Lewis & Berg Ch.13, Nichols, et al. Ch. 2 |
|
| Fri May 26: |
Intro to Pthreads |
Thread creation example, Producer/Consumer example |
Homework 1 out Project 1 out |
| Mon May 29: |
no class - Memorial Day
|
|
|
| Wed May 31: |
Context Switch details
Scheduling |
Silberschatz 4.4.1, 4.4.4-4.6, Lewis & Berg Ch. 5 Silberschatz Ch. 5.1-5.6 |
class will start at 9:30am |
| Fri Jun 2: |
Scheduling cont'd Scheduling in CMTs
(talk slides) |
Silberschatz Ch. 5.1-5.6 Chip Multithreading Systems Need a New Operating System Scheduler |
|
| Mon Jun 5: |
Fork, Thread-safe libraries
Synchronization constructs |
Silberschwatz Ch.4.4.1 Silberschatz Chapter 6.1-6.8, Lewis & Berg Ch.6 |
Homework 1 due |
| Wed Jun 7: |
Synchronization Con't: Serializers, Path Expressions, RWLocks, and Semaphores |
Bloom's paper |
|
| Fri Jun 9: |
Deadlocks and Priority Inversion |
Silberschatz Ch. 7
(Reference only: What Really Happened on Mars?) |
|
| Mon Jun 12: |
Kernel thread implementation |
Eykholt et al. paper on Multithreading the SunOS kernel |
|
| Wed Jun 14: |
User-level thread
library implementation discussion |
Stein and Shah "lightweight threads" paper |
|
| Fri Jun 16 |
Psyche threads |
First-class
user-level threads paper |
Homework 2 due |
| Mon Jun 19: |
MIDTERM
|
|
Project 1 due |
| Wed Jun 21: |
Spinlocks for SMPs |
Performance of Spinlock Alternatives for SMPs
|
|
| Fri Jun 23: |
Anderson con't. |
|
Drop Date |
| Mon Jun 26: |
Webserver Architecture discussion |
Flash: an Efficient and Portable Web Server", by Pai et al. See also the talk
slides. |
|
| Wed Jun 28: |
Webserver Architecture continued. Apache model
Threads vs. Events |
Tanenbaum and Van Steen 11.1
(Reference only: Why Threads Are a Bad Idea (for most purposes) Why Events Are a Bad Idea (for high-concurrency servers)) |
|
| Fri Jun 30: |
User-level IPC for SMPs |
Bershad et al. paper |
|
| Mon Jul 3: |
no class |
|
|
| Wed Jul 5: |
RPC |
Implementing Remote Procedure Calls
|
|
| Fri Jul 7: |
Sun RPC tutorial |
handouts given in class |
|
| Mon Jul 10: |
Advances in RPC (asynchronous RPC, RMI) Java RMI |
A Note on Distributed Computing by Waldo, Wyant, Wollrath, Kendall. A Distributed Object Model for the Java System" - Java RMI paper |
Project 2 due Homework 3 out Project 3 out |
| Wed Jul 12: |
Distributed File Systems |
Tanenbaum Ch. 10 (2002 edition), Silberschatz and Galvin Ch. 17 handout |
|
| Fri Jul 14: |
Distributed File Systems cont'd, NFS |
|
|
| Mon Jul 17: |
Distributed File Systems case studies: Sprite |
The Sprite file system (recommended paper: Caching in the Sprite Distributed File System by Nelson et al.) |
|
| Wed Jul 19: |
Distributed Shared Memory |
Reference paper:Distributed Shared Memory: Concepts and Systems
Tanenbaum, Ch. 6.2 |
|
| Fri Jul 21: |
Distributed Shared Memory |
Reference paper:Distributed Shared Memory: Concepts and Systems
Tanenbaum, Ch. 6.2 (handout in class) |
Homework 3 due |
| Mon Jul 24: |
no class |
|
Project 3 due |
| Wed Jul 26: |
Hot Topics |
|
Project 3 due Thur. 7/27 |
| Fri Jul 28: |
Wrap up and Review |
DSM consistency sample problems |
|
| Tue. Aug 1: |
FINAL EXAM |
two hours, closed-notes, closed-book starting from midterm up to DSM, plus basic threads programming; hot topics may appear as extra credit question. |
11:30-1:30pm, CCB 102 |