Podcast
Questions and Answers
Flashcards
Grau (rede)
Grau (rede)
Número de conexões diretas que um nó possui em uma rede de interconexão.
Diâmetro (rede)
Diâmetro (rede)
Maior distância mínima (em número de saltos) entre quaisquer dois nós da rede.
Largura de Bissecção (rede)
Largura de Bissecção (rede)
Número mínimo de conexões que precisam ser cortadas para dividir a rede em duas metades iguais.
Rede Estática
Rede Estática
Signup and view all the flashcards
Rede Dinâmica
Rede Dinâmica
Signup and view all the flashcards
Função de Roteamento
Função de Roteamento
Signup and view all the flashcards
Latência (rede)
Latência (rede)
Signup and view all the flashcards
RDMA (Remote Direct Memory Access)
RDMA (Remote Direct Memory Access)
Signup and view all the flashcards
RoCE
RoCE
Signup and view all the flashcards
iWARP
iWARP
Signup and view all the flashcards
Infiniband
Infiniband
Signup and view all the flashcards
Ethernet
Ethernet
Signup and view all the flashcards
Omni-Path
Omni-Path
Signup and view all the flashcards
Myrinet
Myrinet
Signup and view all the flashcards
Topologia Clos (spine-leaf)
Topologia Clos (spine-leaf)
Signup and view all the flashcards
Topologia de Anel
Topologia de Anel
Signup and view all the flashcards
Topologia de Malha
Topologia de Malha
Signup and view all the flashcards
Topologia de Árvore
Topologia de Árvore
Signup and view all the flashcards
Topologia de Hipercubo
Topologia de Hipercubo
Signup and view all the flashcards
Study Notes
Processadores
- Processadores são componentes fundamentais para processamento de dados.
- A memória é outro componente crucial em computadores.
Elementos de Conexão
- Conceitos Básicos de Conectividade:
- Grau, diâmetro e largura de bissecção são parâmetros para avaliar o desempenho de uma rede de interconexão.
- Grau: Número de conexões diretas que um nó possui.
- Diâmetro: Maior distância mínima em número de saltos entre quaisquer dois nós da rede.
- Largura de Bissecção: Mínimo de conexões que precisam ser cortadas para dividir a rede em duas metades iguais (ou o mais próximo possível).
- A importância destes parâmetros está no desempenho da rede. Grau maior permite maior concorrência, diâmetro menor reduz a latência e largura maior permite maior vazão de dados.
- Exemplos de redes estáticas pequenas podem ser desenhados e seus grau, diâmetro e largura de bissecção calculados.
- Redes Estáticas vs. Dinâmicas:
- Redes estáticas têm conexões fixas entre nós (ex: anel, malha, árvore, hipercubo). Vantagens: Menor latência, mais fáceis de implementar. Desvantagens: Menos flexíveis e escalabilidade limitada.
- Redes dinâmicas têm conexões que podem mudar com o tempo (ex: redes crossbar, redes multiestágios). Vantagens: Maior flexibilidade e escalabilidade. Desvantagens: Maior latência e complexidade de gerenciamento.
- Exemplos de topologias podem ser fornecidos para cada tipo. As redes são adequadas para certas aplicações, dependendo da flexibilidade e velocidade necessárias.
- Função de Roteamento:
- Função de roteamento determina o caminho que uma mensagem deve seguir na rede de interconexão para chegar ao destino.
- Tem papel fundamental em redes de interconexão, garantindo o tráfego correto de mensagens.
- Um exemplo de função simples de roteamento pode ser apresentado.
- Redes de Alta Velocidade e Latência:
- Aspectos para alta velocidade: Baixa latência e alta vazão (bandwidth).
- Latência: Tempo necessário para uma mensagem viajar da origem ao destino. Latência alta prejudica o desempenho, principalmente em aplicações paralelas.
- RDMA (Remote Direct Memory Access) ajuda a reduzir a latência, permitindo que um processo acesse diretamente a memória de outro processo sem intervenção do sistema operacional.
RDMA e Protocolos
- Vantagens do RDMA: Baixa latência, alta vazão, baixo uso de CPU.
- Diferenças entre RoCE, iWARP e InfiniBand em relação ao RDMA.
Tecnologias de Interconexão
- Comparação de desempenho, custo e aplicabilidade de diferentes tecnologias (Ethernet, Infiniband, Omni-Path, Myrinet).
Topologia Clos (Spine-Leaf)
- Descrever a topologia Clos (spine-leaf)
- Explicar como contribui para a redução do diâmetro da rede.
- Vantagens desta topologia em relação a outras topologias de redes.
Tendências em Redes de Alta Velocidade
- Tendências e desafios no desenvolvimento de redes de interconexão de alta velocidade para HPC.
- Discutir o papel de tecnologias emergentes, como redes ópticas e chips de interconexão, no futuro da computação de alto desempenho.
Condições de Paralelismo
- Classificação de dependências de dados (fluxo, antidependência, saída).
- Aplicação das Condições de Bernstein.
- Dependências de controle e paralelização de programas.
- Granulação e comunicação, influenciando a escolha do tamanho do grão.
- Balanceamento de paralelismo.
- Identificação de dependências em laços e como impedirem ou facilitar paralelização de um programa.
Paralelizar Programas
- Atuação do compilador e programador na paralelização.
- Diferenças entre a paralelização realizada pelo compilador e pelo programador.
- Arquiteturas de memória compartilhada e distribuída e seus relacionamentos com diferentes tipos de paralelização.
- Exemplo de diretiva de compilador.
- Comunicação, tamanho do grão e grau de paralelismo.
- Particionamento de matrizes (por blocos) para otimização de computação paralela.
- Modelos de particionamento para interação entre processos paralelos (exemplos incluídos).
- "Embarrassingly Parallel": Conceito e o que significa.
Avaliação de Desempenho - Análise
- Definição e fatores subjetivos em análise de desempenho.
- Métricas relevantes além do tempo de execução.
- Desempenho e paralelismo: fatores degradando o desempenho em sistemas paralelos (overhead de comunicação, sincronização e trechos não paralelizáveis).
- Escalabilidade em sistemas paralelos.
- Definição, importância e tipos de "speedup" (teórico, medido) e limites da "Lei de Amdahl" e "Lei de Gustafson".
- Benchmarking e predição de desempenho (abordagens de benchmarks e quando a predição é necessária).
- Avaliação do speedup.
Avaliação de Desempenho - Otimização
- Otimização de código: Definição e objetivos, quem e como otimizar (pelo compilador ou programador)
- Otimizações pelo compilador.
- Técnicas de otimização pelo programador além das do compilador.
- Gargalos de desempenho: Definição e exemplos (linguagem, funções, laços).
- Gargalos de linguagem e como evitar problemas no código (ex: alocação dinâmica e estruturas dinâmicas).
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.