El Nuevo Sistema Permite A Los Programadores Intercambiar Precisión Computacional Por Ahorros De Energía

El nuevo sistema permite a los programadores identificar secciones de su código que pueden tolerar un pequeño error

Ingenieros de MIT han desarrollado un nuevo sistema que permite a los programadores identificar secciones de su código que pueden tolerar un pequeño error, determinando qué instrucciones del programa asignar a componentes de hardware no confiables para maximizar el ahorro de energía y al mismo tiempo cumplir con los requisitos de los programadores. exactitud requisitos.

A medida que los transistores se hacen más pequeños, también se vuelven menos confiables. El aumento de su voltaje de funcionamiento puede ayudar, pero eso significa un aumento correspondiente en el consumo de energía.

Dado que la tecnología de la información consume una fracción en constante crecimiento de los suministros de energía del mundo, algunos investigadores y fabricantes de hardware están explorando la posibilidad de simplemente dejar que los chips estropeen los cálculos ocasionales. En muchas aplicaciones populares, como la reproducción de video, por ejemplo, los usuarios probablemente no notarían la diferencia y podría mejorar significativamente la eficiencia energética.

En la conferencia de programación orientada a objetos, sistemas, lenguajes y aplicaciones (OOPSLA) de este año, investigadores del Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT presentaron un nuevo sistema que permite a los programadores identificar secciones de su código que pueden tolerar un pequeño error. Luego, el sistema determina qué instrucciones de programa asignar a componentes de hardware no confiables, para maximizar el ahorro de energía y al mismo tiempo cumplir con los requisitos de precisión de los programadores.

El sistema, denominado Chisel, también incluye una herramienta que ayuda a los programadores a evaluar con precisión cuánto error pueden tolerar sus programas. Si el 1 por ciento de los píxeles de una imagen se representan de forma incorrecta, ¿lo notará el usuario? ¿Qué tal el 2 por ciento o el 5 por ciento? Chisel simulará la ejecución del algoritmo de renderizado de imágenes en hardware no confiable tantas veces como lo solicite el programador, con tantas tasas de error diferentes. Eso elimina las conjeturas al determinar los requisitos de precisión.

Los investigadores probaron su sistema en un puñado de algoritmos comunes de procesamiento de imágenes y análisis financiero, utilizando una variedad de modelos de hardware no confiables seleccionados de la literatura de investigación. En las simulaciones, los ahorros de energía resultantes oscilaron entre el 9 y el 19 por ciento.

Acumulando resultados

El nuevo trabajo se basa en un documento presentado en OOSPLA del año pasado, que describía un lenguaje de programación llamado Rely. Cada artículo ganó uno de los premios al mejor artículo de la conferencia.

Rely proporciona el mecanismo para especificar los requisitos de precisión y cuenta con un operador (un punto o punto) que indica que una instrucción en particular puede ejecutarse en hardware no confiable. En el trabajo presentado el año pasado, los programadores tuvieron que insertar los puntos a mano. Chisel realiza la inserción automáticamente y garantiza que su asignación maximizará el ahorro de energía.

“Una de las observaciones de toda nuestra investigación anterior fue que, por lo general, los cálculos que analizamos dedicaban la mayor parte de su tiempo a una o varias funciones que eran realmente intensivas en computación”, dice Sasa Misailovic, estudiante de posgrado en ingeniería eléctrica e informática y autor principal del nuevo artículo. “A esos cálculos los llamamos ‘núcleos’ y nos centramos en ellos”.

A Misailovic se le unen en el papel su asesor, Martin Rinard, profesor del Departamento de Ingeniería Eléctrica e Informática (EECS); por Sara Achour y Zichao Qi, quienes también son estudiantes del grupo de Rinard; y por Michael Carbin, quien hizo su doctorado con Rinard y se unirá a la facultad de EECS el próximo año.

En la práctica, dice Misailovic, los programas generalmente tienen solo unos pocos núcleos. En principio, Chisel podría haber sido diseñado para encontrarlos automáticamente. Pero la mayoría de los desarrolladores que trabajan en código de alto rendimiento probablemente querrán mantener cierto grado de control sobre lo que hacen sus programas, dice Rinard. Y, en general, ya utilizan herramientas que facilitan la identificación del kernel.

Explosión combinatoria

Sin embargo, un solo kernel puede constar de 100 o más instrucciones, cualquier combinación de las cuales podría asignarse a hardware no confiable. Sondear manualmente todas las combinaciones posibles y evaluar sus efectos tanto en la precisión computacional como en el ahorro de energía seguiría siendo una tarea prohibitivamente lenta.

Pero los investigadores desarrollaron tres expresiones matemáticas separadas que describen la precisión del cálculo, la confiabilidad de la ejecución de las instrucciones y el ahorro de energía como funciones de las instrucciones individuales. Estas expresiones limitan la búsqueda que debe realizar el sistema para determinar qué instrucciones asignar al hardware no confiable. Ese problema más simple, aunque aún complejo, es uno que el software estándar puede manejar.

“Creo que es un trabajo brillante”, dice Luis Ceze, profesor asociado de informática e ingeniería en la Universidad de Washington . “Todas las tendencias apuntan a que el hardware del futuro no será confiable, porque esa es una forma de hacerlo más rápido y con mayor eficiencia energética”.

Sin embargo, Ceze señala que el modelo de hardware que utilizaron los investigadores del MIT requiere una especificación de la confiabilidad con la que se ejecutan las operaciones individuales. “Eso limita los ahorros que puede obtener de la aproximación”, dice Ceze. “Creo en la aproximación que es mucho más burda. Haces un montón de operaciones de una sola vez, aproximadamente. Eso puede llevarlo de decenas de por ciento a decenas de [múltiplos] en términos de rendimiento y mejora de la eficiencia energética “.

En cuanto a si el trabajo de los investigadores del MIT puede adaptarse para acomodar tal modelo, “podría hacerse”, dice Ceze. “De hecho, mi grupo ha realizado un trabajo similar en un contexto diferente. Así que definitivamente es viable “.

Copia en PDF del documento : Chisel: Optimización consciente de la confiabilidad y la precisión de los núcleos computacionales aproximados

Imagen: Jose-Luis Olivares / MIT

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *