High-Performance Embedded Computing
| Keywords |
| Classification |
Keyword |
| OFICIAL |
Comp. Architectures, Operating and Networks Sys. |
Instance: 2012/2013 - 2S
Cycles of Study/Courses
| Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
| PRODEI |
3 |
Syllabus |
1 |
- |
6 |
54 |
162 |
Teaching language
Suitable for English-speaking students
Objectives
At the end of the semester, students should:
• Be able to identify important contributions to high-performance embedded computing;
• Be able to identify the main problems and challenges on mapping and optimizing applications;
• Understand code transformations, compiler optimizations, and their benefits;
• Understand available tools to help tuning and mapping an application to an embedded computing system, possibly consisting of multiple heterogeneous/homogeneous cores;
• Be able to tune an application according to specific requirements such as performance and energy consumption;
Working method
Presencial
Program
1. Introduction to Embedded Systems and Embedded Computing
2. Advanced Computing Systems and Reconfigurable Computing
3. Performance Analysis and Identification of Hot-Spots
4. Amdhal’s Law: main lessons and extensions to multi-core computing
5. Mapping Applications to Multi-Core Embedded Systems
6. Compiler Optimizations and Code Transformations
7. Tools for Simulating, Debugging, Profiling, and Optimizing
8. Main Trends and Challenges
Mandatory literature
• Joseph A. Fisher, Paolo Faraboschi, Cliff Young; Embedded computing - a VLIW approach to architecture, Morgan Kaufmann , 2005
João M. P. Cardoso, and Pedro C. Diniz; Compilation Techniques for Reconfigurable Architectures, Springer, 2008
S. Hauck, A. DeHon (editors); Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation, Morgan Kaufmann/Elsevier, 2008
various authors; • Selected papers from prestigious international journals and conferences
Complementary Bibliography
Wayne Wolf ; High-Performance Embedded Computing: Architectures, Applications, and Methodologies, Morgan Kaufman, 2006
João M. P. Cardoso, and Michael Huebner; Reconfigurable Computing: From FPGAs to Hardware/Software Codesign, Springer, 2011
Teaching methods and learning activities
Classes consist of lectures, tutorials, and presentation and analysis of selected publications. The contents are formally exposed along with presentation and discussion of examples from real-life applications.
In tutorial classes application exercises are proposed. Students will have to work on a project where they will apply most of the concepts presented during the course.
keywords
Technological sciences > Engineering > Computer engineering
Technological sciences > Technology > Computer technology > Software technology
Evaluation Type
Distributed evaluation without final exam
Assessment Components
| Description |
Type |
Time (hours) |
Weight (%) |
End date |
| Attendance (estimated) |
Participação presencial |
39,00 |
|
|
| Other readings to prepare classes |
Exame |
12,00 |
|
|
| Project |
Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese |
80,00 |
|
|
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
| Description |
Type |
Time (hours) |
End date |
| Analysis of scientific papers (individual) |
Estudo autónomo |
18 |
|
| Other readings related to the project |
Estudo autónomo |
16 |
|
|
Total: |
34,00 |
|
Eligibility for exams
NA
Calculation formula of final grade
AD: distributed evaluation consists of three components, PART, PAD, and PROJ = 0.10 PART + 0.30 PAD + 0.60 PROJ
PART: participation.
PAD: presentation, analysis and discussion of selected publications.
PROJ: project and technical report.
Grade = rounded(0.10 PART + 0.30 PAD + 0.60 PROJ).
Examinations or Special Assignments
None.
Special assessment (TE, DA, ...)
NA
Classification improvement
The grade can be improved in the next occurrence of the UC.
Observations
The pre-requirements are: compilers, computer architecture, programming languages.