Organização de Computadores - Aula 03 - Barreira de potência e multicores

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

Video description

Curso de Engenharia de Computação Disciplina EIC-001 - Organização de Computadores Univesp - Universidade Virtual do Estado de São Paulo Professora responsável: Cíntia Borges Margi