06/dec | Final grades |
03/aug | Classroom assignment. Our lectures will take place at CC52. |
30/jul | The first week of this semester is reserved to SECOMP. Regular classes will start on August, 10th. |
30/jul | Important dates in the school calendar: Graduate and Undergraduate programs. |
This course will cover tools and methodologies for Computer Architecture research including modern simulators, benchmarks for single/multi-cores and clusters. We will study recent papers on the area and how they model pipelines, caches, execution engines, power evaluation, etc.
The recommended bibliography contains:
Written exam: 40% of final grade.
Projects: 60% of final grade.
Any unethical behavior related to the evaluation process will result in failing the course with the lowest possible grade. Every assignment is an individual assignment unless otherwise mentioned. Students are not expected to talk to each other about solutions to the assignments unless otherwise mentioned.
I will provide 1h of office hour before each class. If you need more or alternative time, feel free to schedule by email.
Task 1: Count the number of instructions in each SPEC 2006 benchmark programs execution.
Questions:
Task 2: Do something else with this infrastructure (PIN and SPEC).
Oral presentation on September 2nd.
Create a folder called project1 in your repository. Put two files in it: count.csv and presentation.pdf. count.csv should have 2 columns: program name, instruction count. presentation.pdf is a 5 minutes presentation of your project.
Task: Evaluate branch prediction alternatives in real programs.
10 minutes oral presentation on Oct 5th.
You should evaluate the branch prediction behavior using several programs from benchmarks. You should consider, at least, 3 branch predictors, in distinct configurations. In total, you should consider about 200-300 distinct executions.
Create a folder called project2 in your repository. Put:
Task: Reevaluate one of the paper premises. The papers will be distributed in class hour.
You should consider the same evaluation scenario. If necessary, you can suggest modifications and implement them to make it easy to reproduce the paper results. In case of mismatch, you should justify it.
Maximum 20 minutes oral presentation on Oct 19th about the paper and selected approach.
20 minutes result presentation on Nov 4th
Create a folder called project3 in your repository. Put:
Task: Propose one extension to the paper.
You can evaluate something that is not evaluated in the paper, or you can measure different characteristics, explore different approaches, etc
Maximum 20 minutes oral presentation on Nov 11th about your proposal.
20 minutes result presentation on Nov 30th
Create a folder called project4 in your repository. Put:
Date | Topic | Extra |
---|---|---|
03/aug | SECOMP | |
05/aug | SECOMP | |
10/aug | Course Overview | slides |
12/aug | Some basic general tools and a few examples | slides |
17/aug | Chapter 1 - Introduction to Microarchitecture | slides video |
19/aug | PIN and dinero tutorials | PIN slides and dinero slides |
24/aug | Project time | |
26/aug | Chapter 2 - Caches | video - slides |
31/aug | PARSEC | slides |
02/sep | Project 1 presentations | |
07/sep | No class | |
09/sep | Fetch Unit | video - slides |
14/sep | McPAT | slides |
16/sep | Decode | video - slides |
21/sep | Performance Counters | slides |
23/sep | Allocation | slides |
28/sep | SimPoints | slides |
30/sep | Issue | slides |
05/oct | Second project - presentations | |
07/oct | ZSim | slides |
12/oct | No class | |
14/oct | ||
19/oct | Project 3 preliminary presentations | |
21/oct | ||
26/oct | ||
28/oct | No class | |
02/nov | No class | |
04/nov | Project 3 presentations | |
09/nov | ||
11/nov | Project 4 preliminary presentations | |
16/nov | ||
18/nov | ||
23/nov | ||
25/nov | Final exam | |
30/nov | Project 4 presentations |