Carga horária / créditos: 4 horas aula/semana
Semestre oferecido: 2019/II
Professores: Luigi Carro
Objetivos
Com o fim da Lei de Moore o incremento de desempenho de processadores de propósito geral tornou-se mais difícil. Ao mesmo tempo, novas aplicações, como Inteligência Artificial, Internet das Coisas e Saúde demandam cada vez mais velocidade de execução e eficiência energética. Neste novo cenário, onde o avanço da tecnologia é muito mais lento, os ganhos energéticos que os consumidores necessitam devem ser obtidospor melhores técnicas de desenvolvimento de software.
O objetivo da disciplina é capacitar o aluno a compreender as diferentes fontes de dissipação de energia de uma sistema com processadores, e através desta compreensão identificar alterações de software que possam ser feitas em algoritmos clássicos dos domínios acima definidos para melhorar a eficiência energética destas aplicações, possivelmente sem (ou com um mínimo de)modificações no hardware de execução.
Súmula
Revisão de conceitos básicos de energia e desempenho; ferramenta de simulação GEM5, simulação de consumo de energia na execução do software. Fontes de dissipação energética; organização CPU, Cache e memória. Execução paralela e dissipação de energia. Estratégias de economia de energia em CPUs e em máquinas multicore. Estruturas de dados e dissipação de potência. Algoritmos importantes dos domínios alvo e sua reescrita para minimização de dissipação energética.
Público Alvo:
Alunos da CIC e da ECP
Pré requisitos:
INF133, Arquitetura de Organização de Processadores
Critérios de Avaliação
O conceito final será obtido através de uma prova escrita (P1) e dois trabalhos práticos (T1 e T2), utilizando-se a seguinte ponderação:
média final total = 0.4 P1 + 0.4 T2 + 0.2 T1
O aluno que obtiver nota final abaixo de 6,0 (seis) deverá fazer uma recuperação escrita da parte correspondente da matéria (P1). Será considerado aprovado o aluno que alcançar uma média final total superior a 6,0.
Os conceitos serão distribuídos da seguinte forma:
A – Nota maior ou igual a 9,0
B – Nota menor que 9,0 e maior ou igual a 7,5
C – Nota menor que 7,5 e maior ou igual a 6,0
D – Nota menor que 6,0
F – Reprovação por frequência
Metodologia
A disciplina é apresentada em aulas teórico-práticas, nas quais são combinadas a apresentação de conceitos e técnicas, com a aplicação destes pelos alunos em exercícios e trabalhos práticos extraclasse. As 60 horas previstas para atividades teóricas e práticas indicadas neste Palno de Ensino incluem 30 encontros de 100 minutos de duração, neste Plano de Ensino incluem 30 encontros de 100 minutos de duração (2períodos de 50 minutos por encontro, 2 encontros por semana, durante 15 semanas), num total de 3.000 minutos, e mais10 horas (600 minutos) de atividades autônomas, realizadas sem contato direto como professor, correspondentes a exercícios e trabalhos extraclasse.
Experiências de aprendizagem
- aulas expositivas
- trabalhos individuais e em grupos
– realização de trabalhos extraclasse
Bibliografia
Conteúdo programático
Semana | TÓPICO |
1 | Apresentação da Disciplina, apresentação ambiente de simulação |
2 | Definição de potência e energia em sistemas computacionais |
3 | Caracterização de consumo energético em CPUs |
4 | Exercícios de consumo energético em CPUs |
5 | Caracterização de consumo energético em memórias (I) |
6 | Caracterização de consumo energético em memórias (II) |
7 | Estruturas de dados e consumo energético (I) |
8 | Estruturas de dados e consumo energético (II) |
9 | Caracterização de consumo energético em multicores |
10 | Caracterização de consumo energético em multicores |
11 | Caracterização de consumo energético em multicores |
12 | Estudo de caso em algoritmos populares |
13 | Estudo de caso em algoritmos populares |
14 | Estudo de caso em algoritmos populares |
15 | Apresentação de trabalhos e prova |