CSc 422 -- Introduction to Parallel and Distributed Programming

Spring, 2002

Instructor

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

Teaching Assistant

Vijaykumar Venkatraman; email: vvijayk@cs.arizona.edu

Textbook

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

Planned Lecture Schedule

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

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/24 due 2/5
Homework 2 assign 2/7 due 2/19
Parallel Project assign 2/19 due 3/5
Examination 1 Thursday, March 8
Homework 3 assign 3/28 due 4/9
Homework 4 assign 4/11 due 4/23
Distributed Project assign 4/11 due 5/6
Examination 2 Thursday, April 25

Honors Section

There will be an extra 50-minute meeting per week for the honors section beginning the week of January 21. Time and place to be arranged. 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; in short, all work 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. Use it to post general questions. We will post answers and other general information there so all of you can see them.

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/spring02/

Book Web Page. The home page for the textbook contains lots of information that you might find useful. There is a link on the class home page. The URL is

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


Last updated January 10, 2002