{"title":"Keynote Address: Energy-Aware Compiler Scheduling for VLIW Embedded Software","authors":"M. Guo","doi":"10.1109/ICPPW.2005.43","DOIUrl":null,"url":null,"abstract":"In most of compilers, the goal of traditional instruction scheduling algorithms is to improve performance in terms of execution time. This can be done by some well-known ways such as superblock scheduling, hyperblock scheduling, and treegion scheduling. These scheduling strategies focus mainly on increasing performance through increasing the amount of instruction-level parallelism in program code. However, in VLIW (very long instruction word) architectures, an instruction word consists of a variable number of individual instructions. Therefore the step power and peak power consumption vary significantly depending on the parallel schedule generated by compiler. Power variation reduction without losing execution speed is an important scheduling constraint for embedded VLIW architectures. In this talk, we introduce some power-aware scheduling strategies for VLIW processors. These scheduling methods include: i) low power scheduling for basic blocks with integer programming; ii) modulo and software pipelining for loops; iii) register allocation and cache reuse for power reduction. With these techniques, switch activities between instructions can be minimized so that power consumption can be reduced significantly.","PeriodicalId":93355,"journal":{"name":"Proceedings of the ... ICPP Workshops on. International Conference on Parallel Processing Workshops","volume":"25 1","pages":"197"},"PeriodicalIF":0.0000,"publicationDate":"2005-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the ... ICPP Workshops on. International Conference on Parallel Processing Workshops","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICPPW.2005.43","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
In most of compilers, the goal of traditional instruction scheduling algorithms is to improve performance in terms of execution time. This can be done by some well-known ways such as superblock scheduling, hyperblock scheduling, and treegion scheduling. These scheduling strategies focus mainly on increasing performance through increasing the amount of instruction-level parallelism in program code. However, in VLIW (very long instruction word) architectures, an instruction word consists of a variable number of individual instructions. Therefore the step power and peak power consumption vary significantly depending on the parallel schedule generated by compiler. Power variation reduction without losing execution speed is an important scheduling constraint for embedded VLIW architectures. In this talk, we introduce some power-aware scheduling strategies for VLIW processors. These scheduling methods include: i) low power scheduling for basic blocks with integer programming; ii) modulo and software pipelining for loops; iii) register allocation and cache reuse for power reduction. With these techniques, switch activities between instructions can be minimized so that power consumption can be reduced significantly.