“Sistemas e aplicativos de computação de alto desempenho” - curso 40.000 rublos. da MSU, treinando 8 semanas. (2 meses), Data: 27 de novembro de 2023.
Miscelânea / / November 27, 2023
Propósito A implementação do programa é um treinamento básico para indivíduos que desejam adquirir conhecimentos e habilidades no desenvolvimento de aplicações de alto desempenho para supercomputadores.
O programa estuda os conceitos e princípios básicos de construção de sistemas de supercomputadores, a arquitetura e funcionalidade do software de sistemas de supercomputadores, Tecnologias de programação paralela MPI e OpenMP, métodos para depuração e ajuste da eficiência de programas paralelos para supercomputadores usando tecnologias de passagem de mensagens MPI e OpenMP.
É dada especial atenção ao estudo e desenvolvimento prático das tecnologias em estudo e dos métodos utilizados construção de programas paralelos usando o exemplo de supercomputadores instalados na Universidade Estadual de Moscou: os sistemas Lomonosov e Blue Gene/P. Em particular, são estudadas as características de utilização de compiladores modernos para as linguagens de programação C, C++, Fortran instaladas nesses sistemas, o uso bibliotecas matemáticas paralelas, sistemas instrumentais para depuração e ajuste da eficiência de programas paralelos, métodos para organizar o trabalho paralelo com arquivos.
Forma de estudo
Tempo total
Escopo do programa (horas acadêmicas)
Total - 72
Sala de aula - 60
Requisitos de Admissão: pessoas com formação superior, atividade profissional - cientistas da área das tecnologias de informação e comunicação, modelação matemática utilizando sistemas de computação de alto desempenho, professores de instituições de ensino superior, engenheiros e trabalhadores técnicos de organizações associadas ao uso de computação de alto desempenho tecnologia.
Resultados de aprendizagem:
Proficiente em tecnologias de programação paralela MPI e OpenMP, trabalhando com supercomputadores e redes de informação; compreensão dos princípios de construção de arquiteturas de supercomputadores e seu software, conhecimento de métodos e ferramentas básicas para desenvolvimento de programas paralelos para supercomputadores.
Como resultado do domínio do curso, o aluno deverá:
saber:
· fundamentos de métodos para desenvolvimento de programas paralelos para supercomputadores;
· princípios de projeto de arquitetura de supercomputadores;
· especificação da tecnologia de programação paralela MPI-1 e MPI-2, composição e características de diversas bibliotecas abertas que implementam padrões MPI;
· Diretivas e funções OpenMP;
· conceitos básicos e diretrizes de sistemas de gerenciamento de tarefas para supercomputadores;
· métodos de acesso remoto a supercomputadores, protocolos ssh e ftp para acesso remoto e cópia de informações;
· métodos para avaliar a eficácia de programas paralelos
ser capaz de:
· aplicar efetivamente as tecnologias estudadas na prática de desenvolvimento de programas paralelos para os supercomputadores Lomonosov e Blue Gene/P.
Ter tecnologias para desenvolvimento de programas paralelos para supercomputadores.
Módulo 1. Introdução ao tema da computação de alto desempenho.
1.1. Definições básicas e conceitos básicos.
1.2. Justificativa da necessidade de desenvolvimento de supercomputadores. Tarefas de "Grande Desafio".
1.3. Principais direções de desenvolvimento de tecnologias de supercomputadores. Problemas de computação exaflop.
1.4. Exemplos de problemas
2. Princípios de projeto de arquiteturas para sistemas de computação de alto desempenho.
2.1. Elementos básicos de arquiteturas de sistemas computacionais multiprocessadores.
2.1.1. Nós do processador. Exemplos de implementações.
2.1.2. Organização de memória multinível de supercomputadores.
2.1.3. Métodos para implementar subsistemas de comunicação de nós processadores.
2.1.4. Métodos de organização de hardware de sistemas de entrada-saída.
2.2. Revisão de arquiteturas de sistemas computacionais multiprocessadores.
2.2.1. Sistemas multiprocessadores com memória compartilhada.
2.2.2. Sistemas multiprocessadores com memória distribuída.
2.2.3. Sistemas de computação heterogêneos de alto desempenho
2.2.4. Sistemas de computação massivamente paralelos.
2.2.5. Sistemas de cluster.
2.3. Métodos de avaliação de desempenho de sistemas computacionais.
2.4. Tendências no desenvolvimento de sistemas computacionais de alto desempenho. Lei de Moore. Lista Top500 e Top50.
2.5. Exemplos de arquiteturas de sistemas de computação de alto desempenho.
2.5.1. Arquitetura do supercomputador da Universidade Estadual de Moscou "Lomonosov"
2.5.2. Arquitetura do sistema multiprocessador de memória compartilhada IBM Regatta.
2.5.3. Arquitetura do sistema de computação massivamente paralelo BlueGene/P
3. Elementos básicos de software para sistemas computacionais multiprocessadores.
3.1. SO.
3.2. Sistemas de arquivos paralelos.
3.3. Sistemas de gerenciamento de trabalho.
3.4. Bibliotecas matemáticas paralelas.
3.5. Sistemas de programação e ambientes de ferramentas para desenvolvimento e depuração de programas paralelos.
3.6. Software de supercomputador Lomonosov, BlueGene/P.
Módulo 2. Noções básicas da tecnologia OpenMP.
2.1 Conceitos básicos. Funções secundárias. Áreas paralelas e sequenciais. Distribuição de trabalho. Laços paralelos.
2.2 Seções paralelas. Tarefas. Métodos de sincronização.
Módulo 3. Fundamentos da tecnologia de passagem de mensagens MPI.
3.1. Padrões MPI: implementação, direções de desenvolvimento.
3.2. Conceitos básicos, princípios de construção de programas paralelos utilizando tecnologia MPI.
3.3. O conceito de modos de transmissão de mensagens.
3.4. Organização de trocas ponto a ponto.
3.5. Operações coletivas do MPI.
3.6. Tipos de dados derivados.
3.7. Topologias virtuais e operações em comunicadores.
3.8. Intercomunicadores. Comunicações unidirecionais. Erro no processamento.
3.9. Controle dinâmico de processos. E/S paralela.