Proposal: In Class, Wednesday, October 21 (or earlier)
Progress Report: By 1 PM, Wednesday, November 11 (in my mailbox)
Project Report: By Noon on Monday, December 14, 2009
- In Class, Monday, December 7
- In Class, Wednesday, December 9
- In Class, Friday, December 11
The project has two options. The first option is to do some original
research in computer architecture (e.g.,
write a simulator and gather some simple numbers) or to re-validate data
found in a published paper.
This type of project is especially recommended for students
considering a Ph.D.
You will be graded on how well you define
your problem, survey previous work, design and conduct experiments, and
present your results.
The goal to shoot for is conference paper, like the ones
in your reader. Since time is limited, however, the above goal
is hard to reach, and I will reward those that aim high even if
they do not completely succeed.
The key is insuring that some aspects of your work are completely
done; it is very hard to grade a project where the simulator
did not quite work.
This type of project should use groups of three.
With my permission, project groups of two are permissible.
In the second option, you may work a group of two
to write a paper
that surveys an area within computer architecture.
The paper should:
summarize work in an area, giving extensive references,
present opinions of others for and against various options
(with references), and
conclude with your opinion of the strengths and weaknesses of
arguments presented above.
You will be graded on the completeness of your survey,
the accuracy of your summaries,
the support you give for your opinions, and
the quality of your presentation.
Since a survey paper is "safer" than a research project, I will hold
survey papers to a higher standard of completeness and analysis of
I normally accept no late assignments. For this project, papers turned
up to 24 hours hours late will be accepted with
a 25% penalty. Don't avail yourself of this option; your hard work
deserves full credit.
Proposals may be turned in earlier to get earlier feedback.
Feel free to come and talk with me during my office hours or
by appointment. Proposals should be about one-two pages long.
They should include:
- A description of your topic,
- A statement of why you think the topic is interesting or important,
- (for projects with original research)
a description of the methods you will use to evaluate your ideas, and
- References to at least three papers you have obtained.
(The text and the papers we've read point to many papers. See also
Proceedings of the International Symposium on Computer Architecture,
Proceedings of the High-Performance Computer Architecture,
Proceedings of the conference on Architectural Support for Programming
Languages and Operating Systems,
IEEE Transactions on Computers, ACM
Transactions on Computer Systems, IEEE Computer, IEEE Micro,
IEEE Transactions on
Parallel and Distributed Systems.)
- Near the end of the course web page are a couple pointers to on-line
Progress Reports should include a revised version of the proposal
plus one page describing accomplishments so far. Concentrate on
describing sub-tasks completed, rather than the tasks started. For
example, say ``completed simulator design at subroutine level''
rather than saying ``started writing simulator''.
We will divide up the last few lectures into 20-minute-ish
conference-style talks. Depending on class size, some talk
may be scheduled at alternative times.
All group members should deliver part
of the talk. The talk should give highlights of the final report,
including the problem, motivation, results, conclusions, and possible
future work. Time limits will be enforced to let everyone present.
Please, practice your talk to make it better and see how long it is.
Have a plan for what slides to skip if you get behind. Please see
Presentation Advice, including David Patterson's How to Give a
Bad Talk and K. Compton and M.L.Chang's
Presentations (...and how to not give one).
Reports should consist of an abstract, body and optional appendices, much
like a conference paper. The abstract should summarize the contributions
of the report in one or two paragraphs. The length of the body should
be the equivalent of 15-20 pages at double-spaced 10-point. Additional
supporting material of any length can be put in appendices. I will read
the body and only skim appendices. See your reader for examples.
You are encouraged to come up with your own topic. Ideally, the topic
will be related to your current research interests. For example, if
you have an interest in compilers, then code scheduling for instruction
level parallelism might be a good topic. If you are interested in VLSI
design, a project related to power or pipeline clocking would be good.
If you are
interested in databases, quantifying the architectural characteristics
of database workloads, and comparing them with characteristics of other
workloads (e.g., SPEC) might be good. Some simulators (e.g., Simplescalar)
and benchmark programs (e.g., SPEC2000) will be available for carrying
out simulation studies.
It is possible to do a single multi-disciplinary project to satisfy
multiple courses (e.g., CS736). However, this must be coordinated with
the other instructor(s) and you will be expected to do two (or more)
projects worth of work. Similarly, if you have active research in a
related area, it is fine to combine your current (supported) research
with your course project. In all such cases, it is imperative that
such overlaps be disclosed at the proposal stage so that we can
address the scope of research that will be required.
More on possible topics.
Limited to those at University of Wisconsin-Madison.