La UIP en el punto de mira: Diseñar un procesador poniéndose en el lugar del cliente

'Behind the Builders': Brad Burres, miembro de Intel, explica cómo la unidad de procesamiento de infraestructura mueve las tareas de menor valor de la CPU, liberándola para cargas de trabajo más importantes.

Pregúntele a Brad Burres qué le gusta hacer en su tiempo libre, y es posible que se sorprenda de la simplicidad de su respuesta: además de conducir su motocicleta (una Triumph), caminar y dirigir excursiones a la naturaleza de boy scouts, le gusta el bricolaje. Cuando usas una pistola de clavos, explica, "no te distraes y no hay problemas difíciles de resolver".

La ironía es que Burres, miembro del equipo Ethernet Products Group de Intel, es una de las personas clave detrás de la unidad de procesamiento de infraestructura (IPU) de Intel, un procesador específico del dominio diseñado para resolver un problema bastante grande para los clientes de servidores. Si bien los recuentos de núcleos de CPU aumentan para seguir el ritmo de la creciente demanda de computación, también lo hace la cantidad de sobrecarga o tareas de procesamiento de infraestructura. Lo último que desea es que sus potentes núcleos de CPU se empantanen en el lodo del procesamiento de sobrecarga en lugar de ejecutar su aplicación.

Piense que es como aumentar el número de personas en un equipo para hacer el trabajo más rápido. Hay un costo asociado con la escala de su equipo: debe tener en cuenta el tiempo que lleva asignar tareas, asegurarse de que las cosas se estén haciendo correctamente, administrar el horario de turnos del equipo y más. En el centro de datos, las funciones de infraestructura como las redes, el almacenamiento y la seguridad requieren potencia de procesamiento, pero no necesariamente tiene que ser manejada por la CPU. Ahí es donde entra en juego la UIP.

Burres dice que entre el 30% y el 40% de los ciclos se gastan en infraestructura. Al mover algunas de esas tareas de infraestructura a la IPU, puede liberar ciclos de CPU para cargas de trabajo más importantes.

"El objetivo de cualquiera de los grandes proveedores de infraestructura es tener cero ciclos de infraestructura ejecutándose en Xeon®", explica Burres. "Si eres Microsoft Azure o AWS o Google Cloud, no quieres gastar ningún ciclo de cómputo de Xeon en tus tareas de infraestructura o en toda la red".

Un problema compartido es un problema resuelto

La primera UIP ASIC de Intel se desarrolló como parte de una colaboración con Google. El gigante de la web tenía una lista específica de necesidades que requerían una asociación de codesarrollo profundamente entrelazada. Juntos, los equipos desarrollaron capacidades de procesamiento de paquetes programables para permitir una variedad de casos de uso según lo definido por Google. El resultado es Mount Evans, un ASIC que maneja las descargas de hardware y aprovecha los núcleos ARM N1 para cargas de trabajo específicas que no requieren la potencia de un procesador Intel® Xeon®, pero que tienen que suceder en algún lugar. Sin embargo, es más que solo el arte de la entrega. Se realizó un trabajo significativo para asegurarse de que Mount Evans pudiera manejar las tareas de infraestructura de la manera más eficiente posible. Por ejemplo, Mount Evans admite la transferencia de hasta 200 millones de paquetes por segundo (es decir, paquetes de información basados en cargas de trabajo reales, no un punto de referencia). Al mismo tiempo, se emplean capacidades criptográficas para garantizar la seguridad de la información que vuela a través del centro de datos.

Este chip puede haber sido diseñado en colaboración con Google, pero los problemas que aborda no son de ninguna manera exclusivos. "Mount Evans no es súper específico de Google", dice Burres. "La optimización se adaptó a los problemas que Google identificó dentro de sus propias operaciones, pero es lo suficientemente flexible como para tener aplicaciones en muchos otros lugares".

Otros clientes están deseando aprovechar la primera generación de ASIC IPU para necesidades similares en sus propios centros de datos.

"Las mejores ideas provienen de escuchar problemas similares de múltiples clientes y tener el tiempo para volver con sus amigos técnicos y debatir cómo resolverlos y buscar los puntos en común", dice Burres, y agrega que otras compañías con desafíos de infraestructura similares han ideado sus propias soluciones.

La teoría de la evolución: SmartNICs, IPUs y más allá

Aunque solo ha existido en el dominio público durante un año, la UIP ha estado ocupando espacio en el cerebro de Burres durante años. El trabajo en lo que se convirtió en la primera UIP de Intel comenzó en 2016 con un producto diferente que finalmente se transformó en lo que debutó hace un año, y la historia del pequeño chip se remonta aún más atrás.

En su cargo anterior como arquitecto principal de SmartNIC, Burres se centró en la descarga de redes, la descarga de almacenamiento y el procesamiento general de paquetes, específicamente para proveedores de servicios en la nube de primer nivel. Todo es un territorio familiar para un procesador específico de dominio que eventualmente estaría diseñado para hacer precisamente eso. El paso de SmartNIC a IPU es una evolución lógica, pero no es solo un cambio en la terminología. De hecho, la diferencia entre los dos explica el futuro de la UIP de manera más amplia.

"SmartNIC es un término transitorio. Una NIC general es algo que no tiene ninguna inteligencia. No hay FPGA ni computación, es solo una canalización fija. El SmartNIC tiene inteligencia, núcleos y flexibilidad, pero es solo una red", explica Burres. "Con funciones adicionales como el almacenamiento y la telemetría, hay más oportunidades de optimización, y el término 'SmartNIC' ya no describe con precisión lo que estos chips pueden hacer".

Los clientes están clamando por el inventario de la UIP de Mount Evans. Liberar la potencia de cómputo general es un gran problema para las empresas cuyos negocios completos giran en torno al alquiler de la capacidad del servidor, especialmente en los casos en que la demanda fluctúa. El aprovisionamiento excesivo para tener en cuenta el aumento de la necesidad en ciertas funciones es un desperdicio, y agregar Xeons más robustos es una solución costosa.

"El apetito es enorme", dice Burres, antes de añadir que no se trata sólo de enviar silicio. Intel tiene que asegurarse de que su software pueda manejar lo que los clientes quieren poder hacer, como expandirse al borde. "No es como Xeon, donde se lo vendes, y se van y escriben el software. Dimos un gran mordisco y queremos garantizar un progreso incremental".

Una hoja de ruta actualizada publicada en mayo estableció los próximos cuatro años de IPU de Intel, incluidos algunos detalles sobre la segunda generación, Mount Morgan. Es temprano, pero los equipos que trabajan en Mount Morgan y una UIP de tercera generación posterior están trabajando con el equipo de Xeon para alinear y garantizar que sus caminos separados sean paralelos y converjan donde tenga sentido.

"El cielo es el límite", dice Burres, cuando se le pregunta qué le depara el futuro a las OPI. "La tasa de innovación en un nuevo segmento es bastante alta, que es lo que lo hace tan divertido. La UIP es lo suficientemente flexible como para admitir muchos más casos de uso. Con Mount Evans, tenemos redes e infraestructura. El almacenamiento es el siguiente. Después de eso, comenzará a ver que algunas de las E/S se mueven hacia la UIP. Hay espacio para la innovación en todas partes, estamos en la punta del iceberg".

Eso puede asustar a algunas personas, pero para un ingeniero, esta fase "temprana e interesante" es preferible porque mantiene las "tareas generales" (como un calendario lleno de reuniones) al mínimo. No es tan sencillo como una tarde de domingo con una pistola de clavos, pero está más cerca de lo que mucha gente consigue.