Some hints for writing your Lab Reports
- Don't forget a title and your name. Just because the report is in a
tarball emailed from your account, don't assume that we will know from just
the report who wrote it.
- On a similar note, when you email us a tarball or a report, please use
a file name that identifies you and the assignment, e.g.,
SanjayLab0Report.pdf.
- Start your report with a recap of the objectives as stated in the Lab
announcement. You should paraphrase and may shorten it if you like, e.g.,
"To measure and analyze the running times of programs, to deduce functions
(of input size or number of processors) that model these running times, and
validate them." Don't simply cut and paste it from the lab
announcement, or from the previous sentence (see discussion below on
plagiarism).
- Next, state your hypotheses, e.g., "The running times are stable with
respect to repeated observations, and we can deduce the functions through
simple manipulation and linear least-squares fit." As I explained in class,
we Computer Scientists are often sloppy with the scientific method. This
will make you think outside the box.
- Make sure that your report is self contained: please include all graphs
and figures necessary to understand your data and conclusions. However,
don't put bash scripts, gnuplot transcripts, etc., right in the middle of
running text, but (if you need to include it in your report) leave it as a
clearly marked appendix.
- Avoid repetition. Imagine how you would feel if you had to read a book
where portions we simply cut and pasted from chapters you had previously
read?
Hints specific to Lab 0:
- Look for ways to shorten your report. Do you need a separate plot for
each function? Can some common parts of the description of your thinking
for each function be "factored out?"
- Many of you (by default) evaluated all the functions for a fixed x =
1 to 100. Why? What is a good range? Do you need to evaluate the
function for every integer in the range? Remember, we want to see
the asymptotic behavior of the function. So a larger range would be better.
How high should you go? Use your judgement.
- Many of you (by default) evaluated the function for 3
repetitions. Why? What is a good number of reps? Although it didn't
happen in this lab, you will see down the road that the larger the reps, the
longer you job takes to run. This time that could be better spent getting
more information about the function, by sampling at different input size
and/or numbers of processors. As this course proceeds, you will get a feel
for how many reps can you "get away with." A lot depends on how much
intereferennce there is on the machine. In previous years, we had really
noisy data and the measurements were often poor. This year, we expect that
as few as three to five reps for a single combination of n
and p (problem size and number of processors) may be enough beccause
on the NERSC machines, your job is batch submitted and runs exclusively on
the requested number of processors.
- Avoid repetition. Imagine how you would feel if you had to read a book
where portions we simply cut and pasted from chapters you had previously
read? Get the point?
- Beware of plagiarism. The Writing Center has
a good
explanation. Remember, cut-and-paste is synonymous with quote, so use
quote marks, and say where it came from.
- Label your plots, and make sure the labels are consistent (when you
cut-and-paste-and edit in your gnuplot script, be sure to edit the caption
and comments too, not just the formulas. Use descriptive captions for all
your figures.
- R, Matlab, Mathematica, Octave, etc. are excellent tools, and can do
very sophisticated analyses, including least square fits of arbitrary
functions (actually, even gnuplot can do that). However, remember that in
this lab, we are interested in linear least squares fits, i.e., try
to find a straight line that best fits your data (if needed, transformed to
some appropriate space). We believe that this give you a real feel for your
data, and not get you dependnent on sophisiticated tools. Thinking of what
transformations would make the data linear, and then working out the
functions from the coefficients of the linear fits of the data will do
this.
- For tfun8 and tfun9, we want you to plot the speeedup,
i.e., f(1)/f(x).
Last Modified: Aug 27 2007