Mind map
Desempenho Computacional
Map content
Desempenho Computacional
Tendências
- Atuais
- Multicore
- Múltiplos processadores
- Mais simples mas em maior quantidade
- Múltiplos processadores
- MICs
- Many Integrated Core
- Atualmente com mais 50 núcleos por chip
- Many Integrated Core
- GPGPUs
- General-Purpose computing on GPUs
- Usar a GPU para outros fins
- Exemplo
- Nvidia CUDA
- OpenCL
- Exemplo
- Usar a GPU para outros fins
- General-Purpose computing on GPUs
- Multicore
- Futuras
- Arquiteturas Heterogêneas
- núcleos de CPU potentes
- núcleos de CPU mais simples
- núcleos especializados para outras tarefas
- núcleos de GPU
- Revisão do modelo básico
- Abandono da arquitetura de von neumann
- Adoção da locallidade de dados
- Exemplo
- Apple M1
- System-on-chip
- Baseado na Arquitetura ARM
- 16 Bilhões de transistores
- 4 núcleos de CPU
- 8 núcleos de GPU
- 16 núcleos de processamento neural
- Evolução
- M1 Pro
- M1 Max
- M1 Ultra
- System-on-chip
- Apple M1
- Abandono da arquitetura de von neumann
- Arquiteturas Heterogêneas
- Atuais
Lei de Amdahl
- Gene Amdahl
- Calculo do speedup em potencial do programa usando múltiplos processadores.
- Conclusão
- Código precisa ser paralelizavel
- Programação Paralela
- Código do programa dividido
- Em mútiplas threads
- Em múltiplos processos
- Apenas um percentual do programa
- Múltiplas tarefas ocorrendo simultaneamente
- Código do programa dividido
- Programação Paralela
- Speedup é limitado
- Código precisa ser paralelizavel
- Conclusão
- Calculo do speedup em potencial do programa usando múltiplos processadores.
- Dependente da tarefa
- Servidores ganham mantendo múltiplas conexões em múltiplos processadores.
- Bancos de dados podem ser divididos em tarefas paralelas
- Fórmula
- Programa rodando em único processador
- Speedup = Tempo para executar o programa / Tempo para executar o programa em N processadores paralelos
- 1/((1-f) + f/N)
- Conclusões
- f pequeno = processadores paralelos têm pouco efeito
- N ->∞, speedup limitado por 1/(1 – f)
- Retornos decrescentes para o uso de + processadores
- Conclusões
- 1/((1-f) + f/N)
- Speedup = Tempo para executar o programa / Tempo para executar o programa em N processadores paralelos
- Programa rodando em único processador
- Lei teórica
- desconsidera alguns fatores
- + núcleos = + overhead
- Nem todos os códigos paralelizados escalam infinitamente quando o número cresce
- a desigualdade de tamanho das subtarefas
- Processadores presisam de dados para trabalharem
- Maior impacto no gargalo
- desconsidera alguns fatores
- Gene Amdahl