Please enable JavaScript.
Coggle requires JavaScript to display documents.
Desempenho Computacional - Coggle Diagram
Desempenho Computacional
Lei de Amdahl
Programação paralela
Aplicações da programação paralela
Banco de dados
Aplicações em tempo real
Jogos
Servidores
Definição de programação paralela
Divisão do código em múltiplas threads e processos
Técnicas de programação paralela
Threads e processos
Comunicação entre threads e processos
Dificuldades na programação paralela
Debugging
Dificuldade de dividir tarefas
Erros de concorrência
Sincronização de threads e processos
Tarefas paralelizáveis e seriais
Tarefas paralelizáveis: podem ocorrer simultaneamente
Tarefas seriais: precisam ocorrer uma após a outra
A Lei de Amdahl
Exemplos de tarefas que podem ser paralelizadas
Servidores com múltiplas conexões em múltiplos processadores
Bancos de dados divididos em tarefas paralelas
O que é a Lei de Amdahl
Conceito central da Lei de Amdahl
Afirma que o speedup máximo obtido em um programa paralelo
é limitado pela fração do código que é seria
Origem e contexto da Lei de Amdahl
Criada na década de 60
Objetivo calcular o speedup em potencial de programas que utilizam múltiplos processadores
Desenvolvida por Gene Amdahl
Como calcular o speedup em potencial
Speedup = 1 / ((1 - P) + (P / N))
N é o número de processadores
P é a fração paralelizável do programa
Lei de Amdahl
Oque Concluiu
Speedup é limitado
Retornos decrescentes para uso de mais processadores
Código precisa ser paralelizável
Limitações da Lei de Amdahl em sistemas paralelos e multicore
Escalabilidade limitada em códigos projetados para um número específico de núcleos
Variação na utilização dos núcleos de CPU devido ao tamanho das subtarefas
Impacto do gargalo na memória principal
Sobrecarga de gerenciamento de núcleos pelo sistema operacional
Dispositivos de armazenamento em sistemas com muitos núcleos
A Lei de Amdahl e os processadores modernos
Modelos desktop de alto custo com frequência de base/boost mais altas
Consumo de energia mais alto
Permitido pelos potentes coolers a ar ou a água
Possibilidade de manter frequência de boost em mais núcleos simultaneamente
Disputa por recursos internos com a ativação do SMT em processadores
Ausência de disputa por recursos internos
apenas uma thread por núcleo físico
Complexidade da previsão da disputa por recursos com SMT ativado
Limitações da frequência de boost em processadores móveis
aplicações single ou dual-core
Impossibilidade de manter em frequência Boost
Impossível manter em todos os núcleos
Devido à falta de resfriamento adequado
Impossível Manter por um Longo Tempo
Frequência de boost alta em curtos períodos de tempo
Frequência de boost em processadores
Necessidade de bom resfriamento
Evitar níveis críticos de consumo e aquecimento
Ajuda muito em operações multi-tarefas ou em tarefas pesadas