Los procesadores existentes en PC, teléfonos inteligentes y otros dispositivos se pueden sobrecargar para obtener enormes ganancias de potencia y eficiencia utilizando un nuevo marco de software de procesamiento paralelo diseñado para eliminar cuellos de botella y utilizar múltiples chips a la vez.
La mayoría de las computadoras modernas, desde teléfonos inteligentes y PC hasta servidores de centros de datos, contienen unidades de procesamiento de gráficos (GPU) y aceleradores de hardware para inteligencia artificial y aprendizaje automático. Los ejemplos comerciales conocidos incluyen Tensor Cores en GPU NVIDIA, Tensor Processing Units (TPU) en servidores de Google Cloud, Neural Engines en iPhones de Apple y Edge TPU en teléfonos Google Pixel.
Cada uno de estos componentes procesa información por separado, barajando información de una unidad de procesamiento a la siguiente, y esto a menudo crea cuellos de botella en el flujo de datos. En un nuevo estudio, investigadores de la Universidad de California Riverside (UCR) demuestran un método en el que diversos componentes existentes operan simultáneamente para mejorar en gran medida la velocidad de procesamiento y reducir el consumo de energía.
«No es necesario agregar nuevos procesadores porque ya los tiene», dijo Hung-Wei Tseng, profesor asociado de ingeniería eléctrica e informática de la UCR y coautor principal del estudio.
El marco de los investigadores, llamado multiproceso simultáneo y heterogéneo (SHMT), se aleja de los modelos de programación tradicionales que sólo pueden delegar una región de código exclusivamente a un tipo de procesador, dejando otros recursos inactivos y sin contribuir a la función actual.
En cambio, SHMT explota la diversidad (o heterogeneidad) de múltiples componentes, dividiendo la función computacional para compartirla entre ellos. En otras palabras, es un tipo de procesamiento paralelo.
Cómo funciona
Siéntase libre de saltarse esta parte, pero para los más interesados en la informática, aquí hay una descripción general (aún muy básica) de cómo funciona SHMT. Un conjunto de operaciones virtuales (VOP) permite que un programa de CPU «descargue» una función a un dispositivo de hardware virtual. Durante la ejecución del programa, un sistema de ejecución controla el hardware virtual de SHMT, midiendo la capacidad del recurso de hardware para tomar decisiones de programación.
SHMT utiliza una política de programación de robo de trabajo consciente de la calidad (QAWS) que no acapara los recursos, pero ayuda a mantener el control de calidad y el equilibrio de la carga de trabajo. El sistema de ejecución divide los VOP en una o más operaciones de alto nivel (HLOP) para utilizar simultáneamente varios recursos de hardware.
Luego, el sistema de ejecución de SHMT asigna estos HLOP a las colas de tareas del hardware de destino. Debido a que los HLOP son independientes del hardware, el sistema de ejecución puede ajustar la asignación de tareas según sea necesario.
Pruebas de prototipos y resultados.
Para probar el concepto, los investigadores construyeron un sistema con el tipo de chips y potencia de procesamiento que encontrarías en cualquier teléfono inteligente decente de último modelo, con un par de ajustes para poder probar también lo que podría ser capaz de hacer en un centro de datos.
Específicamente, construyeron a medida una plataforma de sistema integrado utilizando El Jetson Nano de NVIDIA Módulo que contiene un procesador (CPU) ARM Cortex-A57 de cuatro núcleos y 128 núcleos de GPU de arquitectura Maxwell. Se conectó un Google Edge TPU al sistema a través de su ranura M.2 Key E.
La CPU, GPU y TPU intercambiaban datos a través de la interfaz PCIe integrada, una interfaz estandarizada para componentes de la placa base como tarjetas gráficas, memoria y dispositivos de almacenamiento. La memoria principal del sistema (4 GB LPDDR4 de 64 bits, 1.600 MHz a 25,6 GB/s) alojaba los datos compartidos. El Edge TPU contiene además una memoria de dispositivo de 8 MB y como sistema operativo se utilizó Ubuntu Linux 18.04.
Probaron el concepto SHMT utilizando aplicaciones de referencia y descubrieron que el marco con la política QAWS de mejor rendimiento lo superó, con un aumento de velocidad de 1,95 veces y una notable reducción del 51 % en el consumo de energía en comparación con el método de referencia.
Que significa todo esto?
Los investigadores dicen que las implicaciones para SHMT son enormes. Sí, las aplicaciones de software en sus teléfonos, tabletas, computadoras de escritorio y portátiles existentes podrían usar esta nueva biblioteca de software para lograr mejoras de rendimiento bastante importantes. Pero también podría reducir la necesidad de componentes costosos y de alto rendimiento, lo que daría lugar a dispositivos más baratos y eficientes.
Dado que reduce el uso de energía y, por extensión, los requisitos de refrigeración, el enfoque podría optimizar dos elementos de línea clave si está ejecutando un centro de datos, al tiempo que reduce las emisiones de carbono y el uso de agua.
Como siempre, se necesita más investigación sobre la implementación del sistema, el soporte de hardware y qué tipos de aplicaciones se beneficiarán más, pero con este tipo de resultados imaginamos que el equipo no tendrá problemas para atraer recursos para lanzarlo.
El estudiar fue presentado en MICRÓFONO 2023el 56º Simposio Internacional Anual IEEE/ACM sobre Microarquitectura.
Fuente: UCR