Disciplina Curricular
Arquitecturas para Computação de Elevado Desempenho ACEDes
Mestrado Bolonha em Engenharia Eletrotécnica e de Computadores - MEEC 2021
Contextos
Grupo: MEEC 2021 > 2º Ciclo > Opções Livres > Áreas Secundárias > Área Secundária - Sistemas de Computação
Período:
Grupo: MEEC 2021 > 2º Ciclo > Opções Livres > Áreas Secundárias > Área Secundária - Circuitos e Sistemas Eletrónicos
Período:
Grupo: MEEC 2021 > 2º Ciclo > Área Principal > Áreas de Especialização Principais > Área de Especialização Principal de Sistemas de Computação > Arquiteturas e Computação
Período:
Grupo: MEEC 2021 > 2º Ciclo > Área Principal > Áreas de Especialização Principais > Área de Especialização Principal de Circuitos e Sistemas Eletrónicos > Sistemas Embebidos
Período:
Peso
6.0 (para cálculo da média)
Pré-requisitos
Noções básicas de sistemas digitais, arquitetura de computadores e conhecimentos fundamentais ao nível da programação
Objectivos
O objectivo principal da disciplina é a criação de competências para analisar e projetar sistemas de computação paralela de elevado desempenho. Os sistemas de computação baseiam-se em: processadores com múltiplos núcleos, com arquitetura superescalar, execução especulativa e fora de ordem, a funcionar em paralelo; sistemas hierárquicos de memória, incluindo o processamento em memória e suporte para memória virtual; os aceleradores para domínios de aplicação específicos; e os sistemas heterogéneos que integram os diferentes núcleos de processamento analisados e projetados.
Programa
- Introdução/revisão da arquitetura de um computador e de conjuntos de intruções cntemporâneos. - Arquiteturas de processadores (ex: Intel, AMD, ARM, RISC-V): unidades básicas do processador. funcionamento em pipeline; resolução de conflitos; agendamento estático e dinâmico de instruções; processamento especulativo e fora de ordem; exploração de paralelismo ao nível das instruções, dos dados e do acesso à memória; análise de desempenho e de consumo de energia. - Hierarquia de memória: estrutura e organização do sub-sistema de memória; hierarquia de caches; endereçamento físico, virtual e tradução de endereços; pre-fetching; modelos de coerência e consistência de memória; impacto do sub-sistema de memória no desempenho de diferentes aplicações. - Sistemas de computação dedicada e de elevado desempenho: processadores massivamente paralelos, de elevado desempenho e em supercomputadores (ex: GPUs); programação e análise de desempenho. - Tópicos avançados de arquiteturas de computação.
Metodologia de avaliação
50% avaliação contínua; 50% avaliação não contínua
Componente de Competências Transversais
A UC abarca o desenvolvimento de competências transversais em Pensamento Crítico e Inovador, Competências Interpessoais e Intrapessoais (oral, organizacional e trabalho em equipa, autodisciplina, perseverança, auto-motivação) e Literacia da Informação e dos media (capacidade de localizar e aceder a informações) na componente laboratorial. A percentagem de avaliação associada a essas competências deverá ser da ordem dos 20%.
Componente Laboratorial
A componente de laboratório engloba 3 trabalhos de projeto, desenvolvidos ao longo do periodo, e envolvendo diferentes tópicos do programa da UC. A avaliação destes trabalhos envolve a demonstração e discussão dos mesmos na aula de laboratório e ainda um relatório (por trabalho), o qual deverá descrever sucintamente os objetivos, técnicas aplicadas e resultados obtidos.
Componente de Programação e Computação
A unidade curricular exercita diversos componentes da arquitetura de computadores com ligação à componente de programação imperativa, permitindo a identificação e compreensão dos limites de desempenho das aplicações (núcleo, caches, memória, E/S, etc), o impacto no consumo de potencia e energia, e ainda na escolha e escalonamento de tarefas e aplicações com vista à programação de elevado desempenho, paralela e concorrente. Estas competencias são avaliadas através dos mini-projetos (percentagem > 80%) e do exame (percentagem >50%).
Princípios Éticos
Todos os membros de um grupo são responsáveis pelo trabalho do grupo. Em qualquer avaliação, todo aluno deve divulgar honestamente qualquer ajuda recebida e fontes usadas. Numa avaliação oral, todo aluno deverá ser capaz de apresentar e responder a perguntas sobre toda a avaliação.