19 / 06: Final Notes.
22 / 05: Tutorial on Virtual Platforms for Project 3.
20 / 02: Monitoring and Notes.
19 / 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 geometric mean of the notes of the three projects.
The projects will be carried out in groups of around 3 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 consultations will take place on Mondays, from 18 pm to 19 pm, in room 3 of the IC and on Wednesdays, from 18 pm to 19 pm, by the discipline monitor (Thiago Santiago) 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, etc.
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: 21/03, during the class period.
Objective: Several implementation characteristics affect the performance of a processor, the purpose of this project is to evaluate the impact of a range of characteristics on the execution of some programs. For this, you must use a processor behavioral simulator and design the code for accounting for the impact of the desired implementation characteristics. We will use the MIPS processor, the same seen in the theoretical discipline.
Design decisions: What implementation characteristics affect the performance of the processor? Below is a non-exhaustive list to serve as a basis.
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. You can remove one of the 3 items marked in parentheses in the previous listing. 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.
Final Report and Presentation: 09/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. "
For delivery, you must have answers to the following questions:
In this project, each group should model a system with up to 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 will be formed during the class as in Project 2.
Final Report and Presentation: 13/06, during the class period. Email the report before the class period. Limit of 5 pages.
Data | Activity |
---|---|
21 / feb | Project Roadmap 1 |
28 / feb | |
07 / mar | |
14 / mar | |
21 / mar | Project Delivery 1 |
28 / mar | Project Roadmap 2 |
04 / Apr | |
11 / Apr | |
18 / Apr | There will be no activities |
25 / Apr | |
02 / May | There will be no activities |
09 / May | Project Delivery 2 |
16 / May | Project Roadmap 3 |
23 / May | |
30 / May | |
June 06th | |
June 13th | Project Delivery 3 |