Discovery podría duplicar el rendimiento de la PC

La optimización del software mediante SHMT puede duplicar el rendimiento de la PC

Investigadores de la Universidad de California han desarrollado una nueva estructura de procesamiento de datos capaz de utilizar de forma más eficiente los recursos de las CPU con múltiples núcleos e hilos. Las pruebas preliminares del proceso denominado Multithreading Simultáneo y Heterogéneo (SHMT) son prometedoras, casi duplicando el rendimiento de la CPU y reduciendo su consumo a la mitad.

Aunque los PC modernos son heterogéneos en términos de estructuras físicas, con CPU, GPU, coprocesadores y, ahora, NPU, los lenguajes de programación siguen siendo técnicamente homogéneos. El nuevo marco es prácticamente una evolución de la canalización, al permitir que subrutinas más pequeñas se ejecuten en paralelo de manera oportunista en subprocesos y aceleradores inactivos, optimizando el rendimiento y el consumo.

Liberar el potencial de la informática heterogénea

Incluso con el paralelismo parcial de la canalización, las instrucciones se llevan a cabo de una manera relativamente lineal, con cada hilo ejecutando un conjunto completo y los nuevos hilos se activan sólo según lo solicita el código original. Esto ocurre porque los modelos de programación "arraigados" actuales definen qué unidades de procesamiento son más eficientes para cada región del código.

Sin embargo, operar de esta manera naturalmente deja muchos núcleos y subprocesos libres, infrautilizando los recursos del sistema. En la práctica, una de las ventajas iniciales de las NPU es optimizar un poco este problema mediante el aprendizaje automático, pero efectivamente, la estructura de procesamiento sigue siendo lineal, solo que con una asignación más "inteligente".

El propósito de SHMT es programar en modelos menos rígidos, permitiendo segmentar el código con el mayor número posible de partes procesadas en paralelo. De una manera muy superficial, sería el equivalente a ejecutar y almacenar los resultados de diferentes partes de un juego al mismo tiempo, y simplemente registrar los resultados a medida que se solicitan.

Evidentemente, en el ejemplo concreto de un programa interactivo, como puede ser un juego, esto no parece muy viable, ya que las variables se insertan en tiempo real. Sin embargo, en la renderización de código cerrado, como el trazado de un modelo 3D, el entrenamiento de modelos LLM o el procesamiento de Big Data, desbloquear el poder de la computación heterogénea puede representar un salto gigante en el rendimiento de las estaciones de trabajo para aplicaciones profesionales, de investigación y de inteligencia artificial.

Fuente: Asociación de Maquinaria de Computación

Subir