La computación acelerada por GPU se abre paso en el centro de datos.Una vez vistos por poco como una tecnología de juego, las GPU se han abierto camino en los centros de datos empresariales, impulsando iniciativas en torno al aprendizaje automático, la inteligencia artificial y más.
Los profesionales de TI que luchan con un lento proyecto de análisis de datos pueden encontrar inspiración en una fuente poco probable: los videojuegos.
Nacidas para satisfacer las demandas de los jugadores, las unidades de procesamiento de gráficos (GPU ) están encontrando un nuevo nicho en los centros de datos empresariales . Su arquitectura paralela los hace adecuados para algunas cargas de trabajo tradicionales que pueden beneficiarse de la computación acelerada por GPU.
Debido a que una GPU tiene miles de núcleos y fue diseñada para manejar el movimiento de gráficos de una fracción de segundo en una pantalla grande, si lo apunta a filas y columnas de datos, es increíblemente rápido en el procesamiento analítico.
Cuando las velocidades de reloj de la CPU se duplicaban cada dos años, había poca demanda para el tipo de velocidad que permite la computación acelerada por GPU. Pero como las mejoras en la velocidad del reloj disminuyeron, los usuarios con altas demandas de cómputo comenzaron a explorar las GPU como alternativa.
Las GPU ofrecen velocidades de reloj más lentas que las CPU, pero pueden procesar miles de subprocesos simultáneamente. Los adoptadores tempranos incluyeron aplicaciones de computación científica y de modelado en el mundo real, que deben procesar simultáneamente la influencia de múltiples variables.
Por ejemplo, el pronóstico del tiempo se computa en el backend por un supercomputador que procesa miles de factores paralelos para calcular un modelo.
Si bien los arquitectos de supercomputadoras y los investigadores científicos fueron de los primeros en utilizar GPU para el procesamiento de propósito general, el volumen de datos que las empresas recopilan y analizan está superando las mejoras anuales de CPU.
Las GPU no son una bala de plata para todas las cargas de trabajo . Una aplicación debe ser refactorizada o escrita específicamente para ejecutarse en una GPU. Algunos procesos son obviamente paralelos y se benefician al máximo con las GPU. Otros procesos son altamente secuenciales y se ejecutan mejor en las CPU.
Esto significa que tenemos una clase más amplia de problema que se ubica en un punto intermedio.
No son triviales para paralelizar, pero, si estructuramos el código de la manera correcta, aún podemos obtener grandes beneficios de una GPU. Se trata de cómo se asigna el cálculo a los datos.
Este enfoque, utilizado por MapD y otros, se denomina computación acelerada por GPU. Su objetivo es dividir el trabajo entre una CPU y GPU. Incluso si la mayoría del código de una aplicación requiere un procesamiento secuencial, a veces es posible descargar ciertos procesos de uso intensivo de la computación de ese código a una GPU.
A medida que el volumen de datos que las organizaciones recopilan ha aumentado, también lo ha hecho la demanda comercial para obtener valor de esos datos. Es por eso que las bases de datos aceleradas por GPU están empezando a calentarse. Estamos viendo un crecimiento muy fuerte en este espacio”.
Nike, por ejemplo, utiliza servidores habilitados para GPU y el software de base de datos de MapD para analizar datos históricos de ventas y predecir la demanda en regiones particulares. Otro cliente de MapD, Verizon, utiliza sistemas potenciados por GPU para analizar registros de servidores que rastrean teléfonos móviles.
MapD no está solo en este mercado emergente. Brytlyt, con sede en Londres, y SQream Technologies, con sede en Nueva York, ofrecen enfoques competitivos para el análisis acelerado por GPU.
No se trata solo de un tsunami de datos, también es un tsunami de empresas completamente nuevas con nuevas demandas.
Uber es una empresa de datos que interrumpe la industria de los taxis, y Airbnb es una empresa de datos que interrumpe el sistema de alquiler.
Muchos de los principales proveedores de la nube ahora ofrecen instancias para la computación acelerada por GPU , lo que puede reducir el costo de entrada para una empresa que experimenta con un proyecto de análisis o visualización.
Sin embargo, una serie de factores podrían ralentizar el crecimiento de los análisis basados en GPU. Con sistemas tan grandes, complejos y costosos como las plataformas de bases de datos empresariales, hay una duda comprensible de eliminar y reemplazar. Y la mayoría de las empresas que ofrecen sistemas de base de datos acelerados por GPU son pequeñas empresas que no cuentan con el reconocimiento de nombre, fuerza de ventas o infraestructura de soporte de los gigantes de base de datos tradicionales.
Aun así, para las compañías que buscan analizar rápidamente grandes conjuntos de datos, será imposible ignorar las ganancias brutas de rendimiento. Los sistemas de bases de datos acelerados por GPU son capaces de reemplazar clusters de servidores completos para algunas cargas de trabajo.
Un enfoque más inteligente
La capacidad de una GPU única para procesar subprocesos simultáneos más rápido que un grupo de servidores basados en CPU hace que las GPU sean ideales para otro tipo de carga de trabajo emergente .
En los últimos años, hemos visto esta gran explosión de inteligencia artificial y aprendizaje automático, que resulta ser la carga de trabajo paralela ideal.
Hay varios enfoques para la inteligencia artificial, pero uno que está creciendo rápidamente, gracias al surgimiento de las GPU para la computación de propósito general, es el aprendizaje profundo .
El ángulo de aprendizaje profundo de la IA pretende emular la matriz de neuronas del cerebro humano con una red neuronal virtual de nodos informáticos. Una red está formada por varias capas, y cada nodo realiza una función específica. Los datos de salida de cada nodo se pesan para deducir un resultado probable. El concepto tiene décadas de antigüedad, pero, hasta hace poco, solo los clústeres y las supercomputadoras muy grandes eran capaces de crear una red neuronal robusta.
Existen empresas que confían en las redes neuronales de aprendizaje profundo que utilizan las GPU para desarrollar sus modelos de aprendizaje de idiomas. Se trata de entrenar un sistema para comprender de mejor forma el lenguaje al mostrarle miles de expresiones habladas como muestra. Eso es mucho cómputo. En estas redes, los nodos realizan cálculos simples. Y como tenemos muchos nodos que necesitan hacer lo mismo al mismo tiempo, las GPU son ideales para ayudar.
Un número creciente de aplicaciones admite la computación acelerada por GPU, incluidos muchos de los mejores marcos de inteligencia artificial.
Si bien el horizonte es prometedor para la GPU, eso no significa necesariamente que será la única tecnología para suplantar a las CPU. Intel está apostando fuerte, específicamente los $ 16.7 mil millones que gastó para adquirir el fabricante de chips Altera especializado , no en GPU, sino en arreglos de puertas programables en campo (FPGA) . Al igual que las GPU, las FPGA pueden realizar ciertos cálculos más rápido que las CPU. En lugar de servir como procesadores de propósito general, los FPGA se pueden programar para ejecutar de manera más eficiente un conjunto específico de instrucciones.
En lugar de utilizar GPU, Ryft, con sede en Maryland, ofrece una plataforma de análisis de base de datos acelerada por FPGA. Además, Microsoft reveló recientemente que sus servicios de inteligencia artificial basados en Azure son impulsados por Altera FPGA.
Leer también: qué es la ley de Moore; Los data centers hiperescalables, en que se diferencian de los tradicionales ; ¿Que es data science, ciencia de datos? Definición, significado, concepto