Podcast
Questions and Answers
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.
Related Documents
Description
Explore os conceitos fundamentais sobre processadores e elementos de conexão em redes. Aprenda sobre grau, diâmetro e largura de bissecção e como esses parâmetros afetam o desempenho das redes. O quiz também abrange a comparação entre redes estáticas e dinâmicas.