2023

Fundamentos de Computação de Alto Desempenho

Nome: Fundamentos de Computação de Alto Desempenho
Cód.: INF14383L
6 ECTS
Duração: 15 semanas/156 horas
Área Científica: Informática

Língua(s) de lecionação: Português
Língua(s) de apoio tutorial: Português
Regime de Frequência: Presencial

Objetivos de Desenvolvimento Sustentável

Objetivos de Aprendizagem

O objetivo desta unidade curricular (UC) é a introdução e estudo do conceito dos ambientes computação de alto desempenho (HPC), da sua arquitetura, organização e utilização por forma a permitir a resolução de problemas complexos em tempo útil. No final desta UC os alunos devem ser capazes de:


- Conhecer os ambientes de clusters HPC

- Perceber a arquitetura de clusters HPC

- Perceber e usar sistemas de armazenamento de dados em clusters HPC

- Aceder e usar sistemas de HPC

- Preparar as suas aplicações para serem executadas em sistemas HPC

- Avaliar o desempenho em sistemas HPC

Conteúdos Programáticos

Introdução à consola de Linux

- Abrir um terminal

- Executar aplicações

- Navegar no sistema de ficheiros

-Redirecionar dados

-Encadear comandos (piping)

- Caracteres variáveis no nome dos ficheiros (wildcards)

- Variáveis de ambiente

- Configuração do terminal

- Acesso remoto a sistemas Linux

- Shell scripts básicos

Introdução ao Shell Scripting

Sistemas HPC

- Computação em série, paralela e de alto desempenho

- Visão geral da arquitetura de computadores

- Arquiteturas HPC

- Interligação de nós

- Co-processadores (GPUs, etc)

- Armazenamento em clusters

- Escalonamento de processos

Serviços HPC

- Exemplos de serviços HPC

- Níveis de serviços

- Acesso a serviços HPC

- Login SSH

- Transferência de ficheiros

- Desktop remoto

- Túneis

Segurança em HPC

Ambiente do utilizador

- Compiladores

- Módulos de ambiente

- Sistemas de ficheiros

Sistemas de gestão de jobs

- Batch schedulers

- Trabalhar com jobs

- Array jobs

- GPU jobs

Métodos de Ensino

A metodologia de ensino compreende dois tipos de aula:

- aulas teóricas
- aulas práticas laboratoriais

Nas aulas teóricas são apresentados os conceitos basilares de Computação de Alto Desempenho (HPC), gradualmente, com exemplos de sistemas HPC existentes e casos de estudo.

As aulas práticas laboratoriais são dedicadas à exploração e utilização de sistemas HPC, recorrendo a problemas reais.

Avaliação

A avaliação da Unidade Curricular pode ser contínua e é composta por 2 componentes: 1) componente teórica com um peso de 60% sobre a nota final; e 2) por uma componente prática, com um peso de 40% sobre a nota final.

Avaliação contínua:

Componente teórica (60%)
- 2 provas escritas (50% cada)

Componente prática (40%)
- 1 trabalho prático em grupo (100%)

Avaliação por exame:
Componente teórica (60%)
- 1 exame (100%)

Componente prática (40%)
- 1 trabalho prático em grupo (100%)

Bibliografia

Negus, Christopher. Linux bible, 10th Edition, John Wiley & Sons, 2020.

Blum, Richard. Linux command line and shell scripting bible, 4th Edition. John Wiley & Sons, 2020.

Yoo, Andy B., Morris A. Jette, and Mark Grondona. "Slurm: Simple linux utility for resource management." Workshop on job scheduling strategies for parallel processing. Springer, Berlin, Heidelberg, 2003.

Supun Kamburugamuve, Saliya Ekanayake. Foundations of Data Intensive Applications: Large Scale Data Analytics under the Hood, 1st Edition. Wiley. 2021

Recursos fornecidos pelo docente.