09/09 | Classroom 352 was assigned to this course. |
01/08 | Registered students: Graduate. |
01/08 | Classes will take place at room 352. |
01/08 | 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 after each class. If you need more or alternative time, feel free to schedule by email.
Description: Count the number of instructions in each SPEC 2006 benchmark programs execution.
Tools required: PIN and SPEC 2006.
Questions to think and answer: Is there any variation? How long should it take? How long did it take?
Do something else with this infrastructure. Show me that you have learned how to use PIN (create a pintool).
Deadline: October, 2nd. Oral presentation.
Description: Execute one program from PARSEC in one selected machine, measure the execution time and energy consumption. Use McPAT to find a better hardware configuration to run the same program. You will need to consider OOO and cache configurations.
Tools suggested: McPAT, dinero, PIN, PARSEC
Deadline: November, 6th. Oral presentation.
Beside the projects, there are practice tasks that will help students to improve their understanding about the tools. I plan to have one such task per week.
Date | Task | |
---|---|---|
16/sep | Use dinero and PIN together to evaluate the best cache configuration for one program. Beware of the trace size for big programs. | |
23/sep | Use Parsec and PIN together to discover the real number of threads for each application. Describe the formula based on the parameter N. | |
25/sep | Use PIN and implement a branch predictor algorithm. Evaluate it in one program. | |
02/oct | Calculate the expected IPC for one Parsec program considering a 4-issue processor. | |
23/oct | Calculate the dynamic histogram of the distances between data definition and usage in a program (based on the processor register writes and reads). |
Date | Class | Topic |
---|---|---|
02/sep | - | No class activity |
04/sep | - | |
09/sep | 1 | Class presentation/introduction |
11/sep | 2 | Introduction |
16/sep | 3 | Dinero and PIN tutorials |
18/sep | 4 | Cache |
23/sep | 5 | make, gcc, diff, patch, Parsec (patch) |
25/sep | 6 | Fetch Unit |
30/sep | 7 | Extra time to finish project 1 |
02/oct | 8 | Project 1 presentations |
07/oct | 9 | McPAT |
09/oct | 10 | Decode Unit |
14/oct | 11 | Performance counters, affinity, file formats, system tools |
16/oct | 12 | Allocation |
21/oct | 13 | SimPoints |
23/oct | 14 | Issue |
28/oct | 15 | ZSim |
30/oct | 16 | Execute |
04/nov | 17 | |
06/nov | 18 | Project 2 presentations |
11/nov | 19 | Project 3 preparation |
13/nov | 20 | Project 3 preparation |
18/nov | 21 | Commit |
20/nov | - | Holiday |
25/nov | 22 | Exam |
27/nov | 23 | |
02/dec | 24 | |
04/dec | 25 | |
09/dec | 26 | |
11/dec | 27 | |
16/dec | 28 | |
18/dec | 29 | |
23/dec | 30 |