Logotipo de Zephyrnet

Reducción de energía holística

Fecha:

El consumo de energía de un dispositivo está influenciado por cada etapa del proceso de diseño, desarrollo e implementación, pero identificar oportunidades para ahorrar energía ya no se trata solo de hacer que el hardware sea más eficiente.

Herramientas y metodologías existen para la mayoría de las oportunidades de ahorro de energía, desde RTL hasta la implementación, y partes de la industria de semiconductores ya las están utilizando. Ambos se consideran maduros, al igual que los estándares para definir la intención del poder.

Todavía quedan grandes oportunidades para ahorros de energía y energía adicionales, pero muchas de ellas implican cuestionar decisiones a nivel de sistema que se han aceptado ciegamente durante generaciones y muchos nodos de implementación. Algunas de esas decisiones deben reconsiderarse porque impiden la construcción de diseños más grandes y complejos.

“Hay tres jinetes en la mezcla: potencia, energía y térmica”, dice Rob Knoth, director de gestión de productos en Digital & Signoff Group en Cadencia. “Siempre han estado ahí, y el poder es probablemente el más destacado, pero la energía ha pasado a primer plano en los últimos años. Ahora estamos viendo aparecer las térmicas. Todos ellos son interesantes porque puedes atacarlos en puntos específicos de tu flujo con herramientas específicas”.

Y ahí radica un problema. “El dilema del arquitecto es que necesita información de bajo nivel para hacer estimaciones tempranas”, dice Frank Schirrmeister, vicepresidente de soluciones y desarrollo comercial de IP de Arteris. “Este dilema nunca se ha resuelto y probablemente no se resolverá durante mi vida empresarial. Para tomar decisiones arquitectónicas lo antes posible, necesitamos un conjunto de información, un conjunto de herramientas y un conjunto de habilidades para respaldar estas decisiones. Necesitamos estas decisiones lo antes posible, pero también deben reflejar los efectos de la implementación con la mayor precisión posible”.

Para agregar a eso, el poder no se puede presentar como un solo número. Algunas personas están preocupadas por la energía total, porque eso puede afectar la duración de la batería. Otros están más preocupados por la potencia máxima porque eso puede causar problemas operativos en un chip o potencia con el tiempo, lo que puede crear problemas térmicos.

Para hacer el análisis, necesita saber exactamente cómo se va a utilizar el sistema. “Imagine que tiene un SoC con 100 bloques diferentes”, dice Ninad Huilgol, fundador y director ejecutivo de Innergy Systems. “Todos están interactuando juntos y no sabes cómo van a producir un pico de densidad de potencia de antemano. Cuando tiene una simulación en ejecución, todos interactúan juntos para producir repentinamente un pico de densidad de potencia”.

Varios mercados se están centrando en diferentes aspectos. “Edge AI, o inteligencia de borde, tiene diferentes preocupaciones y preguntas diferentes que una aplicación de tipo de cómputo de hiperescalador de centro de datos”, dice Knoth de Cadence. “Ambos, sin embargo, van a impulsar ciertos aspectos de la tecnología, algunos de los cuales se refuerzan entre sí, algunos de los cuales están separados. Edge se preocupará más por ciertos aspectos de la energía debido a la duración de la batería. Y es fundamental pensar en lo que ejecuta en el software frente a lo que ejecuta en el hardware. ¿Qué le comunicas a tu estación base para que lo ejecuten y te lo envíen? Hay algunos problemas muy complicados en los que la industria de IoT está especialmente preparada para liderar e innovar. No significa que sean el único líder. Las personas que están desarrollando centros de datos informáticos masivos a hiperescala lideran una clase completamente diferente. Con frecuencia, son los que presionan más, porque se observa la enorme cantidad de dólares en infraestructura que se requieren para realizar esa computación”.

RTL y técnicas de implementación
Las técnicas de ahorro de energía se han aplicado a los niveles de implementación y RTL durante varios años, pero es posible lograr más ahorros de energía y energía. En el implementación nivel, las tecnologías más nuevas están agregando problemas que, si no se abordan, conducirán al despilfarro de energía.

“Las tecnologías han conspirado para hacer que sea mucho más difícil suministrar voltaje de manera confiable”, dice Marc Swinnen, director de marketing de productos de Ansys. “Va a haber una caída de voltaje y, a menudo, las personas solo construyen en un margen, diciendo que puedo ver una caída de hasta 100 milivoltios. Mi sincronización entonces tiene que asumir que cada celda podría ser mucho más lenta. Obviamente, no todas las celdas verán esa caída de voltaje máxima, por lo que cuanto más exactamente pueda modelar la caída de voltaje real, más exactamente podrá diseñar su red de distribución de energía para evitar este error, y podrá retroceder desde este margen de caída de voltaje. . Estás tratando de reducir ese margen y eso puede tener un gran impacto”.

En el nivel de RT, reloj que cierra y puerta de poder han estado en uso durante mucho tiempo. Si bien optimizan la potencia y la energía asociadas con la tarea definida, no hacen nada para ayudar a identificar si las tareas eran óptimas en términos de potencia para la función que se estaba realizando.

“Tenemos un término llamado poder ideal”, dice Knoth. “Es un intento de identificar la actividad desperdiciada. Por ejemplo, si tiene un bloque en el que el reloj funciona libremente y en realidad está reiniciado, podría haber bloqueado ese reloj. Podemos analizar las alternancias que ocurren dentro de ese bloque, sumar la energía debido a esas alternancias de esa jerarquía y luego mostrarlas en un informe que muestra dónde se desperdicia la energía. Usando esta metodología, vimos a los ingenieros de hardware mejorar lo que estaban haciendo desde la perspectiva de la metodología de diseño. Hay un montón de otras técnicas de limpieza más profundas que se pueden usar”.

Mirar el RTL puede proporcionar otros posibles ahorros de energía. “Un artista poderoso sugerirá ediciones a su RTL observando cómo hace las cosas”, dice Swinnen de Ansys. “Puede ser que haya implementado una función de esta manera, pero si implementa la misma función de una manera diferente, ahorrará energía y logrará la misma función. Hay una biblioteca de optimizaciones que escaneará automáticamente a través de RTL e identificará cada uno de los lugares donde puede actualizar RTL a una implementación más eficiente en el uso de energía. Le dirá cuánta energía ahorraría según las estimaciones y, de hecho, las implementará si lo aprueba”.

Primeras estimaciones
Pocas personas argumentarían que cuanto antes se puedan evaluar las compensaciones, mayor será el impacto que posiblemente puedan tener. “Cuanto más amplio sea su alcance, más partes traiga a la mesa, cuanto más retroceda y lo mire antes, más comenzará a ver oportunidades más grandes”, dice Knoth. “Estas son tendencias más importantes que van más allá de mejorar el widget que estás produciendo. Realmente tienes que ver cómo encaja ese widget dentro del artilugio, que encaja dentro del producto en el centro de datos que se conecta a la planta de energía hidroeléctrica o a la granja solar”.

El problema es que sin estimaciones lo suficientemente precisas, también son posibles las malas decisiones. “A medida que los diseños se han vuelto más grandes y complejos, se ha vuelto cada vez más difícil producir estimaciones precisas”, dice Schirrmeister. “Por ejemplo, necesita información de planificación del piso para estimar cuántos registros se necesitan en una ruta a través del silicio, porque la propagación de señales a través de chips de gran tamaño es increíblemente difícil y no se puede hacer en un ciclo de reloj. Para un NoC, tratamos de optimizar la cantidad de registros, lo que tiene un impacto en el consumo de energía y la cantidad de interconexión que lleva en el chip. Anotamos, desde .lib, hasta la generación de NoC, las primeras estimaciones de cuánto durará la ruta. ¿Habrá que refinarlo más adelante? Absolutamente. La realidad multidimensional del problema lo hace muy difícil, especialmente donde hay dependencias verticales”.

Para poder realizar un análisis térmico, se deben considerar períodos de tiempo prolongados y debe observar cargas de trabajo realistas. Lo más probable es que signifique ejecutar software real. “La mayor parte de la industria usa su código RTL asignado a un emulador, ejecuta cargas de trabajo de software reales en esa plataforma y obtiene vectores a partir de los cuales hace una estimación de potencia”, dice Knoth. “Con múltiples iteraciones al día, pueden ajustar el software para usar de manera más efectiva las características de potencia del hardware. De la noche a la mañana, pueden hacer ajustes al hardware. Ahora tiene esta co-optimización a nivel de sistema en la que busca energía desperdiciada y se asegura de crear el sistema más óptimo posible”.

La industria siempre ha buscado formas de insertar modelos abstractos en lugar de usar RTL, porque puede ejecutarse más rápido y porque el análisis se puede realizar antes de que RTL esté listo. “Hasta ahora, el análisis del consumo de energía de la ejecución del software se ha relegado a las plataformas de emulación”, dice Huilgol de Innergy. “Una técnica que puede ayudar es construir modelos de potencia del hardware que puedan simularse en entornos de software. Estos modelos pueden proporcionar información precisa sobre el consumo de energía promedio e instantáneo de varios módulos de hardware a medida que se ejecuta el software. Esto permite la co-optimización de hardware y software para la energía antes de la salida de la cinta”.

En el pasado, se tomaron enfoques similares para la verificación funcional del hardware y el software, y ahora se están haciendo intentos para aplicar eso a la energía. “No estamos inventando magia negra y no podemos luchar contra la física”, dice Huilgol. “Pero no es necesario ejecutar simulaciones de energía detalladas todo el tiempo. Tomamos una pequeña muestra a nivel de bloque, los combinamos y lo ejecutamos a nivel de subsistema, nivel de sistema, emulación, software, etc. Hay dos aspectos del poder. Uno es la ruta de datos y el otro es la ruta de control. Damos cuenta principalmente de la ruta de control, pero cuando hay dependencias de la ruta de datos, hay una función en nuestros modelos para que sean conscientes de la ruta de datos. Estos son modelos de poder estadístico que operan en un modelo de transacción. ¿Cómo se mejora la resolución? Puede tener ciclos más pequeños o ciclos individuales. Pero si su resolución es de 15 ciclos, o más, transacciones bastante grandes, se capturará algún error estadístico”.

repensar el pasado
En el pasado, la Ley de Moore facilitaba bastante la migración de un nodo al siguiente, haciendo uso de puertas adicionales, mayor rendimiento y menor consumo. Eso significaba que la continuidad a lo largo del tiempo era importante, especialmente para garantizar que el software existente continuaría ejecutándose en el nuevo hardware.

Con el tiempo, eso ha generado algunas ineficiencias de las que será difícil salir. “Muchas cosas no eran posibles en el pasado”, dice Knoth. “Tal vez fue porque el nodo de proceso no podía acomodar toda la computación en el semiconductor que se implementaría en el perímetro. Pero ahora puede. Tal vez no tenía las herramientas para realizar el análisis con la precisión adecuada en el tiempo adecuado, o porque la tecnología de envasado no estaba disponible. Pero de vez en cuando tienes que respirar, dar un paso atrás, volver a visitar el paisaje y preguntar: '¿Optimizamos correctamente esta ecuación o simplemente hicimos lo mejor que pudimos?' A veces necesitamos ponernos nuestra gorra de científico y no tener miedo de cuestionar algunos de esos principios fundamentales que hemos codificado”.

Es importante tener en cuenta la complejidad de la integración. “Hay dos niveles de complejidad: la complejidad de la aplicación sube en la parte superior y luego la complejidad de la implementación desciende en la tecnología de semiconductores”, dice Schirrmeister. “Ese es el número de transistores con los que estamos lidiando. Debido a que tiene la complejidad de la aplicación, con el número de funciones aumentando tanto como lo ha hecho y continúa aumentando, tiene que lidiar con cosas como la memoria compartida, la coherencia, etc. Si no tienes caché, siempre tienes que mover las cosas. La coherencia de caché fue una solución a un problema que presenta un nuevo problema”.

Los procesadores han sido impulsados ​​por el rendimiento. “Agregar un predictor de bifurcación o una ejecución especulativa a un procesador aumentará la cantidad de puertas en el circuito, lo que aumentará el consumo de energía tanto dinámico como estático”, dice Russell Klein, director de programa del equipo de Catapult HLS en EDA de Siemens. “Pero esas características aumentan el rendimiento de la computación que se ejecuta en el procesador. Entonces, la potencia definitivamente aumenta, pero la energía, que es la potencia multiplicada por el tiempo necesario para realizar el cálculo, puede aumentar o disminuir. Depende de la relación entre el aumento de rendimiento y el aumento de potencia. Si, por ejemplo, la potencia aumenta un 20 % pero el rendimiento mejora solo un 10 %, la energía total para el cálculo aumenta”.

La potencia, la energía y la temperatura no siempre se pueden optimizar de una manera simple. “Puede parecer contradictorio, pero aumentar el rendimiento puede reducir el consumo de energía promedio para algunas cargas de trabajo”, dice Maurice Steinman, vicepresidente de ingeniería de Lightelligence. “Dichas cargas de trabajo pueden beneficiarse de la llamada 'carrera a la inactividad', donde se pueden ingresar estados de ahorro de energía profundos durante períodos prolongados si el trabajo se puede completar más rápido. Considere las cargas de trabajo que mantienen un perfil de demanda de cómputo predecible (pero menos del 100 % de utilización), digamos el 25 % del rendimiento disponible. Un enfoque puede reducir la frecuencia de funcionamiento al 25% (y, en consecuencia, reducir el voltaje de funcionamiento). El dispositivo ahora permanecería completamente activo, pero con potencia reducida. Otro enfoque se esforzaría por completar el trabajo rápidamente, lo que permitiría ahorros drásticos de energía: 25 % encendido, 75 % apagado, donde apagado podría requerir un consumo de energía cero o casi cero, lo que resultaría en una potencia promedio más baja que la operación constante al 25 % de frecuencia de reloj. Incluso puede ser ventajoso hacer overclocking/overvoltage para aumentar aún más el tiempo de inactividad a más del 75 %”.

Equilibrio de hardware y software
Uno de los mayores trucos de equilibrio relacionados con la complejidad y la potencia del sistema es establecer el límite entre el hardware y el software. “Cualquier función implementada en el software será mucho más lenta que la función equivalente implementada en el hardware”, dice Klein de Siemens. “Cualquier cosa en software es, por definición, no óptima. El software altamente optimizado en un procesador muy eficiente no puede acercarse a la eficiencia de incluso una mala implementación de hardware”.

Las decisiones de particionamiento son cada vez más fáciles, dice Klein: "Lo que debe quedar en el software, lo que debe hacerse en un procesador y lo que tiene más sentido para crear un acelerador de hardware personalizado que sea un sidecar para ese procesador: ahí es donde comienza a ver enormes 100X, 1,000X tipo de reducciones de tiempo o energía, dependiendo de dónde esté optimizando su sistema”.

A medida que las mejoras en el rendimiento se vuelven más difíciles, ese tipo de enfoques se vuelven esenciales. “En pocas palabras, los procesadores más grandes son menos eficientes energéticamente, por lo que obtener un procesador más grande para satisfacer sus necesidades de rendimiento solo tiene sentido si no le importa la energía”, dice Klein. “La respuesta correcta es mover el trabajo pesado de la CPU a un acelerador personalizado”.

Ese enfoque ha visto una creciente popularidad. "Los aceleradores y coprocesadores de hardware dedicados pueden aumentar el rendimiento de un sistema debido a la disminución de las ganancias de rendimiento al pasar a nodos más avanzados", dice Andy Jaros, vicepresidente de ventas y marketing de IP en Logix flexible. “Los aceleradores dedicados alivian la carga de procesamiento en las CPU al gastar enormes ciclos de cómputo para ejecutar algoritmos complejos. El uso de eFPGA para esos aceleradores cableados dedicados proporciona la eficiencia energética necesaria, pero aún mantiene la capacidad de programación cuando cambia la carga de trabajo”.

Siempre que pueda especializarse, hay grandes oportunidades para obtener ganancias. “Hoy se ha vuelto mucho más fácil especializar un procesador agregando instrucciones”, dice Schirrmeister. “La mayoría de estas personalizaciones de instrucciones se realizan con el propósito de bajo consumo. He visto casos en los que una instrucción adicional en el procesador te permite quedarte en la mitad de la memoria. Eso es enorme desde una perspectiva de poder. Pero mientras haces eso en la isla aislada, la complejidad general de lo que intentas hacer ha aumentado”.

O puede mover esa función completamente al hardware. “La otra solución es descargar operaciones computacionalmente complejas en aceleradores a medida”, dice Klein. “Síntesis de alto nivel (HLS) es la manera fácil de hacer esto. Todavía es diseño de hardware, por lo que aún debe tener ingenieros inteligentes para que funcione. Pero con HLS está comenzando desde un algoritmo de software C o C ++. No hay interpretación del algoritmo, que es un proceso manual lento y propenso a errores. Y una referencia dorada está fácilmente disponible en la forma de la función original del software, lo que facilita mucho la verificación”.

Todas estas opciones son cada vez más fáciles. “En el pasado, el gran problema de tomar una decisión a nivel de arquitectura era que tenías que volver a evaluar esta decisión más adelante en el proyecto, pero los flujos no estaban conectados”, dice Schirrmeister. “Para casos como los procesadores configurables y el NoC, se han conectado los flujos. Si regresa, lleva tiempo volver a ejecutar las herramientas, pero ya no es necesario que las personas verifiquen manualmente la decisión arquitectónica. La generación automatizada le permite ejecutar más puntos de datos”.

Conclusión
Optimizar la potencia, la energía o los problemas térmicos por sí solo no es fácil. Pero la necesidad de abordar cada uno de los tres problemas es cada vez mayor y, si bien están interconectados, no siempre es fácil determinar cuál debe optimizarse o cómo. Solo observando el sistema completo se pueden tomar decisiones. En el pasado, los flujos de modelado, análisis y diseño dificultaban esto, especialmente cuando cruzaba la barrera del hardware/software, pero están apareciendo más herramientas. Todavía no es fácil, pero a medida que crezca la conciencia de la industria y más personas quieran abordar el problema, estarán disponibles mejores herramientas y flujos.

punto_img

Información más reciente

punto_img