07 / 05: Notes table
26 / 02: Don't miss the important dates of the Graduation calendar.
Improve the concepts learned in the Computer Systems Design course. Reinforce programming concepts in large code bases. At the end of this course, the student should be able to:
The recommended bibliography for the activities of this discipline is:
This discipline consists of three projects, to be carried out during the semester. The final grade will be the arithmetic average of the grades for the three projects.
The projects will be carried out in groups of around a maximum of 4 participants (adjusted for the size of the class). The composition and size of the groups will be defined by the teacher.
Any attempted fraud during the semester will be punished to the extent of my authority, including a zero score on the discipline for everyone involved.
The appointments will take place on Tuesdays, from 14pm to 15pm, in room 3 of the IC and on Thursdays, from 18pm to 19pm, by the discipline monitor (Tiago Falcão) in room 361 of the IC. If you need assistance at another time, just arrange by email. In this case, send the email already with a suggested day and time to facilitate the service.
Remember that I will be in the classroom during all classes in the semester.
There will be 3 projects during the semester, each with 5 weeks to be completed. Projects must be carried out in groups, where all components of the group must be aware of all decisions made, being able to justify them. Projects will be evaluated through:
Objective: Develop a benchmark with at least 5 components, to evaluate the performance of at least 5 different computational equipment (or part of them).
Design decisions: What to evaluate, how to evaluate, what guarantees this benchmark provides, what are the boundary conditions, methodology, ways of measuring performance, scalability, reproducibility, etc. Examples of benchmarks for performance of existing processors / computers: SPEC (look for the runspec documentation, script that controls execution), PARSEC (look for parsecmngt documentation, script that controls execution), CloudSuite, DaCapo, MediaBench, MiBench, MineBench , Rodinia, San Diego Vision Benchmark Suite, SPECWeb, SPECJBB, SPECJVM, Streamit Systench, TPC, NAS NPB, NAS OMP, HPCC, Mantevo benchmark suite, CSiBE.
Deliveries: This first project has a requirement to monitor the teacher more closely, to assist in the development of the methodology. A partial report is expected during the period and a final report.
Rating criteria: Clarity in defining the performance evaluation criteria (What did you measure? How? Why?). Ability to reproduce the results obtained on the computers informed and also to add new computers.
Final Report and Presentation: 27/03, during the class period.
Groups formed for project 1:
Schedule of Group presentations for Project 1:
Objective: Evaluate the impact, on the performance of a processor, of several architectural features studied in the theoretical discipline.
Among the characteristics to consider, I suggest:
How does each of these characteristics affect processor performance? (get better, get worse, leave it at the same level).
You must use the ArchC-based MIPS simulator (see tutorial), available on the IC-3 and also for installation in your home / notebook. This simulator runs programs, compiled for MIPS, one instruction at a time. It is part of your task to implement all accounting to predict the behavior of an execution according to the features above. It is not expected or desired that you implement pipeline execution, only that you can account for the effects of the pipeline.
Rating criteria: Ability to implement accounting for the above features. Consistency between the data obtained and a real system (does the data make sense?). Ability to understand a large code base and make minor modifications to it.
Screenplay: containing the methodology to be followed, on a page, delivered in print until the end of the first class, for comments during the class period by the teacher. This will be the script for the experiment that will be done in the other classes by the group. Take the opportunity of the class to answer questions. This script will have a weight of 20% in the project grade. Include, at the end of the script, the address of the git repository that your group will place the code of your work in.
Final Report and Presentation: 15/05, during the class period. Email the report before the class period. Limit of 5 pages.
At the end of your report, include a results section with a table like:
config. 1 | config. 2 | ... | |||||
---|---|---|---|---|---|---|---|
program 1 | program 2 | program 3 | P1 | P2 | P3 | ... | |
1 Event | |||||||
2 Event | |||||||
3 Event | |||||||
... | |||||||
Cycles | |||||||
Time |
where Config. 1, Config. 2, ..., represent the settings you evaluated and Event 1, Event 2, ..., represent the analyzed events. At the end, total the number of cycles and also the estimated time as discussed in the delivery of the Roadmap. You must have the Settings and Events descriptions and characteristics in your report. Note that it should not be possible to place all settings in this table, you will have to choose the most relevant settings. As an example, after testing various cache configurations, you can choose just one (the best one) and place it in this table, leaving the data for the others only in the previous sections of the report. A vertical reading of the table, with some examples, can be: "Using the processor with configuration 1, described in the text, running the xyz program, using X instructions (Event 1), 200 cache misses (Event 2), 150 hazzard of data (Event 3), ..., which totals 1487 cycles (fictitious number) and is equivalent to an execution time of 1ms. "
Groups formed for the project:
Group presentation times:
In this project, each group should model a system with 8 colors, run a software that takes advantage of its parallelism. In addition, an extra hardware module must be created (software offloading) to accelerate the performance of this software.
In the script, the groups must answer 3 questions:
Groups of up to 4 participants will be formed by the students themselves and indicated in the script.
Deadline for the Script: 29/05 until 9am. Worth noting: You must indicate, in the script, a repository that can be cloned. We will check this immediately after delivery of the script.
A git repository containing the base platform for development is at /home/staff/rodolfo/mc723/base_platform.git. Note that you do not have and will not be allowed to write to this repository.
Final Report and Presentation: 26/06, during the class period. Email the report before the class period. Limit of 5 pages.
Groups formed for the project:
Data | Activity |
---|---|
27 / feb | Project Roadmap 1 |
06 / mar | |
13 / mar | |
20 / mar | |
27 / mar | Project Delivery 1 |
03 / Apr | There will be no activities |
10 / Apr | Project Roadmap 2 |
17 / Apr | |
24 / Apr | |
01 / May | There will be no activities |
08 / May | |
15 / May | Project Delivery 2 |
22 / May | |
29 / May | Project 3 script (until 9 am) |
June 05th | There will be no activities |
June 12th | |
June 19th | |
June 26th | Project Delivery 3 |