CIS 481: Parallel & Distributed Software Systems, Spring 2025

Home    Lectures    Assignments    Links    Announcements


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

Week Lecture Date Topic Reading Homeworks etc.
1 1 01/21 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/23
2 3 01/28 Program state & program history; Safety and liveness properties Chap. 2.2-2.5

01/28 (Tue): Last Day to Add, Drop, or Audit
The MPD Language
, Parallel Algol

4 01/30
3 5 02/04

The at-most-once property; The await statement

Chap. 2.2-2.5 Further reading: JML, Proving Program Correctness
02/04: Homework #1 ???
6 02/06
4 7 02/11 Scheduling policies and fairness; the critical section problem Chap. 2.8, 3.1-3.2

02/11: Homework #1 Due ???
In-class exercise: scheduling policy
02/13: Homework #2 ???

8 02/13
5 -- 02/18 Follow Monday's schedule: No Class Chap. 3.2-3.3


9 02/20 The critical section problem, coarse-grained solution vs. fine-grained solution; Spin lock solution
6 10 02/25 Fine-grained solutiuons to the CS problem; Fair solutions (Tie-breaker algorithm, Ticket algorithm) Academic Calendar

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

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

 
-- 03/06

Midterm exam (in class)

8 -- 03/10 Spring Vacation   03/11: Spring recess begins (after last class or lab)
9 13 03/18

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

Chap. 4.1 Semaphore in Java, POSIX
14 03/20
10 15 03/25

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

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

04/01: Registration for Fall 2024 begins
Monitor Example: Readers/Writers
Tutorial: Synchronized Methods
04/03: Homework #3 Due (???)

18 04/03
12 19 04/08

More monitor examples, Priority wait, Java synchronized methods

Chap. 5.2, 7.1-7.2

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

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

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

22 04/17
14 23 04/22

CSP programming notations; CSP examples

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

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

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

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

-- 05/06 Final exam*: Tuesday, May 6, 8:00am - 11:00am, Library Lecture Hall 206  

05/01: Study Day
05/02: Final exams begin
05/0
8: Final exams end

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


Comments

Valid XHTML 1.0!