Anne Jaigu
07-25-2004, 02:49 AM
PI-1572: Energy-Delay Tradeoff Analysis of ILP-based Compilation
Techniques on a VLIW Architecture
Gilles Pokam François Bodin
http://www.irisa.fr/bibli/publi/pi/2003/1572/1572.html
19 pages - novembre 2003
Abstract
Energy consumption is becoming an important issue on modern processors,
especially on embedded systems. While many architectural solutions to
reduce energy consumption exist, software solutions on the other hand
mostly rely on performance optimization techniques. The rationale behind
this latter approach follows the rule that energy consumption is roughly
proportional to the execution time. While some ILP techniques allow to
increase performance by eliminating redundant instructions, others
however do increase the total instruction count, mitigating their
benefit as far as energy consumption is concerned. This paper explores
the energy-delay tradeoff of ILP enhancing techniques at the compilation
level. The goal is to develop a theoretical understanding of the main
energy issues involved by forming ILP blocks. We present an analytical
methodology which essentially exploits the variations in program
performance to identify conditions leading to energy consumption
increase. Our results show that there exists a threshold above which ILP
enhancing optimizations may necessarily turn into diminishing energy
reduction returns. The proposed tradeoff analysis reveals that this can
be mainly attributed to the limited available instruction parallelism of
applications which causes wasted computation and, to some extent,
machine overhead to start dominating the energy consumption in some
scenarios where the ILP is pushed above a given threshold.
Résumé
Dans les systèmes informatique, les problèmes liés à la consommation
d'énergie gagnent de plus en plus d'importance. Pour cette raison, de
nombreuses solutions matérielles sont maintenant proposées visant à
réduire la consommation d'énergie dans les processeurs. Cependant, la
consommation en énergie d'un processeur ne dépend pas uniquement de son
architecture, mais aussi du code exécuté. En particulier, la
consommation d'énergie pour une tâche donnée dépend fortement de
l'efficacité du code produit par le compilateur. Dans le cas des
architectures VLIW, ceci est d'autant plus critique que la gestion du
parallélisme d'instructions est confiée au compilateur. Dans cette
étude, nous explorons le compromis énergie/performance des techniques de
compilation exploitant le parallélisme d'instruction (ILP). Nous nous
intéressons plus particulièrement au cas des hyperblocks. Le but de
cette recherche est de développer une compréhension théorique des enjeux
liés à la consommation d'énergie qu'implique la formation des régions
d'ILP. Pour ce faire, nous présentons une méthodologie analytique fondée
essentiellement sur l'exploitation des variations de la performance d'un
programme pour identifier les conditions menant à l'augmentation de la
consommation d'énergie. Nos résultats prouvent qu'il existe un seuil
d'ILP au-dessus duquel les gains obtenus par les transformations d'ILP
produisent un effet inverse sur la consommation d'énergie.
Keywords: ILP compilation, energy/performance tradeoff, VLIW
Mots clefs: Compromis énergie/performance, parallélisme d'instructions,
compilation, architecture VLIW
Techniques on a VLIW Architecture
Gilles Pokam François Bodin
http://www.irisa.fr/bibli/publi/pi/2003/1572/1572.html
19 pages - novembre 2003
Abstract
Energy consumption is becoming an important issue on modern processors,
especially on embedded systems. While many architectural solutions to
reduce energy consumption exist, software solutions on the other hand
mostly rely on performance optimization techniques. The rationale behind
this latter approach follows the rule that energy consumption is roughly
proportional to the execution time. While some ILP techniques allow to
increase performance by eliminating redundant instructions, others
however do increase the total instruction count, mitigating their
benefit as far as energy consumption is concerned. This paper explores
the energy-delay tradeoff of ILP enhancing techniques at the compilation
level. The goal is to develop a theoretical understanding of the main
energy issues involved by forming ILP blocks. We present an analytical
methodology which essentially exploits the variations in program
performance to identify conditions leading to energy consumption
increase. Our results show that there exists a threshold above which ILP
enhancing optimizations may necessarily turn into diminishing energy
reduction returns. The proposed tradeoff analysis reveals that this can
be mainly attributed to the limited available instruction parallelism of
applications which causes wasted computation and, to some extent,
machine overhead to start dominating the energy consumption in some
scenarios where the ILP is pushed above a given threshold.
Résumé
Dans les systèmes informatique, les problèmes liés à la consommation
d'énergie gagnent de plus en plus d'importance. Pour cette raison, de
nombreuses solutions matérielles sont maintenant proposées visant à
réduire la consommation d'énergie dans les processeurs. Cependant, la
consommation en énergie d'un processeur ne dépend pas uniquement de son
architecture, mais aussi du code exécuté. En particulier, la
consommation d'énergie pour une tâche donnée dépend fortement de
l'efficacité du code produit par le compilateur. Dans le cas des
architectures VLIW, ceci est d'autant plus critique que la gestion du
parallélisme d'instructions est confiée au compilateur. Dans cette
étude, nous explorons le compromis énergie/performance des techniques de
compilation exploitant le parallélisme d'instruction (ILP). Nous nous
intéressons plus particulièrement au cas des hyperblocks. Le but de
cette recherche est de développer une compréhension théorique des enjeux
liés à la consommation d'énergie qu'implique la formation des régions
d'ILP. Pour ce faire, nous présentons une méthodologie analytique fondée
essentiellement sur l'exploitation des variations de la performance d'un
programme pour identifier les conditions menant à l'augmentation de la
consommation d'énergie. Nos résultats prouvent qu'il existe un seuil
d'ILP au-dessus duquel les gains obtenus par les transformations d'ILP
produisent un effet inverse sur la consommation d'énergie.
Keywords: ILP compilation, energy/performance tradeoff, VLIW
Mots clefs: Compromis énergie/performance, parallélisme d'instructions,
compilation, architecture VLIW