CSc 422 -- Introduction to Parallel and Distributed Programming

Spring, 2009

Instructor

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

Teaching Assistant

Jordan Marshall; email: marshall@cs.arizona.edu
Office Hours: Monday 1:00-3:00, Wednesday 1:30-2:30 in GS 710, cubicle B

Textbook

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

Planned Lecture Schedule

1. 1/15 Concurrent programming concepts; overview of course
2. 1/20 Techniques for parallelizing programs
3. 1/22 Synchronization, atomic actions, await statements
4. 1/27 Pthreads library and MPD language
5. 1/29 Formal semantics; avoiding interference; properties
6. 2/3 Critical sections: spin locks
7. 2/5 Critical sections: efficient locks; fair solutions; lock alternatives
8. 2/10 Parallel programming; bag of tasks paradigm
9. 2/12 Semaphores: basic concepts and uses
10. 2/17 Semaphores: the method of passing the baton
11. 2/19 Semaphores: scheduling; use in Pthreads
12. 2/24 Parallel scientific computing
13. 2/26 Barrier synchronization
14. 3/3 Multiprocessor implementations; review for exam
15. 3/5 EXAMINATION 1
16. 3/10 Monitors: basic concepts
17. 3/12 Monitors: synchronization techniques
--- Spring Break
18. 3/24 Monitors: programming in the large; tools
19. 3/26 Message passing: basic concepts and examples
20. 3/31 Message passing: clients and servers
21. 4/2 Message passing: interacting peers
22. 4/7 Message passing in Java, MPD, and MPI
23. 4/9 Remote operations: RPC and rendezvous
24. 4/14 Remote operations: tools; implementation; Java RMI
25. 4/16 Programming distributed systems
26. 4/21 Paradigms: manager/worker; heartbeat; pipeline
27. 4/23 Paradigms: broadcast; token-passing; replicated servers
28. 4/28 Paradigms: map/reduce; review for exam
29. 4/30 EXAMINATION 2
30. 5/5 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/27 due 2/10
Homework 2 assign 2/12 due 2/24
Parallel Project assign 2/24 programs due 3/12; reports due 4/2
Examination 1 Thursday, March 5
Homework 3 assign 4/2 due 4/14
Homework 4 assign 4/16 due 4/28
Distributed Project assign 4/16 proposal due 4/19; demo or paper due 5/14
Examination 2 Thursday, April 30

Honors Section

There will be an extra 50-minute meeting per week for the honors section beginning on Monday, January 26. 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.

I will allow up to two late days (cumulative) on due dates for assignements. If you turn an assignment in by the end of the day on which it is due, that will count as 1/2 late day; by first thing the following morning as 1 late day; and so on.

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 Voltron, 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/spring09. 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/spring09/

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 14, 2009