• Home
  • Química
  • Astronomia
  • Energia
  • Natureza
  • Biologia
  • Física
  • Eletrônicos
  • O modelo analítico prevê exatamente quanto uma peça de hardware irá acelerar os data centers

    Aceleração estimada do acelerômetro para as principais sobrecargas identificadas pelos pesquisadores. Crédito:Universidade de Michigan

    Os serviços de software em grande escala lutam a batalha da eficiência em duas frentes - software eficiente que é flexível para as demandas do consumidor em constante mudança, e hardware eficiente que pode manter esses serviços massivos funcionando rapidamente, mesmo em face dos retornos decrescentes das CPUs. Juntos, esses fatores determinam a qualidade da experiência do usuário e o desempenho, custo, e eficiência energética de data centers modernos.

    Uma mudança em uma frente requer ajustes na outra, e uma nova arquitetura de software que cresce em popularidade representa um desafio para as soluções de hardware atuais na maioria dos data centers. Microsserviços chamados, esta abordagem modular para projetar software de grande empresa deixou a desejar em suas interações com outra grande força crescente na eficiência do datacenter, aceleradores de hardware.

    Para reunir essas duas tecnologias promissoras de forma mais eficaz, CSE Ph.D. estudante Akshitha Sriraman, trabalhando com pesquisadores do Facebook, projetou uma maneira de medir exatamente o quanto um acelerador de hardware aceleraria um datacenter. Apropriadamente denominado acelerômetro, o modelo analítico pode ser aplicado nos estágios iniciais do design de um acelerador para prever sua eficácia antes mesmo de ser instalado.

    Ainda uma tecnologia um tanto nova no uso geral da computação, a eficácia dos aceleradores de hardware não é tão fácil de prever como as CPUs, que têm décadas de experiência por trás deles. Investir neste tipo de hardware personalizado diversificado apresenta um risco em escala, uma vez que pode não corresponder às suas expectativas.

    Mas existe o potencial para um grande impacto. Projetado para executar um tipo de função extremamente rápido, aceleradores poderiam teoricamente ser chamados para todos os redundantes, tarefas repetitivas usadas em comum por aplicativos maiores.

    Isso inclui microsserviços. Esta abordagem de arquitetura de software concebe um aplicativo maior como uma coleção de módulos, serviços específicos de tarefas que podem ser aprimorados isoladamente. Isso permite que alterações sejam feitas no aplicativo maior sem a necessidade de alterar um grande, base de código central. Também permite que mais serviços sejam adicionados com mais facilidade.

    Sriraman demonstrou que apenas 18% dos ciclos de CPU da maioria dos microsserviços são gastos executando instruções que são essenciais para sua funcionalidade. Os 82% restantes são gastos em operações comuns que estão prontas para acelerar.

    "Acelerar essas despesas gerais que identificamos pode, de fato, melhorar a velocidade de maneira significativa, "Sriraman diz. Além da velocidade, tornaria todas as funções do datacenter mais baratas e mais eficientes em termos de energia. "A aceleração nos permitirá embalar mais trabalho para as mesmas restrições de energia e melhorar a utilização de recursos em escala, portanto, a economia de energia e custos do data center vai melhorar muito. "

    A apresentação de Akshitha Sriraman para ASPLOS 2020 foi feita virtualmente. Crédito:Universidade de Michigan

    O problema com microsserviços é que seus designs podem ser bastante diferentes, particularmente no que diz respeito à forma como eles interagem com o hardware. Por exemplo, um microsserviço pode se comunicar com um acelerador enquanto continua a executar outras instruções em uma CPU, ou pode interromper todas as suas funções enquanto descarrega para o acelerador. Ambos os casos enfrentam diferentes "sobrecargas de descarregamento" (o tempo gasto no envio de uma tarefa de um processador para outro), que se torna uma perda de tempo para o datacenter se não for contabilizado.

    "Cada uma dessas opções de design de software pode resultar em diferentes sobrecargas que afetam a aceleração geral da aceleração, "diz Sriraman. Esta sobrecarga foi deixada de fora da imagem em trabalhos anteriores, ela continua, assim como o impacto dos diferentes designs de microsserviço no desempenho.

    Adicionalmente, os próprios aceleradores devem ser usados ​​criteriosamente para ter um efeito líquido positivo.

    "Jogar um acelerador em cada problema é ridículo porque leva muito tempo, custo, e esforço para construir, teste, e implantar cada um, Ela conclui. "Há uma necessidade real de entender precisamente o que e como acelerar."

    O acelerômetro é um modelo analítico que mede exatamente o quanto o desempenho seria melhorado com a instalação de um determinado processador, se em tudo, com todas essas nuances levadas em consideração. Isso significa que ele mede o efeito positivo da aceleração, bem como o efeito negativo de gastar tempo misturando instruções entre componentes de computação. E seus recursos não estão limitados a novos aceleradores - o modelo pode ser aplicado a qualquer tipo de hardware, variando de uma simples otimização de CPU a um ASIC remoto extremamente especializado.

    A ferramenta foi validada no ambiente de produção do Facebook usando três estudos de caso retrospectivos, demonstrando que suas estimativas reais de speedup têm menos de 3,7% de erro.

    O modelo é suficientemente preciso para já ser usado pelo Facebook, com interesse antecipado de outras empresas.

    "Recebemos a notícia de que vários dos grandes jogadores da nuvem começaram a usar o acelerômetro para descartar rapidamente as escolhas ruins do acelerador e identificar as boas, para fazer investimentos em hardware bem informados, "Sriraman diz. O Facebook está usando o modelo para explorar novos aceleradores, incorporá-lo como um primeiro passo para classificar rapidamente as escolhas de hardware boas e ruins.

    Este projeto, intitulado "Acelerômetro:Compreendendo as oportunidades de aceleração para despesas gerais de data center em hiperescala, "foi aceito pela Conferência de Suporte à Arquitetura de 2020 para Linguagens de Programação e Sistemas Operacionais (ASPLOS) e apresentado virtualmente.


    © Ciência https://pt.scienceaq.com