CISC 372 Parallel Programming
(Fall 2007 )

course banner grading info course requirements links and study guides course info course info

Final Grades

Meeting Times: Mondays, Wednesdays, Fridays 11:15 AM - 12:05 PM (3 hours) Gore 102

Instructor: Lori Pollock pollock cis udel edu 436 Smith Hall (831-1953)
Office Hours: 2:30-3:30 Mondays and Wednesdays and by appointment.

Teaching Assistant: Rob Keller, rjk udel edu
Office Hours: Thursdays 3-4:30, 102 Smith

course information

Course Prerequisites
CISC 220 Data Structures

Course Objectives
At the end of this course, the student should be able to:

Course Topics

MPI Concepts

Required Textbook
Michael J. Quinn, Parallel Programming in C with MPI and OpenMP, McGraw Hill, 2004.

References

Programming Environment and Computer Usage

We will write parallel programs primarily using MPI (Message Passing Interface). MPI is a library of routines that allows programs running in parallel to talk to each other, and send data back and forth. These programs will be compiled and executed on a dedicated network of linux PCs on the CIS network. You must obtain an account on this cluster as soon as possible. Go to https://www.eecis.udel.edu/wiki/ececis-docs/index.php/Site/UserAccounts, read the information there about user accounts, and click on "Account Form". Ask for an academic account for MPI parallel programming. Department: CIS; Classification: Undergraduate; Use: for MPI programming on the cluster for cisc 372. ECE-Academic/ECL. Lori as Faculty Contact. If you already have an ECL account, you do not have to reapply. When using the cluster login by ssh to "porsche.cis.udel.edu".

top of page

course requirements

Course Requirements and Grade Weights
  • (65%) Laboratory exercises and group projects.
    • (32%) Individual programming exercises
    • (8%) Team Programming Labs
    • (5%) Team case studies of collective communications
    • (20%) Team Experimental Study
      • (3%) Deliverable 1 - Question, Hypothesis, Design
      • (7%) Deliverable 2 - Implementation
      • (5%) Deliverable 3 - Group Oral Presentation
      • (5%) Deliverable 4 - Experiments and Experiment Report
  • (5%) Weekly Quizzes
  • (15%) First Examination.
  • (15%) Second Examination.

Weekly Quizzes
The goals of the weekly quizzes are:
  • Reinforce the concepts in recent classes and readings.
  • Assess individual student understanding of recent topics/skills.
  • Encourage class preparation.

Each quiz will take about 5 minutes at the beginning of class. It will contain 1-2 short questions based on recent class discussions and readings. There will be a quiz every Wednesday, unless announced otherwise. The quiz will focus on the previous week's classroom and reading topics. Each student's lowest two quiz grades will not be counted toward their final grade. Thus, there WILL BE NO MAKEUP quizzes. Any missed quizzes will be count ed as zeros in the grading scheme above. Thus, if you miss more than two quizzes, all additional missed quizzes and all other quiz grades will be counted toward your final grade.

top of page

grading information

Assignment Submission

Work to be graded must be given to the instructor by the start of class on the due date, in order to have no points deducted for lateness. The due dates are to be taken seriously and you should not expect them to be extended. The pace of work is implicit in the due dates and necessary if you expect to finish by the end of the semester. NO late work will be accepted FOR FULL CREDIT without discussion with me prior to the due date. If you can not reach me, leave a message on my v oicemail or email. All other assignments not delivered by the due date are considered late.

My philosophy on late assignments is: (1) Everyone should try their best to complete all assignments by the specified due date. (2) People who work conscientiously to make the deadlines should be rewarded for their promptness and sacrifice of sleep. Thus, allowing others to hand in late assignments without some penalty is not fair to these people. However, there are various circumstances that may prevent you from completing an assignment by the due date. Allowing no late assignments would not give you much incentive to continue to work on the assignment, which is a major source of learning in this course. Thus, I believe late assignments are better than no assignment.

Late assignments will be penalized 2% off the total possible points if turned in within the first 24-hour period after the specified due date and time, and 5% per 24-hour period (or fraction of a day) (including weekends) after that time, up to a week after the due date. Late assignments will be accepted with penalty up to one week after the due date. Assignments submitted at any later time without an approved excuse will not be accepted. It is up to you to determine the version of your assignment to be graded. You must weigh the late penalty against the completeness of your assignment.

Regrading Policy

If you are dissatisfied with a grade on any work handed in, you should consult the instructor directly within a week of the day the graded assignment was returned to you. No regrade requests will be considered after this week period.

Posting Grades

With your permission, grades will be posted periodically (by your secret code) on the course website. Questions about accuracy of recorded grades should be addressed to me.

Policy on Academic Dishonesty

You are permitted to consult with other students and professors on any conceptual problems and projects designated as group work. You should not be downloading solutions from the internet to be turned in as your own work. Any evidence of collaboration other than this kind will be handled as stated in the Official Student Handbook of the University of Delaware. If you are in doubt regarding the requirements, please consult with me before you complete any requirement of this course.

Email Questions

I have found that the quickest way to resolve ambiguities and answer questions on homework and programming assignments is via email. Any questions sent to pollock@cis will be posted anonymously with an answer via email to the entire class, and on the course Blog. One or more classmates as well as the instructor may offer an answer or expand the discussion.

Handouts
All assignment sheets, deadlines, and readings will be posted on the course web site. Many of the handouts and notes from classtime will not be posted on the website; you may pick up copies of handouts from missed classes in my office during office hours.

Cell phones and Laptop Use
Cell phones and laptops should be turned off throughout classtime. In-class group work may involve some shared laptop use; you will be notified in advance when some laptops will be needed.

top of page

course calendar

Date Topic Readings Assignment
W:8/29  Syllabus,Introductions
 
Syllabus Apply for cluster account
F:8/31 Thinking in Parallel Chapter 1 Individual Lab 1 OUT
M:9/3 NO CLASS
Labor Day
W:9/5 More Thinking in Parallel
Quiz
F:9/7 Basic Parallelism Concepts Chapter 1 Individual Lab 1 IN
M:9/10 Parallelism Paradigms
Task Dependency Graphs
9/11 Last day to add
Chapter 4 Individual Lab 2 OUT
W:9/12 SPMD Programming
Live simulation
Chapter 4 Quiz
F:9/14 Simple Message Passing and its Implementation
M:9/17 Examples of
Message Passing Programs
Handouts Individual Lab 2 IN
W:9/19 Collective Communication
Overview
Ben,Joe,PeterP: Bcast and Reduce
Appendix A
MPI Online Manual
Sections 4.5, 5.5
Group Collective Communication Presentation
Quiz
F:9/21 Collective Communication:
Eric,Rob,MikeO: Scatter
Shailesh,PeterH, MikeS: Gather
Brandon,Justin,MikeC: Scatterv and Gatherv
Sections 8.5 Extra Credit OUT
M:9/24 Collective Communication:
Trevor,Brian,Doug: AlltoAll
Dan,Keith,Blake: AlltoAllv
Section 8.5
W:9/26 Shannon,Brennen: Allgather and Allgatherv
Rosh, Anshu,Zack: Allreduce
Extra Credit Solutions
Section 8.4 Quiz
Extra Credit IN
Individual Lab 3 OUT
F:9/28
Collectives Review
Discuss extra credit
Collective Communication
Review Homework
M:10/1 Modes of Message Passing
Send, Bsend, Rsend, Ssend
Section 6.5
MPI Manual and Handout
Tuesday:
Individual Lab 3 part a IN
W:10/3 Stencil Computations
Data Decompositions
Sections 3.1, 3.3 Quiz
F:10/5 Case Study in Data Decomposition Chapter 8 Individual Lab 3 All IN
Question Set OUT
M:10/8 Case Study: Tradeoffs in Parallelism
Group Lab 4 OUT
W:10/10 Finish Case Study
Review Questions Prep
Bring Textbooks and Notes to Class

Quiz
F:10/12 Review Jeopardy Questions Sets Due
M:10/15 Volunteer Computing
for Drug Design

Michela Taufer
W:10/17 Verification of MPI Programs
Stephen Siegel
NO QUIZ!!
F:10/19 MIDTERM EXAM MIDTERM EXAM MIDTERM EXAM
M:10/22 In class project discussions
10/23 Last day to drop w/o penalty
Group Lab 4 IN
Group Research Project OUT
W:10/24 Manager-Worker Paradigm
Understanding The Problem
In-class activity
Chapter 9 Quiz on 2 guest speakers
F:10/26
NO CLASS
Fall break
M:10/29 Manager-Worker Paradigm
In-class developed solutions
Document Classification
Chapter 9
W:10/31 Finish Document Classification Discussion
Nonblocking communications:
Overview of commands
Chapter 9 Quiz
F:11/2 Using nonblocking communication:
Looking at examples
Chapter 9 Research Deliverable 1 IN
M:11/5 Nonblocking communication
10/23 Last day to drop w/o penalty
Chapter 9
W:11/7 Automatically transforming MPI codes
to improve performance
Slides Quiz
F:11/9 Parallel Architectures
Chapter 2
M:11/12 Performance Evaluation
Chapter 7
W:11/14 Performance Evaluation
Chapter 7 Quiz
F:11/16 Shared Memory Programming
Intro to OpenMP
Chapter 17
M:11/19 OpenMP Continued:
Looking at examples
W:11/21 Project Group Work Day
Chapter 18 Research Deliverable 2 IN
NO QUIZ
F:11/23
NO CLASS
Thanksgiving Break
M:11/26 Research Project
Presentations
A-Team
Course Evaluations
W:11/28 Research Project
Presentations
Blake,Mike,Justin,Brandon
Doug and Ben

Quiz
F:11/30 Research Project
Presentations
Eric,MikeO,PeterP
Shannon,Brian,Trevor,Brennen
M:12/3 Research Project
Presentations
Dan,Rosh,Keith,Joe
W:12/5 SECOND EXAM (study guide)
Last Day of Classes
SECOND EXAM Research Deliverable 4 IN

top of page

links and study guides

Handouts

Peer Evaluation Form for Group Projects

MPI Resources

A Guide to MPI on the UD CIS Linux Cluster

MPICH man pages at Argonne National Laboratory

Resources from Oak Ridge National Laboratory

MPI Standard and other links at Argonne National Laboratory

Graphing and Presentation Resources

Making graphs with MS Excel

Making graphs with MS Word

References

Designing and Building Parallel Programs, by Ian Foster

 

Course Information | Course Requirements | Grading/Policies | Calendar | Links and Study Guides
 
University of Delaware home page
University of Delaware