¿Qué es el hardware especializado y por qué el código abierto impulsará la adopción?

Hace más de 35 años, Alan Kay dio una charla ahora famosa en un seminario llamado Creative Think , donde comentó: “Las personas que realmente se toman en serio el software deberían fabricar su propio hardware”.

El tiempo le dio la razón a Kay en repetidas ocasiones, y el panorama actual impulsado por la nube está demostrando nuevamente cuán impactante puede ser el hardware no homogéneo.

En el concepto de la infraestructura digital, está naciendo una nueva clase de hardware que incluye SmartNIC, FPGA, DPU, TPU y CPU personalizadas basadas en Arm, cada cual diseñada para acelerar cargas de trabajo o aplicaciones particulares, y sobre todo haciéndola más eficiente que las soluciones genéricas. A medida que estas tecnologías se hacen más notorias y más usuarios comienzan a envolver el hardware alrededor de su software (en lugar de al revés), estamos viendo el lento final de una era de dominio homogéneo de CPU, el inicio de una poderosa herramienta para la innovación y una emocionante punto de encuentro para la comunidad de código abierto.

El enfoque único de la CPU de servidor y la arquitectura de sistemas convencionales es cada vez más ineficaz para muchas cargas de trabajo contemporáneas, porque están diseñadas para ejecutar lógica empresarial de propósito general. Para las aplicaciones que necesitan ejecutarse en cualquier tipo de escala, es mucho más eficiente diseñar una “nube personalizada” para esa aplicación. La ley de Moore se está desacelerando a medida que aumenta la demanda de contenido (como Netflix) y dispositivos inteligentes (como automóviles conectados) por parte de los consumidores.


El consumo de energía

El consumo de energía es un aspecto muy importante a considerar y la sostenibilidad económica como la ecológica han hecho de este un tema cada vez más central. El hardware especializado, optimizado para casos de uso particulares, requiere menos energía que las CPU genéricas. Por ejemplo, aunque hay muchas noticias sobre la energía consumida por las GPU (y mucho menos las ASIC o FPGA) para la minería de criptomonedas, ese consumo palidece en comparación con la energía que se necesitaría para usar CPU genéricas para el mismo trabajo.

Incluso dentro del mercado de las CPU, estamos viendo cómo la optimización del rendimiento y el consumo de energía es un factor importante para el cambio. Las CPU de Arm suelen tener un rendimiento favorable frente a las arquitecturas basadas en x86 en cuanto al consumo de energía, principalmente porque están más diseñadas para casos de uso específicos. Esta es una de las razones por las que Arm ha tenido tanto éxito en el mercado de dispositivos móviles conscientes de la batería, pero ahora estamos comenzando a ver que estos ahorros de energía (y ganancias de rendimiento) se trasladan a dispositivos más potentes, según los recientes anuncios de M1 basados ​​en Arm de Apple todo el camino hasta las implementaciones a escala de centro de datos de Graviton 2 de AWS y la línea Altra de la startup de chips Ampere .

Actuación

Si bien el consumo de energía suele ser una consideración importante, a veces es el rendimiento puro el factor principal. Como se mencionó anteriormente, las GPU son más eficientes que las CPU genéricas para ciertas cargas de trabajo, como los videojuegos y el aprendizaje automático. Pero su capacidad para realizar cálculos masivamente paralelizados significa que ahora están encontrando adopción en campos tan diversos como la bioinformática, la detección de intrusiones y la transcodificación de video.

Los circuitos integrados de aplicaciones específicas (ASIC) son tan especializados como el hardware. Es un chip creado para realizar un conjunto específico de tareas y nada más. Son el máximo de rendimiento y los encontrarás en todos los dispositivos que te rodean, pero desde el punto de vista del desarrollador son aburridos, ¡porque no podemos programarlos!

Ingresa a la matriz de puerta programable en campo (FPGA). “Programable en el campo” literalmente como en, “en el campo” o después de la fabricación. Los FPGA constan de miles de bloques lógicos configurables (CLB) y otros componentes que pueden programarse para que se comporte como un microprocesador, o como una unidad de cifrado, tarjeta gráfica o cualquier otra cosa que desee. Los FPGA representan un compromiso programable lo más cercano a ASIC posible que se ha adoptado en campos tan dispares como el comercio de alta frecuencia y la automoción (y más recientemente, liderado por Microsoft , en la computación en la nube). Sin embargo, los FPGA pueden funcionar mal en cuanto al consumo de energía.

Escalabilidad

Cada vez más, estamos viendo la demanda de hardware de alto rendimiento y consciente de la energía a escala. Esto funciona de dos maneras, desde la escala exponencialmente creciente de datos que se recopilan y procesan cada día, hasta la escala más pequeña del tipo de centros de datos de borde que operamos en Equinix. Se está utilizando hardware especializado para ayudar con ambos.

A medida que la computación perimetral avanza hacia la demanda de fuentes de datos cada vez más distribuidas, la naturaleza restringida de las implementaciones perimetrales requiere que se diseñen teniendo en cuenta la eficiencia de todo tipo. Las empresas que apuestan por el borde no pueden darse el lujo de ejecutar miles de servidores en un centro de datos tradicional, por lo que las máquinas que ejecutan se beneficiarán enormemente de la especialización del hardware para la carga de trabajo.

La clave del éxito: Adopción de Bottoms Up a través de código abierto

Cuanto más especializado sea el hardware para la aplicación, mejor será el consumo de energía, el rendimiento o la escalabilidad potenciales. Pero existen claras compensaciones que pueden obstaculizar la adopción generalizada de hardware especializado: a saber, accesibilidad y compatibilidad.

Debido a su adopción masiva, casi todo funciona en una CPU x86, lo que proporciona un poderoso incentivo para no experimentar y adoptar tipos de hardware especializados. Los fabricantes de hardware se enfrentan a dos problemas al abordar el tema de la compatibilidad:

Dónde priorizar sus esfuerzos de compatibilidad,
¿Cómo hacer todo el trabajo?
Las comunidades de código abierto pueden ayudar con ambos.

Si bien puede parecer obvio decir que para que los desarrolladores innoven con hardware especializado, necesitarán acceder a él; en realidad, es un poco más complicado. Toda una generación de desarrolladores ha crecido con la nube, lo que significa que, en su mayor parte, esperan consumir sus innovaciones de hardware a través de una API.

Esto significa que los fabricantes de hardware y todos los integrantes de la cadena de suministro, desde diseñadores de chips, diseñadores de sistemas, arquitectos de centros de datos, etc., se enfrentan al problema del huevo y la gallina. Necesitan que los proveedores de la nube adopten su hardware para ponerlo en manos de los desarrolladores de código abierto ansiosos, pero necesitan la adopción para convencer a los proveedores de la nube de que almacenen su nueva tecnología innovadora.

Ya sea impulsado por la necesidad de reducir el consumo de energía, aumentar el rendimiento o la escalabilidad, esta nueva y emocionante ola de innovación en hardware especializado será liderada por aquellos que, como competencia clave, activan y construyen mejor sus comunidades de desarrolladores.

Metal

Queremos seguir creando cursos gratuitos en nuestro canal de YouTube. Solo te pedimos tu ayuda para crecer más. Suscríbete por favor. (Cursos, talleres y charlas gratis para ti).

Ernesto Mota
Nací en el d.f., sigo siendo defeño, hoy radico en la hermosa ciudad de Cuernavaca, Morelos, soy Ing. en Sistemas computacionales, con un posgrado en Tecnologías de información, Doctorando en ambientes virtuales de aprendizaje y realidad aumentada, Tecnólogo es mi categoría laboral, y mi linea de investigación es la realidad aumentada aplicada a nuevos entornos de aprendizaje.

Últimos artículos

a

Publicasciones relaciodadas