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 your results and have their key most relevant questions answered.
A list of suggested project topics is included at the end of this document. 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 what experiments you have to set up in order to validate a design proposal.
There are four milestones. First you should submit a short description of the proposed project and methodology. Mid-way through your project you will have to meet with me and provide a written update on your project’s progress. At the end of the course you will have to give a 20-minute presentation. Finally, you have to submit a final project report. Here are the dates you should remember:
Friday, November 17 Project Proposal due in class
NO
LATE PROPOSALS WILL BE ACCEPTED.
Friday, December 1st Project Progress report due Friday in class
Week of December 10th Project Presentations
NO LATE REPORTS WILL BE ACCEPTED.
This should be an at most two pages. You should explain in the following order:
1. Introduction/Motivation
2. Topic, i.e., what are you going to do.
3. Methodology. Are you going to use a simulator? Which benchmarks? What metrics you will use.
4. Goal: What you promise to deliver at the end.
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.
One page or less. What you have done so far. Difficulties faced. Any changes in your plan.
Try to limit this to at most 10 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 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).
Sample, suggested papers:
i.
A Case for
MLP-Aware Cache Replacement, M. K. Qureshi et. al., ISCA 2006.
j.
AC/DC : An adaptive data cache prefetcher,
NESBIT Kyle et. al, PACT 2004.
k.
CAT -
caching address tags - a technique for reducing area cost of on-chip caches, Hong
Wan et. al.,
ISCA 1995.
l.
Scalable
Store-Load Forwarding via Store Queue Index Prediction, S. Stone et. al., MICRO 2005.
m.
Increasing
the Size of Atomic Instruction Blocks using Control Flow Assertions, S. Patel, MICRO 2000.
n.
Dataflow
Mini-Graphs: Amplifying Superscalar Capacity and Bandwidth, Dataflow
Mini-Graphs: Amplifying Superscalar Capacity and Bandwidth, MICRO 2004.
o.
Selective
value prediction, B. Calder et. al,
ISCA 1999.
p.
Efficient
Dynamic Scheduling Through Tag Elimination, Dan Ernst and Todd Austin, ISCA
2002.
q.
“A Scalable
Front-End Architecture for Fast Instruction Delivery, G. Reinman,
ISCA 1999.
r.
Dynamic
Branch Prediction with Perceptrons, D. A. Jimenez,
HPCA 2001.
s.
Cache decay:
exploiting generational behavior to reduce cache leakage power,
t.
Dead-block
prediction & dead-block correlating prefetchers, An-Chow
Lai et. al., ISCA 2001.
u.
NOTE: If you are already working on a topic that can be connected somehow to architecture it may be possible to do your project in that topic. You should, however, discuss this possibility prior to submitting your proposal.