ECE1773 - Advanced Computer Architecture

Fall 2006

Andreas Moshovos

Term Project Information

 

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.

Timeframe

 

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

 

            Tuesday, December 19th                   Final Project report due by noon in EA310.

                                                                        NO LATE REPORTS WILL BE ACCEPTED.

PROPOSAL FORMAT

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.

PROGRESS REPORT FORMAT

One page or less. What you have done so far. Difficulties faced. Any changes in your plan.

 

FINAL PROJECT REPORT

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).

LIST OF SUGGESTED TOPICS

 

  1. Select a paper from a recent ISCA/MICRO/HPCA or ASLPOS and verify its core results. Here are a couple general areas that you can select to focus on:
    1. Power-related.
    2. Prefetching.
    3. Branch Prediction.
    4. Schedulers including LSQ optimizations.
    5. Reliability.
    6. Trace caches.

 

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, S. Kaxiras et. al., ISCA 2001.

t.        Dead-block prediction & dead-block correlating prefetchers, An-Chow Lai et. al., ISCA 2001.

u.       

 

  1. Develop a new set of benchmarks (large memory footprints).

 

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.