CSc 422 -- Introduction to Parallel and Distributed Programming

Spring, 2005

Instructor

Greg Andrews: Gould-Simpson 705; email: greg@cs.arizona.edu
Office Hours: Monday 2:00-4:00, Thursday 2:00-3:00, and by appointment

Teaching Assistant

Ken Sung; email: sung@cs.arizona.edu

Textbook

Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 2000

Planned Lecture Schedule

1. 1/13 Concurrent programming concepts; overview of course
2. 1/18 Techniques for parallelizing programs
3. 1/20 Synchronization, atomic actions, await statements
4. 1/25 Pthreads library and MPD language
5. 1/27 Formal semantics; avoiding interference; properties
6. 2/1 Critical sections: spin locks
7. 2/3 Critical sections: efficient locks; fair solutions; wait-free synchronization
8. 2/8 Parallel programming; bag of tasks paradigm
9. 2/10 Semaphores: basic concepts and uses
10. 2/15 Semaphores: the method of passing the baton
11. 2/17 Semaphores: scheduling; use in Pthreads
12. 2/22 Parallel scientific computing
13. 2/24 Barrier synchronization
14. 3/1 Multiprocessor implementations; review for exam
15. 3/3 EXAMINATION 1
16. 3/8 Monitors: basic concepts
17. 3/10 Monitors: synchronization techniques
--- Spring Break
18. 3/22 Monitors: programming in the large; tools
19. 3/24 Message passing: basic concepts and examples
20. 3/29 Message passing: clients and servers
21. 3/31 Message passing: interacting peers
22. 4/5 Message passing in Java, MPD, and MPI
23. 4/7 Remote operations: RPC and rendezvous
24. 4/12 Remote operations: tools; implementation; Java RMI
25. 4/14 Programming distributed systems
26. 4/19 Peer-to-Peer computing
27. 4/21 Broadcast algorithms; token-passing algorithms
28. 4/26 Distributed parallel programming; review for exam
29. 4/28 EXAMINATION 2
30. 5/3 Summary; hot topics and coming attractions

Assignments and Exams

Homework sets (4) -- 40 points each, 40% of grade
Projects (2) -- 60 points each, 30% of grade
Examinations (2) -- 60 points each, 30% of grade

The total for all assignments and exams is 400 points. Your final grade will be determined by how well you do. If you get at least 90% of the possible points, you will get an A; if you get at least 80% you will get a B; and so on. The final lines might be drawn slightly below these levels.

Schedule of Assignments and Exams

Homework 1 assign 1/25 due 2/8
Homework 2 assign 2/10 due 2/22
Parallel Project assign 2/22 due 3/10 (programs) and 3/29 (report)
Examination 1 Thursday, March 3
Homework 3 assign 3/31 due 4/12
Homework 4 assign 4/14 due 4/26
Distributed Project assign 4/14 due 4/19 (proposal) and 5/10 (demo or paper)
Examination 2 Thursday, April 28

Honors Section

There will be an extra 50-minute meeting per week for the honors section beginning on Friday, January 21. During the sessions we will go into some topics in more depth and explore additional topics.

Policies

You are responsible for all material covered in lectures.

You may discuss the meanings of problems with classmates, but you must develop your own answers and programs. All work that you turn in must be your own. The one exception is that you will be allowed to work with one other classmate on the two projects. If in doubt, refer to the University's "Code of Academic Integrity" or ask the instructor.

Assignments must be turned in during class on the dates they are due, unless you have received permission in advance for an extension. Examinations must be taken in class on the date they are given, unless you have received permission in advance.

Accounts and Electronic Resources

If you do not already have an account on Lectura, apply for one immediately. Later in the term you will be given an account on Parallel, a shared memory multiprocessor.

Email. See the instructor or send him email when you have questions about the lectures, homework assignments, grading etc. See the TA or send him email when you have questions about homework grading.

Newsgroup. The class newsgroup is cs.course422. Subscribe to it now. You may use it to post general questions about assignments. We will use it to post answers, updates on assignments, etc.

Class Directory. The home directory for the class is /home/cs422. Copies of handouts, programs, and other information are stored there.

Class Web Page. The home page for the class contains course-related information, including links to this syllabus, information on hardware and software tools, and copies of all assignments. The URL is

   http://www.cs.arizona.edu/classes/cs422/spring05/

Book Web Page. The home page for the textbook contains lots of information that you might find useful, including source code for all the programs in case study sections. There is a link on the class home page. The URL is

   http://www.cs.arizona.edu/people/greg/mpdbook


Last updated January 12, 2005