Democratización del cálculo acelerado en el centro de datos

VMware anunció recientemente[1] su intención de adquirir Bitfusion, una empresa de nueva creación en Austin, Texas. El producto de Bitfusion se llama FlexDirect y permite la conexión remota virtual de GPUs, FPGAs y ASICs para cualquier aplicación de IA. El blog afirma que VMware planea integrar Bitfusion FlexDirect en la plataforma vSphere. Si se pregunta por qué esta tecnología es relevante para VMWare, siga adelante y cuente las diferentes opciones de acelerador disponibles o en desarrollo hoy en día para abordar los crecientes requisitos computacionales de las aplicaciones de IA (Figura 1). A medida que la IA transforma las industrias, los centros de datos continuarán desplegando más GPU (el acelerador líder actual de la IA) a un ritmo acelerado. Se espera que la adopción de la FPGA y los ASIC aumente con el tiempo para hacer frente a las necesidades de cálculo de la inteligencia artificial. Esto es sin duda emocionante para los desarrolladores y usuarios finales de la IA que no pueden obtener el cálculo suficiente para ofrecer el siguiente gran avance de la IA. Por otro lado, la complejidad de desplegar y soportar una gama tan amplia de soluciones informáticas heterogéneas y garantizar su uso eficiente y accesible a todos los usuarios no es una tarea fácil para los equipos de TI que utilizan los modelos de consumo existentes.

Computacion en el data center

¿Cómo utilizan y consumen las GPU los equipos de TI en la actualidad?

Para entender la oportunidad que la tecnología Bitfusion ofrece a las cargas de trabajo de IA, repasemos cómo se despliega el cálculo en la GPU en el centro de datos hoy en día para Deep Learning (DL). Hay dos enfoques que se utilizan comúnmente:

  1. Bare Metal (incluidos los contenedores)
  2. Virtualizado (GPU Passthrough y vGPU)

Como se utilizan los GPUs

La Figura 2 (A) muestra el enfoque tradicional no virtualizado que se utiliza normalmente para acceder a la GPU en entornos nativos o de bare metal. Con este enfoque, la pila de software DL optimizada para la GPU, compuesta por el framework – DL, por ejemplo, las librerías TensorFlow, PyTorch, Nvidia DL (CuDNN, NCCL) y el tiempo de ejecución CUDA, junto con el controlador de la GPU, se instala en la parte superior de un SO servidor (Ubuntu Server/RHEL/CentOS, etc.). Otra opción es el despliegue de la pila de software DL como contenedores en un tiempo de ejecución de contenedores como Docker. Los contenedores DL se publican y están disponibles a través de los desarrolladores del marco DL (TensorFlow, PyTorch), así como de Nvidia, ya que han sido probados, optimizados y empaquetados con librerías de software compatibles[2] Los contenedores para DL son cada vez más populares entre la comunidad DL. El despliegue y los contenedores Bare metal es una opción de despliegue sencilla, por lo que se utiliza comúnmente para sistemas dedicados a un solo usuario o compartidos entre un pequeño número de usuarios.

La Figura 2 (B) muestra las distintas opciones disponibles para consumir GPUs dentro de una Máquina Virtual (VM). Las organizaciones de TI en las que la consolidación de cargas de trabajo es la norma y las cargas de trabajo de producción se han virtualizado para ejecutarse en máquinas virtuales pueden virtualizar sus cargas de trabajo de IA utilizando el paso de la GPU o aprovechando Nvidia GRID. Una GPU habilitada para VM que utilice PCIe passthrough se utiliza habitualmente en despliegues en nube para aprovechar la automatización y los procesos IaaaS existentes (instancias de GPU AWS, GCP y Azure). Las GPU virtualizadas que utilizan GRID de Nvidia se utilizan habitualmente para casos de uso de VDI y de escritorio remoto, aunque no se utilizan mucho para cargas de trabajo computacionales. Espere que esto cambie ya que el último software GRID de Nvidia (GRID 9.0) introduce un nuevo perfil de vGPU (vComputeServer) y una política de licencias para las cargas de trabajo de AI y HPC del centro de datos[3]. La facilidad de gestión, la seguridad y la mejor utilización de los recursos de la GPU son algunas de las ventajas de la virtualización de las cargas de trabajo de IA aceleradas en la GPU.

En resumen, la Figura 2 muestra que los equipos de TI tienen múltiples opciones para proporcionar infraestructura acelerada en la GPU a sus usuarios finales. Las opciones varían en términos de facilidad de despliegue, gestión y capacidades de intercambio de recursos. Las GPU son un recurso muy costoso y codiciado y es importante que los equipos de TI dispongan de una solución que maximice la utilización de los recursos.

¿Cuáles son los otros enfoques que vienen en el camino?

Intel CXL (un estándar de interconexión propuesto por Intel que aprovecha PCIe Gen5) permitirá componer una infraestructura informática heterogénea que permite CPUs, GPUs, FPGAs, ASIC o cualquier dispositivo PCIe que pueda ir en un puerto PCIe como un sistema cohesivo. Dell EMC es uno de los miembros fundadores del consorcio Gen-Z. Gen-Z es una nueva interconexión universal que permitiría componer potentes arquitecturas informáticas y hacer realidad la verdadera desagregación. Pronto, el tejido Gen-Z tendrá todos los componentes necesarios para componer completamente un sistema a partir de pools de recursos, incluyendo CPUs, memoria, almacenamiento y aceleradores. Mientras tanto, la Figura 3 ilustra un enfoque desagregado para el consumo de GPU que es factible hoy en día utilizando las tecnologías existentes. Existen dos enfoques para componer la infraestructura de forma dinámica para el consumo: utilizar PCIe o Network como tejido sobre el que se accede a los dispositivos que se van a consumir bajo demanda de forma elástica. Este enfoque proporciona una mejor gestión y la capacidad de mancomunar y asignar recursos entre grupos, así como la capacidad de generar y reducir recursos en función de la demanda.

omposable GPU infraestructure

Los enfoques que utilizan el tejido PCIe para proporcionar una solución componible incluyen la plataforma Liqid[4] y H3[5]. Estas soluciones permiten añadir dispositivos PCIe como GPUs, FPGAs y NVMe a los servidores de metal desnudo sobre un tejido PCIe construido utilizando sus conmutadores y adaptadores de host en los nodos de cálculo. Bitfusion FlexDirect conecta cualquier servidor de cálculo de forma remota, a través de Ethernet, Infiniband RDMA o redes RoCE a grupos de servidores de GPU. Opera en el espacio de usuario y utiliza una arquitectura cliente-servidor. Cada enfoque tiene su lugar. Un enfoque de sólo software es más fácil de implementar y desplegar para las tiendas de TI tradicionales que requieren una inversión significativa en hardware adicional. Un enfoque de software también puede ser aprovechado por AIOps. IDC predice que para el año 2022, el 75% de las operaciones de TI serán suplantadas por la IA o basadas en análisis.

Si no estás convencido de que la desagregación para aceleradores es un cambio de juego, veamos algunas de las métricas de eficiencia para los clusters de GPU existentes. Un estudio reciente analizó las métricas de utilización de la GPU en los distintos emplazamientos de los clientes que ejecutan cargas de trabajo de IA[6] y descubrió que los costosos recursos de la GPU estaban muy infrautilizados. Los dos hallazgos clave del estudio están parafraseados a continuación (junto con nuestras recomendaciones para resolverlos):

  1. Casi un tercio de los usuarios están promediando menos del 15% de utilización. El uso medio de la memoria de la GPU es bastante similar. Dado que los usuarios son profesionales con experiencia en el aprendizaje profundo, esto es muy sorprendente. Las GPUs son cada vez más rápidas, pero no importa si el código de formación no las utiliza por completo: En lugar de proporcionar una GPU dedicada a un usuario, se puede mejorar la utilización compartiendo la GPU mediante la virtualización entre varios usuarios. A los usuarios que utilizan un tamaño de lote óptimo, velocidades de aprendizaje e hiperparámetros para utilizar la memoria de la GPU y las funciones de cálculo se les puede asignar una instancia de la GPU dedicada.
  2. Hay otro, probablemente mayor, desperdicio de recursos: GPUs que no se utilizan. Es difícil hacer colas de trabajo de forma eficiente para las GPUs. En un flujo de trabajo típico, un investigador realiza muchos experimentos, espera a que terminen y luego dedica bastante tiempo a digerir los resultados mientras las GPUs están inactivas: El uso compartido y la desagregación de la GPU son requisitos clave para resolver este problema, ya que proporcionan la capacidad de reasignar y centralizar recursos de forma dinámica, lo que permite que otros investigadores puedan utilizar los recursos inactivos.

La implementación de Accelerated Edge es un caso de uso que no fue cubierto en el estudio, pero también se beneficiará de la desagregación, agrupación y partición. El uso de la tecnología de virtualización para dividir los recursos de forma dinámica en función de los requisitos de la carga de trabajo será extremadamente útil para los dispositivos de borde acelerado sensibles a la energía.

Habilitar la revolución de la IA

Como proveedor de infraestructura informática, se nos pregunta por qué promovemos y defendemos una solución que reduce la huella del hardware al aumentar la eficiencia y mejorar la utilización. Esto no es nuevo, nos enfrentamos a esto como industria cuando VMWare ofreció soluciones de virtualización para cargas de trabajo de servidores a principios de la década de 2000. Observamos la aparición de tecnologías de almacenamiento (NAS, SAN) que permitían alcanzar puntos de rendimiento, capacidad y coste que no se podían conseguir utilizando soluciones de conexión directa, lo que permitía a los clientes adquirir una infraestructura más optimizada. La virtualización, la abstracción, la puesta en común y el uso compartido son elementos clave que han mejorado el entorno informático, de almacenamiento y de redes a lo largo del tiempo. Es una tendencia inevitable que la computación heterogénea y acelerada eventualmente seguirá

En resumen, hacer que el cálculo acelerado sea más eficiente y fácil de usar a través de la desagregación permitirá 1) una mayor adopción y 2) que sea factible proporcionar los recursos computacionales necesarios para la transformación de la IA a todos los que lo necesiten.

Esperamos continuar nuestro trabajo con el equipo de Bitfusion y ampliar la asociación a medida que pase a formar parte de la familia de Dell Technologies». Se aprendieron muchas lecciones de las pruebas de concepto realizadas en los centros de datos de los clientes, las demostraciones en vivo de FlexDirect proporcionadas por Guy Laporte (arquitecto de soluciones) en el Centro de soluciones para clientes de Dell EMC, y las conversaciones conjuntas que mantuvimos con los clientes para comprender sus desafíos en torno a la habilitación de una infraestructura de computación acelerada y eficiente que funciona con las tecnologías de aceleración más recientes y mejores». Si no está familiarizado con el trabajo conjunto realizado por Bitfusion y Dell EMC, aquí tiene algunas referencias que muestran nuestra colaboración en los últimos años:

1] VMware adquirirá Bitfusion el 18 de julio de 2019 https://blogs.vmware.com/vsphere/2019/07/vmware-to-acquire-bitfusion.html

2] Contenedores Nvidia NGC https://ngc.nvidia.com/catalog/landing

3] Documentación de Nvidia GRID 9.0 https://docs.nvidia.com/grid/latest/

4] https://www.liqid.com/

5] http://www.h3platform.com/

6] Supervisar y mejorar el uso de la GPU para la formación de modelos de aprendizaje profundo

https://towardsdatascience.com/measuring-actual-gpu-usage-for-deep-learning-training-e2bf3654bcfd

About the Author: Ramesh Radhakrishnan

Ramesh is an Engineering Technologist in Dell's Server CTO Office. He has led technology strategy and architecture for Dell EMC in the areas of Energy Efficient MicroServer Architecture (ARM/Xeon-D), Microsoft Hybrid Cloud and is currently engaged in driving technology strategy and architecture for Dell EMCvaround advanced Analytics and Machine Learning/Deep Learning. He is a member of the Dell Patent Committee and has 15 published patents. He received his Ph.D in Computer Science and Engineering from the University of Texas at Austin.