Font Size: a A A

Iterative Loop Unrolling Optimizing For Embedded Systems

Posted on:2012-01-28Degree:MasterType:Thesis
Country:ChinaCandidate:X X YuFull Text:PDF
GTID:2218330362460506Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Low energy and static code size have become a critical issue in modern system design due to the widespread of mobile embedded systems and its very limited battery capacity. All of those new demands make the traditional, static compiling difficultly to meet. Meanwhile, the rapid range of architectural changes in processors, especially in the embedded systems'field, also puts the traditional compiling technology under an enormous stress. Loop unrolling is a well-known code transformation for energy and performance. It relies heavily on the choice of the unrolling factor. Because of the complexity of modern compute system, compiler can't compute unrolling factor with taking into account all side effects of optimization. The result is that many compilers employ simplistic loop unrolling algorithms that miss many opportunities for improving the performance or decreasing the energy. The worst is that compiler may unroll the loops which are not appropriate to unrolling leading to decrease performance or increase energy consumption.To solve those problems, an approach of iterative loop unrolling optimization for embedded systems based on the profiling of energy has been proposed. Because of the best compiled code for energy is not always the best one for performance. Thus a combined energy-performance factor was considered to evaluate the compiled code in order to have good compromises. An important concern thought is iterative optimization is extremely time consuming. So, we use two ways to decrease the optimizing time. First, design a Hot-Based Search Algorithm. Second, prune the search space of unrolling factor.Finally, 12 benchmarks were tested using iterative optimizing in StrongARM processor. From analyzed benchmarks, we conclude that iterative loop unrolling optimization finds the more potential opportunities of optimizing and is a good approach for energy reduction or performance improvement; furthermore, it greatly reduces the code size expansion after loop unrolling and is very suitable for optimizing on embedded systems design. Also, we find that improvement in performance often implies a reduction in energy consumption, but not always the case.
Keywords/Search Tags:loop unrolling, unrolling factor, iterative optimization, energy consumption, performance, embedded systems
PDF Full Text Request
Related items