As part of this course you are required to do a
term project. The goal is to develop experience with the tools and
methodologies of computer architecture research and pre-development phases. A
project will typically require substantial programming effort. You will be
evaluated on the following areas: (1) Your experimental methodology, (2) your
written report and (3) your in-class presentation. It is important to use a
sound experimental methodology and to document that you did so. Your report
should be such that another computer architect can understand what you did, be
able to follow, and possibly recreate your results. Most importantly, you
should think long and hard which experiments will be performing and which
measurements you will be reporting. You should anticipate the most relevant
questions and be ready to present either experimental evidence or to explain
why you were not able to collect them in the given time frame. In other words
pick and choose which results you will be presenting and to justify these
choices in terms of importance and timeframe.
A list of suggested project topics is available
on the course website. You are welcome to propose a research topic. My
suggestion, however, would be to select an existing published research report
and validate its results. This will allow you to focus more on learning the
tools and methodologies of computer architecture research. The downside is,
however, you will not gain any experience with determining from scratch what
experiments you have to set up in order to validate a design proposal.
There are
two milestones. First you should submit a short description of the proposed
project and methodology. Second, you will have to give a 10-minute
presentation. Finally, you have to submit a final project report. Here are the dates you should remember:
Monday,
November 26 Project Proposal due in class
NO LATE PROPOSALS WILL BE ACCEPTED.
Thursday/Friday,
December 13th /14th Project final report due Friday in
class
This should
be an at most two pages. You should
explain in the following order:
1.
Topic, i.e., what are
you going to do. Start by motivating the particular work. Give a set of reasons
why this is relevant (not from an educational perspective but from a computer
design perspective).
2.
Methodology and Goals.
You will be expected to use Simplescalar and the SPEC
CPU 2000 benchmarks that will be provided. Here you should explain which
experiments you will be performing and why. Try to justify why these
experiments are the most relevant given the amount of time you have available.
This will be our contract: this is what you promise to do.
Remember:
while these may evolve or change you are required to start with a meaningful
plan. No point starting something if you cannot articulate why this might be
interesting or doable.
Try to
limit this to at most 8 pages. (Remember: it’s easy to write a lot of text.
It’s hard to write concise.) An approximate format is:
1.
Introduction:
Motivation and Problem statement. BRIEFLY. Also conclude with forecasting what
your method and most important results are.
2.
Expanded motivation if
needed.
3.
Related Work. Please
emphasize this section if you decide to validate a set of published results.
The publications suggested later in this document are not all very recent. It
is your responsibility to find and report any related work.
4.
If you are proposing a
new mechanism describe it.
5.
Methodology. Which
benchmarks, what simulation method and which simulator, machine configuration
and any other relevant parameters. Also a brief summary of your metrics and WHY
are you using them
6.
Evaluation. One by one
the results.
7.
Conclusions. “I am so
good I cannot stand myself. Maybe I should donate my brain to science” put in
less obvious terms. Future directions (not left or right).
If for
whatever reason you are not able to deliver exactly what your promised, please
explain why.