Assignment #2 - Performance Measurement

Due by 11:59pm, Friday, February 9. The managing TA for this assignment is Daniel Mullowney (dmullown@mail). Please direct your questions on this assignment to Daniel.

Assignment description:
This is an individual assignment. For many of the following measurements, you may need to repeat the experiment many times and then take the average. Use a high resolution timer for x86 when necessary. The goal is to have STABLE measurement results. For some of the questions, I will provide a possible measurement strategy as a hint. You are encouraged to be innovative in designing your own test. Extra credits will be given for such innovations that also (of course) work. For comparison purposes, all measurements MUST be done on machines in the graduate software lab or the CSUG lab.

Additional note: You should be careful with your measurement methodology. If appropriate, you may want to take into account things like loop overhead and timer overhead (making calls to start and stop the timer can induce costs that are non-negligible when measuring the cost of a single function call).

You are asked to electronically turn in your source code for solving each question and preferably a makefile. You should also electronically turn in a written report for this assignment. In the written report, indicate the final measurement results, your measurement methodology (including how many times the experiments are repeated before the average is taken etc.) and the names of the machines where your measurements were conducted. Again, you must do the measurements on machines in the graduate software lab or the CSUG lab. Describe all other important things for your measurements. The report should be in either of the following formats: PDF, Postscript, or plain text. Instructions for electronic turn-ins can be found on the class Web page.

Late turn-in policy:
Late turn-ins will be accepted for up to three days, with 10% penalty for each late day. No turn-ins more than three-day late will be accepted.