Departamento de Informática (UM)

Página de Unidade Curricular 🇬🇧

DesignaçãoCódigoCursoRegimeRegente

Arquiteturas Avançadas de Computadores

16916 [ME97ME9700007444]

Mestrado em Computação Avançada [MCA]

S1

André Martins Pereira

Objetivos

Esta unidade curricular fornece os conhecimentos necessários para compreender e analisar o hardware de servidores homogéneos e heterogéneos em supercomputadores. Os resultados de aprendizagem concentram-se em dois componentes principais na perspectiva de um engenheiro de desempenho: o desempenho e eficiência energética de dispositivos multicore e manycore; e tecnologias de interligação dentro e entre chips. Estes conceitos são fundamentais para desenvolver código paralelo eficiente. O programa é consistente com os resultados de aprendizagem. Esta UC apresenta a arquitetura de dispositivos comuns como base para aprofundar os detalhes do hardware existente em servidores. Os conceitos são apresentados recorrendo a casos de estudo reais, permitindo aos estudantes avaliar o seu impacto no desempenho de hardware real. Os conteúdos estão estruturados de forma a permitir o estudo incremental e o teste de otimizações e metodologias que permitam o desenvolvimento de código paralelo eficiente.

Programa

1. Arquiteturas multicore, focando em paralelismo ao nível da instrução, execução fora de ordem, e encadeamento
2. Paradigmas SIMD, MIMD, processamento vetorial e hierarquia de memória
3. Comparação entre arquiteturas multicore ARM e x86
4. Aceleradores manycore e os seus diferentes modelos de programação
5. Organização de dispositivos em servidores homogéneos e heterogéneos com aceleradores, avaliando o impacto no desempenho de NUMA e interligações PCI-E e CXL
6. Preocupações de energia e sustentabilidade nas arquiteturas de supercomputação
7. Arquiteturas de computação com desagregação de recursos e outras tecnologias emergentes
8. Visão geral dos supercomputadores de larga escala líderes e futuras tendências em computação avançada

Bibliografia


Computer Organization and Design RISC-V Edition: The Hardware/Software Interface, David Patterson and John Hennessy, Morgan Kaufmann, 2020.

Computer Architecture: a Quantitative Approach, David Patterson and John Hennessy, Morgan Kaufmann, 2017.

Introduction to High-Performance Scientific Computing, 2nd Edition, Victor Eijkhout, 2010.

CUDA for Engineers: An Introduction to High-Performance Parallel Computing, Duane Storti and Mete Yurtoglu, 2015.

Resultados da aprendizagem

- Caracterizar conceitos chave de desempenho em arquiteturas de dispositivos multicore e manycore
- Caracterizar conceitos fundamentais na organização de servidores homogéneos e heterogéneos
- Entender as topologias de interligação inter- e intra-chip em supercomputadores
- Identificar tecnologias emergentes, contextualizando as suas contribuições no contexto global dos ecosistemas de computação avançada
- Analisar exemplos reais de arquiteturas de elevado desempenho de sucesso
- Avaliar o impacto de elementos arquiteturais no desempenho e eficiência energética de código paralelo

Método de avaliação

A avaliação é feita através de um teste escrito (30%-40%), trabalhos práticos (50%-70%), e participação nas sessões práticas (até 10%).

Funcionamento

Turno: T 1; Docente: André Martins Pereira; Dep.: DI; Horas: DI.
Turno: PL 1; Docente: Gonçalo Medeiros São Pedro Raposo; Dep.: DI; Horas: DI.

[ Outras UCs do Departamento ]