vGPU: el uso no se puede ignorar



En junio-julio, casi dos docenas de compañías recurrieron a nosotros que estaban interesados ​​en las capacidades de las GPU virtuales. Los "gráficos" de Cloud4Y ya están siendo utilizados por una de las subsidiarias más grandes de Sberbank, pero en general el servicio no es muy popular. Entonces, tal actividad nos agradó mucho. Al ver el creciente interés en la tecnología, decidimos hablar un poco más sobre vGPU.

Los "lagos de datos" obtenidos como resultado de experimentos e investigaciones científicas, aprendizaje profundo y otras áreas de trabajo con IA, modelado de objetos grandes y complejos, todo esto requiere un hardware de alto rendimiento. Bueno, si es así y le permite resolver rápidamente los problemas actuales. Eso es solo debido a la creciente complejidad computacional de las tareas (principalmente para análisis de negocios, renderizado, algoritmos DL y marcos), las capacidades de hardware de las CPU de escritorio e incluso de los servidores son cada vez más inútiles.

La solución se encontró en el uso de la computación GPU. Esta tecnología de aceleración de gráficos permite compartir recursos de una GPU entre múltiples computadoras virtuales. La GPU se diseñó originalmente para trabajar con gráficos, ya que consta de miles de pequeños núcleos utilizados para el procesamiento eficiente de tareas paralelas. Al mismo tiempo, parte de los cálculos más intensivos en recursos se realiza en la GPU, la CPU se encarga del resto.



La computación GPU fue inventada por Nvidia en 2007. Hoy esta tecnología ha alcanzado un nuevo nivel y se utiliza en los centros de datos de las empresas y laboratorios científicos más grandes. Sin embargo, el enfoque tradicional tiene un inconveniente importante: la compra de equipos físicos es muy costosa. Y si recuerdas la velocidad de obsolescencia del "hierro", se vuelve aún más triste.

El problema está diseñado para resolver la tecnología de los procesadores gráficos virtuales: vGPU. Con él, los usuarios pueden iniciar de forma remota aplicaciones pesadas como AutoCAD, 3DS Max, Maya, Sony Vegas Pro. La virtualización ganó rápidamente su cuota de mercado. Después de todo, ¿a qué científico de datos ruso no le gusta la informática rápida en las tarjetas de video NVidia Tesla?

Vale la pena señalar aquí que antes del advenimiento de vGPU, se usaban otros métodos de aceleración de procesamiento de gráficos: Aceleración de gráficos compartidos virtuales (vSGA) y Aceleración de gráficos dedicados virtuales (vDGA). La solución vGPU combina lo mejor de ambas tecnologías. Como en el caso de vSGA, en el entorno vGPU, se supone que la GPU y la RAM se comparten entre varios escritorios virtuales, pero cada VM transmite comandos directamente a la GPU, como es el caso con vDGA.

¿Por qué necesito vGPU?


La computación en la nube con vGPU permite a las empresas hacer frente a tareas que antes eran imposibles de resolver. O tal vez, pero requirió una cantidad poco realista de recursos. 1 servidor GPU moderno puede reemplazar hasta 100 CPU convencionales. Hay otras figuras aún más impresionantes . No son bromas: las soluciones de Nvidia procesan petabytes de datos varias veces más rápido que los servidores de CPU clásicos. Y el mismo Google Cloud ofrece máquinas virtuales con GPU que emiten hasta 960 teraflops.

Muchos profesionales necesitan dispositivos potentes que puedan realizar computación paralela. Los arquitectos e ingenieros utilizan la tecnología vGPU en los sistemas de diseño (el mismo Autodesk, por ejemplo). Los diseñadores trabajan con contenido de fotos y videos digitales (Photoshop, CorelDraw). Las máquinas médicas también requieren máquinas virtuales con GPU que acumulan y analizan los datos de pacientes y enfermedades. Funciona con GPU y Yandex .

Pensar todo? No importa como. La tecnología se utiliza para verificar automáticamente la precisión de las imágenes satelitales y para pronosticar epidemias , estudios meteorológicos , modelado de ciclos solares e inteligencia de negocios . También hay un artículo interesante sobre modelado en Unity3D por ThisIsZolden .

Por todo esto, las soluciones basadas en vGPU aún no han recibido una amplia distribución en el mundo. Entonces, en 2018, NetApp realizó una encuesta entre las empresas que utilizan GPU en su trabajo. Los resultados mostraron que el 60% de las organizaciones aún trabajan en su propia infraestructura de TI. "Cloud" se usa solo en un 23%. En Rusia, la penetración de la tecnología de computación en la nube es menos importante. Pero gracias a las nuevas soluciones de hardware y software, el número de empresas que utilizan máquinas virtuales con GPU está en constante crecimiento.

Soluciones VGPU




Muchas empresas están involucradas en el desarrollo de tecnologías de virtualización para aceleradores gráficos, pero hay líderes indudables entre ellas.

VMware , uno de los desarrolladores de soluciones en la nube más respetados, ofrece a las empresas un hipervisor ESXi , en virtud del cual la velocidad de las GPU virtuales es comparable a las implementaciones básicas. En una actualización reciente, el desarrollador apagó el balanceador de carga vMotion y agregó soporte para la tecnología DirectPath I / O, que conecta el controlador CUDA a la VM sin pasar por el hipervisor y acelera la transferencia de datos.

Nvidia también está tratando de cumplir con las expectativas del mercado, y para esto lanzó la plataforma de código abierto Rapids . La solución combina varias bibliotecas para trabajar con la arquitectura CUDA, lo que simplifica el trabajo con datos durante el entrenamiento de redes neuronales y le permite automatizar el trabajo con código Python. El uso de Rapids con el algoritmo de aprendizaje automático XGBoost proporciona un aumento de 50 veces en el rendimiento en comparación con los sistemas basados ​​en CPU.

AMD tiene su propia tecnología. La plataforma se llama ROCm . Utiliza la tecnología SR-IOV, que comparte las capacidades de hardware de un dispositivo físico entre múltiples máquinas virtuales. Los recursos de un acelerador se pueden dividir entre dieciséis usuarios, manteniendo el mismo rendimiento para cada uno de ellos. Esto acelera la transferencia de datos entre las CPU y GPU en la nube. También se usa un dialecto especial de C ++ llamado HIP, que simplifica la implementación de operaciones matemáticas en la GPU.

Intel está construyendo su tecnología sobre la base del hipervisor multiplataforma Citrix XenServer 7, que recibió el certificado de conformidad FSTEC en 2017. La solución combina el trabajo de un controlador de GPU estándar y una máquina virtual. Es decir, el "virtualka" puede soportar la operación de aplicaciones pesadas en dispositivos de una gran cantidad (varios cientos) de usuarios.

Perspectivas de mercado




Analistas independientes estiman que las ventas de soluciones HPC alcanzarán los $ 45 mil millones para 2022. Los desarrolladores de plataformas también esperan una mayor demanda de sistemas de alto rendimiento. Esta expectativa se ve reforzada por la popularidad de Big Data y la necesidad cada vez mayor de procesar grandes cantidades de datos.

Además, la mayor demanda de vGPU puede estimular el desarrollo de tecnologías híbridas que combinan GPU y CPU en un solo dispositivo. En tales soluciones integradas, dos tipos de núcleos utilizan un caché común, lo que acelera la transferencia de datos entre gráficos y procesadores tradicionales.

Los híbridos cambiaron fundamentalmente el enfoque de la virtualización y la distribución de recursos virtuales dentro de los centros de datos. Y las soluciones de código abierto como ROCm y Rapids permiten a los operadores de centros de datos utilizar los recursos informáticos de manera más eficiente, aumentando el rendimiento del equipo.

Hay otra opinion. Por ejemplo, las GPU virtuales serán reemplazadas por chips ópticos con codificación de datos por fotones. Dichas soluciones ya existen y se utilizan para el aprendizaje automático. Además, parecen más productivos que una GPU normal. Pero la tecnología aún está húmeda.

¿Qué conclusión se puede hacer? A pesar de la posible aparición de análogos, vGPU es un área bastante prometedora que puede resolver una gran cantidad de problemas. Pero no se adapta a todos. Para que pueda poner una coma en el encabezado usted mismo.

PS
¡Suscríbete a nuestro canal de Telegram para no perderte otro artículo! No escribimos más de dos veces por semana y solo por negocios.

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


All Articles