Computer Science 400
Parallel Processing and High Performance Computing

Fall 2017, Siena College

Lab 12: Performance
Due: 11:59 PM, Monday, November 13, 2017

Now with our C programming, MPI, and pthread skills well-practiced, it's time to look at some of the underlying issues in parallel computing. In this lab, we will look at performance, which includes concepts such as speedup, efficiency, Amdahl's law, and scalability.

You may work alone or with a partner on this lab.

Getting Set Up

You will receive an email with the link to follow to set up your GitHub repository performance-yourgitname for this Lab. One member of the group should follow the link to set up the repository on GitHub, then that person should email the instructor with the other group members' GitHub usernames so they can be granted access. This will allow all members of the group to clone the repository and commit and push changes to the origin on GitHub. At least one group member should make a clone of the repository to begin work.

Readings

Read Section 2.6 of Pacheco.

Questions

Question 1: Pacheco Exercise 2.16, p. 79. (15 points)

Question 2: Pacheco Exercise 2.17, p. 79. (5 points)

Question 3: Pacheco Exercise 2.18, p. 79. You may consider any 2 programs (not 3 as in the text's question) you have written for any previous course, not just an intro course. (10 points)

Question 4: Pacheco Exercise 2.19, p. 79. (5 points)

Question 5: Pacheco Exercise 2.21, p. 80. (5 points)

Question 6: Pacheco Exercise 2.22, p. 80. (10 points)

Submitting

Your submission requires that all required deliverables are committed and pushed to the master for your repository on GitHub. You may choose to answer questions in markdown right in the README.md file or submit a PDF document with your responses in your repository. Please submit your source code for the program you write for the first question.

Grading

This assignment is worth 50 points, which are distributed as indicated in the point totals after each question.