Os chips programáveis ​​ajudam a Microsoft a otimizar seus serviços em nuvem


Protótipo de placa para o Project Catapult (Fonte: Clayton Cotterell para Wired) A

Microsoft anunciou uma grande atualização de hardware para seus data centers em todo o mundo. É, antes de tudo, sobre os DCs que fornecem o serviço de nuvem do Azure. Novos equipamentos são típicos para data centers, com exceção dos chips. São matrizes de portas reprogramáveis ​​em campo programável em campo (FPGA). Os próprios FPGAs não são novos, mas seu uso em data centers é uma nova idéia da Microsoft. Segundo a corporação, os chips programáveis ​​fornecerão aceleração de hardware para a implementação de vários algoritmos de software.

Inicialmente, com a ajuda do FPGA, a corporação planejava otimizar a operação de seu serviço de busca Bing. A empresa desenvolveu e começou a implementar a primeira fase do projeto com o nomeProjeto Catapulta . Como parte desse projeto, os FPGAs foram adicionados às placas PCI da Altera (agora a Intel da Altera é Intel) em alguns servidores responsáveis ​​pelo Bing. Segundo os autores do projeto, isso deveria melhorar o trabalho do algoritmo de classificação do serviço de busca. Como se viu, essa suposição era verdadeira. Servidores modificados mostraram um aumento significativo no desempenho em comparação com servidores cujo hardware não foi modificado.

Foi proposto ainda o desenvolvimento de circuitos integrados especializados, cujo princípio de operação seria equivalente ao FPGA. A Microsoft já desenvolveu esses chips para seus óculos Hololens . Isso reduziu significativamente o consumo de energia do dispositivo e aumentou seu desempenho. Como se viu, esse método não é adequado para a equipe do Bing. O fato é que os algoritmos do serviço de pesquisa mudam com muita frequência. E se você começar a desenvolver chips adaptados para determinados algoritmos, enquanto esses chips forem fabricados e trazidos, os algoritmos de pesquisa serão alterados. Isso significa que os chips se tornarão inúteis (um exemplo típico de bloqueio de hardware).

Mas, como o projeto piloto teve, em geral, um êxito, eles decidiram usar o FPGA em equipamentos que forneciam o trabalho de outros serviços da empresa. Por exemplo, Azure e Office 365. Nesse caso, chips especializados podem ser desenvolvidos sem medo de obsolescência em apenas algumas semanas. O principal problema do Azure não são algoritmos, mas o aumento dos requisitos de largura de banda da rede.


Placa Altera Stratix V. A Microsoft usa placas semelhantes em seu projeto Project Catapult.O

Azure executa um grande número de máquinas virtuais. Eles estão hospedados em um número limitado de servidores físicos. Os data centers da empresa usam o hipervisor Hyper-V para virtualização. Cada máquina virtual possui um ou mais adaptadores de rede através dos quais essas máquinas recebem e enviam tráfego de rede. O hipervisor gerencia o equipamento de rede físico conectado à infraestrutura de rede do Azure. Redirecionar o tráfego do equipamento virtual para o real e vice-versa, ao mesmo tempo em que balança o balanceamento de carga do equipamento e gerencia o roteamento de tráfego, requer recursos significativos.

Os funcionários da Microsoft propuseram a adição ao PCIe FPGA. Os FPGAs, de acordo com especialistas, devem trabalhar diretamente com a infraestrutura de rede do Azure, permitindo que os servidores de rede enviem e recebam diretamente tráfego sem rotear pela interface de rede do sistema principal.

Decidiu-se conectar diretamente a interface PCIe às máquinas virtuais, o que reduziu o caminho para o tráfego de rede. Resultado? As máquinas virtuais do Azure agora trabalham com desempenho de infraestrutura de rede de 25 Gb / se um atraso de apenas 100 milissegundos. E isso foi alcançado sem envolver processadores de servidor.

O mesmo problema pode ser resolvido usando placas de rede modernas, que da mesma maneira podem trabalhar diretamente com máquinas virtuais, ignorando o host. Mas neste caso, existem limitações. Por exemplo, cada placa pode trabalhar simultaneamente com apenas 4 máquinas virtuais. A flexibilidade que o FPGA fornece não está aqui. Com o FPGA, a Microsoft pode trabalhar mais ativamente, programando chips de acordo com as necessidades atuais. Como resultado, o desempenho geral do data center aumenta e a carga no equipamento diminui. Todas as instruções estão escritas diretamente no chip. Se você usar placas de rede, nesse caso, o processador host ainda estará envolvido, responsável pela execução das instruções.

Após o lançamento de um teste desse sistema, a empresa se convenceu de sua eficácia e decidiu implantar em todos os seus data centers que fornecem o Azure. Nesta semana, a corporação demonstrou a operação de seu sistema na conferência Ignite. Um funcionário da corporação mostrou o processo simultâneo de tradução de 3 bilhões de palavras da Wikipedia em inglês usando milhares de FPGAs. Os dados foram processados ​​em apenas um décimo de segundo. O desempenho do sistema nesse caso atingiu 10 18 operações por segundo.

Source: https://habr.com/ru/post/pt397969/


All Articles