Abstract :
The growing trend towards ubiquitous computing at handheld devices has brought the battery life time issue to the forefront. Scaling down the integrated circuit geometry has given rise to other issues e.g., leakage current and dynamic energy. Systems are software running on hardware; software directs the hardware components and is major contributor to the energy consumption. In this paper, we present compiler directed technique that take advantage of optimization slacks, scheduling slacks and linker slacks to optimize the dynamic energy consumption. Our framework is implemented in two phase. In first phase, profile of software application as well as underlying hardware is captured, followed by the code transformation in second phase. The optimization search engine is powered by genetic algorithm. We present results for 10 widely used multimedia applications, and analyze their behavior for parallelism, live CPU register usage, anticipated scheduling, CPU bus activity, processing units utilization and binary code size. Finally impact of these factors are studied on objective functions e.g., speedup, energy saving etc. Our result show that a unified scheme optimizes embedded source code better than the conventional multiphase approaches in VLIW processors
Keywords :
embedded systems; genetic algorithms; optimising compilers; power aware computing; source coding; code transformation; compiler directed technique; dependable embedded application; dynamic energy consumption optimization; embedded source code; genetic algorithm; handheld device; integrated circuit geometry; linker slack; multicriteria energy efficient source code compilation; multimedia application analysis; optimization search engine; optimization slack; scheduling slack; software application profile; ubiquitous computing; Application software; Batteries; Central Processing Unit; Energy consumption; Energy efficiency; Geometry; Handheld computers; Hardware; Optimizing compilers; Ubiquitous computing; Dependable Embedded Applications; Genetic Algorithm; Low Energy; VLIW (Very Long Instruction Word) Processor;