CIS 481: Parallel & Distributed Software Systems, Spring 2026

Home    Lectures    Assignments    Links    Announcements


Lectures (tentative schedule - last updated 01/21/2026)

Week Lecture Date Topic Reading Homeworks etc.
1 1 01/27 Introduction to multithreaded, parallel and distributed systems; Atomic action Chap. 1.1-1.4, 1.9, 2.1 Threads examples: 1 , 2 , 3
2 01/29
2 3 02/03 Program state & program history; Safety and liveness properties Chap. 2.2-2.5

02/02 (Mon): Last Day to Add, Drop, or Audit
The MPD Language
, Parallel Algol

4 02/05
3 5 02/10

The at-most-once property; The await statement

Chap. 2.2-2.5 Further reading: JML, Proving Program Correctness
02/10: Homework #1 ???
6 02/12
4 7 02/17 Follow Monday's schedule: No Class Chap. 2.8, 3.1-3.2

02/17: Homework #1 Due ???
In-class exercise: scheduling policy
02/19: Homework #2 ???

8 02/19 Scheduling policies and fairness; the critical section problem
5 -- 02/24 The critical section problem, coarse-grained solution vs. fine-grained solution; Spin lock solution Chap. 3.2-3.3


9 02/26
6 10 03/03 Fine-grained solutiuons to the CS problem; Fair solutions (Tie-breaker algorithm, Ticket algorithm) Academic Calendar

03/03: Last day to file Pass/Fail
02/26: Homework #2 Due ???

11 03/05 Barrier synchronization; Data parallel algorithm Chap. 3.4, 3.5.1
7 12 03/10 Review for midterm exam (Chap. 1-3)

 

 
-- 03/12

Midterm exam (in class)

8 -- 03/16 Spring Vacation   03/13: Spring recess begins (after last class or lab)
9 13 03/24

Midterm exam questions; Semaphores and examples; Udding's starvation-free algorithm; Semaphore; Java Semaphore class

Chap. 4.1 Semaphore in Java, POSIX
14 03/26
10 15 03/31

Split binary semaphore; Bounded buffer example; Readers/Writers problem; Passing the baton technique

Chap. 4.2-4.5 Example: Reader/Writer Problem
04/02: Homework #3 (???)
16 04/02
11 17 04/07 Concept of monitors and examples; SW and SC semantics; Semaphore vs. monitor Chap. 5.1

04/06: Registration for Fall 2026 begins
Monitor Example: Readers/Writers
Tutorial: Synchronized Methods
04/09: Homework #3 Due (???)

18 04/09
12 19 04/14

More monitor examples, Priority wait, Java synchronized methods

Chap. 5.2, 7.1-7.2

04/07: Registration for Fall 2025 begins
04/1
6: Homework #4 (???)
04/17 (Fri): Last day to Withdraw from a class

20 04/16 Distributed programming; Asynchronous message passing vs. synchronous message passing
13 21 04/21 Convert a monitor into a server process; CSP programming notations Chap. 7.3, 7.5, 7.6

04/23: Homework #4 Due (???)
Example: Convert a monitor into a server process

22 04/23
14 23 04/28

CSP programming notations; CSP examples

Chap. 7.6, 7.7; Chap. 8.1-8.2, 8.5; Handout

04/28: Homework #5 (???)
Further reading: CSP (Hoare), Linda (Carriero), C-Linda, JavaSpaces, LAM/MPI

24 04/30 Linda and tuple space; Remote procedure call (RPC) and Java RMI
15 & 16 25 05/05 Review for final exam (comprehensive); Discussions on Homework #3 and #4  

Single Lane Bridge Demo
A Simple RMI Example
BBS Example Using RMI
05/05: Last day of Spring classes

-- 05/12 Final exam*: Tuesday, May 12, 8:00am - 11:00am, DION 116  

05/06: Study Day
05/07: Final exams begin
05/13
: Final exams end

05/16: Final Grade Due

*Please refer to final exam schedule at: http://www.umassd.edu/registrar/finalexams/


Comments

Valid XHTML 1.0!