Los chips programables ayudan a Microsoft a optimizar sus servicios en la nube


Prototipo de placa para Project Catapult (Fuente: Clayton Cotterell para Wired)

Microsoft ha anunciado una importante actualización de hardware para sus centros de datos en todo el mundo. Se trata, en primer lugar, de los DC que proporcionan el servicio en la nube de Azure. El nuevo equipo es típico para los centros de datos, con la excepción de los chips. Estos son arreglos de puerta reprogramables de matriz de puertas programables en campo (FPGA). Los FPGA en sí mismos no son nuevos, pero su uso en los centros de datos es una idea nueva de Microsoft. Según la corporación, los chips programables proporcionarán aceleración de hardware para la implementación de varios algoritmos de software.

Inicialmente, con la ayuda de FPGA, la corporación planeó optimizar la operación de su servicio de búsqueda Bing. La compañía desarrolló y comenzó a implementar la primera fase del proyecto con el nombreProyecto Catapulta . Como parte de este proyecto, se agregaron FPGA a las tarjetas PCI de Altera (ahora el propietario de Altera es Intel) en algunos de los servidores responsables de Bing. Según los autores del proyecto, se suponía que esto mejoraría el trabajo del algoritmo de clasificación del servicio de búsqueda. Al final resultó que, esta suposición era cierta. Los servidores modificados mostraron un aumento significativo en el rendimiento en comparación con los servidores cuyo hardware no fue modificado.

Se propuso además desarrollar circuitos integrados especializados, cuyo principio de operación sería equivalente a FPGA. Microsoft ya ha desarrollado dichos chips para sus gafas de video Hololens . Esto ha reducido significativamente el consumo de energía del dispositivo y ha aumentado su rendimiento. Al final resultó que, este método no es adecuado para el equipo de Bing. El hecho es que los algoritmos del servicio de búsqueda cambian muy a menudo. Y si comienza a desarrollar chips adaptados para ciertos algoritmos, mientras estos chips se fabrican y se incorporan, los algoritmos de búsqueda cambiarán. Esto significa que los chips se volverán inútiles (un ejemplo típico de bloqueo de hardware).

Pero, dado que el proyecto piloto fue, en general, exitoso, decidieron usar FPGA en equipos que proporcionaban el trabajo de otros servicios de la compañía. Por ejemplo, Azure y Office 365. En este caso, se podrían desarrollar chips especializados sin temor a la obsolescencia en solo un par de semanas. El principal problema para Azure no son los algoritmos, sino el aumento de los requisitos de ancho de banda de la red.


Altera Stratix V. Tablero Microsoft usa tableros similares en su proyecto Project Catapult.

Azure ejecuta una gran cantidad de máquinas virtuales. Están alojados en un número limitado de servidores físicos. Los centros de datos de la empresa utilizan el hipervisor Hyper-V para la virtualización. Cada máquina virtual tiene uno o más adaptadores de red a través de los cuales estas máquinas reciben y envían tráfico de red. El hipervisor administra el equipo de red físico conectado a la infraestructura de red de Azure. Redirigir el tráfico desde el equipo virtual al real y viceversa, al mismo tiempo que equilibra el equilibrio de la carga del equipo y administra el enrutamiento del tráfico, requiere recursos significativos.

Los empleados de Microsoft han propuesto agregar al PCIe FPGA. Los FPGA, según los expertos, deberían trabajar directamente con la infraestructura de red de Azure, permitiendo que los servidores de red envíen y reciban tráfico directamente sin enrutarlo a través de la interfaz de red del sistema principal.

Se decidió conectar directamente la interfaz PCIe a las máquinas virtuales, lo que acortó la ruta para el tráfico de red. Resultado? Las máquinas virtuales de Azure ahora funcionan con un rendimiento de infraestructura de red de 25 Gb / sy un retraso de solo 100 milisegundos. Y esto se logró sin involucrar a los procesadores del servidor.

El mismo problema se puede resolver utilizando tarjetas de red modernas, que de la misma manera pueden funcionar directamente con máquinas virtuales, sin pasar por el host. Pero en este caso hay limitaciones. Por ejemplo, cada tarjeta puede funcionar simultáneamente con solo 4 máquinas virtuales. La flexibilidad que proporciona FPGA no está aquí. Con FPGA, Microsoft puede trabajar más activamente, programando chips de acuerdo con las necesidades actuales. Como resultado, el rendimiento general del centro de datos aumenta y la carga en el equipo disminuye. Todas las instrucciones están escritas directamente en el chip. Si usa tarjetas de red, en este caso el procesador host todavía está involucrado, el cual es responsable de ejecutar las instrucciones.

Después de un lanzamiento de prueba de dicho sistema, la compañía se convenció de su efectividad y decidió implementar en todos sus centros de datos que proporcionan Azure. Esta semana, la corporación demostró el funcionamiento de su sistema en la conferencia Ignite. Un empleado de la corporación mostró el proceso simultáneo de traducir 3 mil millones de palabras de la Wikipedia en inglés utilizando miles de FPGA. Los datos se procesaron en solo una décima de segundo. El rendimiento del sistema en este caso alcanzó 10 18 operaciones por segundo.

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


All Articles