CSE 551 -- Programming Assignment #1
Out: Thursday March 28th, 2007
Due: Thursday April 5th, 2007, before class
For this assignment, you will write and run a few microbenchmarks on
bicycle.cs.washington.edu, one of the department's Linux machines.
Here's what I'd like you to measure; precisely how you design and
implement your measure code is up to you.
- Linux's system call overhead. (Note: your answer will be in
the microsecond time scale.)
- The latency to perform a disk seek on one of bicycle.cs's disks.
(Note: your answer will be in the millisecond time scale.)
- The sequential read bandwidth of one of bicycle's disks.
(Note: your answer will be in the tens of megabytes per second
range.)
A few things to keep in mind:
- bicycle.cs is used by many people, so you will need to make
sure your measurement results aren't affected by somebody else's
program. I recommend you find a time when no other programs are
running, and run your benchmarks then. If this turns out not to be
possible (i.e., bicycle.cs is busy all the time), then find another
linux machine to run them on.
- bicycle.cs is used by many people, so you need to make sure your
benchmarks aren't too disruptive. Your benchmarks have no need to
run more than a few seconds or tens of seconds...
What to turn in
Please email Steve and Elizabeth the following:
- a very, very short description of your measurement design -- no more than a handful of sentences on each measurement
- your results
- your source code (in whatever language or scripting environment you used)