Organização de Computadores - Aula 03 - Barreira de potência e multicores
Organização de Computadores: Barreira de Potência Multicore
Visão Geral da Seção: Nesta aula, discute-se a barreira de potência multicore e sua influência no desenvolvimento e avaliação de desempenho na computação.
Desempenho e Frequência do Clock
- O desempenho dos processadores depende da contagem de instruções, ciclos por instrução e tempo do ciclo do clock.
- Aumentar a frequência do clock é uma maneira eficaz de melhorar o desempenho dos sistemas computacionais.
- Ao longo das décadas, houve um significativo aumento na frequência dos processadores, impactando diretamente o desempenho.
Dissipação de Potência
- O aumento da frequência resultou em um aumento significativo na dissipação de potência pelos processadores.
- A alta dissipação de calor levou à necessidade de soluções avançadas de resfriamento, como refrigeração a água em supercomputadores.
- O excesso de calor pode comprometer o funcionamento correto dos transistores nos processadores.
Cálculo da Potência Dissipada em Processadores
Visão Geral da Seção: Explora-se como calcular a potência dissipada por um processador com base em sua tecnologia e operações internas.
Tecnologia e Dissipação
- A tecnologia utilizada nos processadores influencia diretamente a potência dissipada.
- Na tecnologia CMOS, o chaveamento dos transistores é a principal fonte de dissipação de potência.
- A dissipação energética está relacionada à frequência das operações realizadas pelo processador.
Componentes Influenciadores
- A carga capacitiva, tensão e frequência são fatores determinantes na potência dissipada pelo processador.
Visão Geral da Seção
Resumo da Seção: Nesta seção, são discutidos os desafios relacionados à redução da tensão de operação em processadores e como isso impacta o ganho de desempenho. Além disso, é abordada a evolução histórica dos ganhos de desempenho em computação e as estratégias adotadas para superar as limitações atuais.
Desafios na Redução da Tensão de Operação
- A redução da tensão de operação resultou em um aumento significativo na frequência do processador, mas a mudança na tecnologia da carga capacitiva impediu um crescimento proporcional das curvas.
- Diminuir ainda mais a tensão de operação enfrenta limitações técnicas, como vazamento de corrente e outros problemas eletrônicos, impossibilitando garantir o correto funcionamento do transistor.
- Mesmo com avanços na eletrônica, a diminuição da carga capacitiva não compensa o aumento desejado na frequência para melhorar o desempenho dos processadores.
Evolução Histórica dos Ganhos de Desempenho
- Entre o final dos anos 70 e meados dos anos 2000, houve ganhos significativos no desempenho dos computadores, impulsionados por melhorias tecnológicas e avanços na organização e arquitetura dos sistemas.
- O período entre meados da década de 80 até início dos anos 2000 foi marcado por um crescimento expressivo no desempenho (cerca de 50% ao ano), influenciado pela evolução na arquitetura de computadores e novas ideias organizacionais.
Limitações Atuais e Estratégias Futuras
- A limitação no acesso à memória em relação à velocidade do processador resultou em um crescimento anual mais modesto no desempenho (cerca de 20%), juntamente com a restrição imposta pela barreira energética.
- Diante das limitações atuais, pesquisadores e indústria precisam repensar estratégias para obter ganhos de desempenho, considerando que simplesmente aumentar a frequência ou reorganizar internamente os processadores não são soluções viáveis.
Estratégias para Melhorar o Desempenho
Resumo da Seção: Nesta parte, são exploradas alternativas para melhorar o desempenho dos sistemas computacionais diante das limitações existentes. A ênfase recai sobre métricas-chave como tempo de execução e vazão, além do surgimento dos processadores multicore como uma solução viável.
Métricas-Chave: Tempo de Execução vs. Vazão
- Com as dificuldades em melhorar o tempo de execução tradicionalmente buscado, surge a necessidade de focar na vazão do sistema como uma métrica alternativa para otimização do desempenho.
- Adicionar mais processadores ou núcleos computacionais pode ser uma estratégia eficaz para aumentar a vazão do sistema e realizar mais instruções por unidade de tempo.
Processadores Multicore: Ampliando Capacidades
- A introdução dos processadores multicore nos primeiros anos do século XXI representou uma mudança significativa ao permitir múltiplos núcleos dentro do mesmo processador.
Multicore e Desempenho de Processadores
Visão Geral da Seção: Nesta seção, são discutidos conceitos relacionados à abordagem multicore na indústria de processadores, a evolução do número de núcleos por processador ao longo das gerações e a importância da programação paralela para otimizar o desempenho.
Abordagem Multicore na Indústria de Processadores
- : A indústria adotou a abordagem multicore com o objetivo de dobrar o número de cores por processador a cada nova geração tecnológica.
- : Exemplos de processadores multicore incluem AMD Opter X4, Intel Nehalem e IBM Power 6, cada um com diferentes configurações de núcleos, frequências e dissipação de potência.
- : Estratégias diversas foram adotadas para equilibrar o número de núcleos e frequências visando manter limites aceitáveis de dissipação de potência.
Programação Paralela e Desempenho
- : Com o uso de processadores multicore, é essencial empregar programação paralela para otimizar o desempenho, distribuindo tarefas entre os núcleos para aumentar a eficiência.
- : A paralelização da resolução de problemas requer uma abordagem alternativa na forma como os algoritmos são desenvolvidos para aproveitar ao máximo os múltiplos núcleos disponíveis.
- : O balanceamento adequado das cargas entre os núcleos é crucial para garantir eficiência na execução paralela das tarefas.
Benchmarks e Avaliação de Desempenho
Visão Geral da Seção: Nesta parte, são explorados conceitos relacionados aos benchmarks utilizados para avaliar o desempenho dos computadores em ambientes multicore.
Importância dos Benchmarks
- : Os benchmarks desempenham um papel fundamental na avaliação precisa do desempenho dos sistemas multicore, sendo essencial selecionar conjuntos variados que representem diferentes tipos de aplicações.
- : A padronização dos benchmarks é realizada por entidades como a SPEC (Standard Performance Evaluation Corporation), que propõe conjuntos específicos para avaliar tanto cálculos inteiros quanto operações em ponto flutuante.
Características dos Benchmarks
- : Os programas dentro dos benchmarks abrangem uma variedade significativa, desde interpretação até simulação computacional avançada, visando estressar diversos componentes do sistema.
Evolução da Computação e Métricas de Desempenho
Visão Geral da Seção: Nesta seção, são abordados os testes realizados para avaliação pública dos dados dos processadores, a importância das medidas padronizadas e benchmarks na análise de desempenho.
Testes e Avaliações de Processadores
- Testes foram conduzidos para expor publicamente os dados dos processadores.
- Destaque para a importância de medidas padronizadas como benchmarks de inteiro e ponto flutuante.
Evolução da Computação
- Evolução tecnológica: transição de computadores programados manualmente para aqueles que leem seu próprio código.
Métricas de Desempenho e Benchmarking
- Uso de benchmarks como referência em programação paralela e computadores multicore.
- Mudança paradigmática: transição de processadores single-core para multi-core.
Conclusão do Capítulo