Improving Energy-efficiency in Sensor Networks by Raising Communication Throughput using STI
communication throughput;compiler;Software Thread Integration;STI;Energy Efficiency;Energy;Sensor Networks;efficiency;Embedded Systems;throughput
Venugopalan, Ramnath ; Dr. Alexander G Dean, Committee Chair,Dr. Frank Mueller, Committee Member,Dr. Mihail Sichitiu, Committee Member,Venugopalan, Ramnath ; Dr. Alexander G Dean ; Committee Chair ; Dr. Frank Mueller ; Committee Member ; Dr. Mihail Sichitiu ; Committee Member
Energy consumption plays a crucial role in the design of a battery operated embedded system like a sensor node. Current technologies attempt to fulfill this need by optimizing various parts of the sensor node like the software for communication by using energy-aware algorithms that allow the sensor nodes to sleep as often as and as long as possible and by optimizing the hardware to reduce its energy consumption. In addition to these, there are energy-aware compiler techniques, for example, those on optimization of code-generation techniques of compilers that advocate usage of instructions that consume the least energy, usage of compiler optimizations like loop unrolling and cloning, elimination of dead code, those on instruction scheduling for minimum number of switches, optimizations in register allocation, register pipelining, etc. However, optimization of interrupt overhead, which is one of the biggest contributors to energy consumption, is not addressed by any of these technologies.Our new methods involve the elimination of interrupt overhead using a compiler technique known as Software Thread Integration (STI). STI is a compiler technology which interleaves multiple assembly language threads at a fine-grain level. This method may be used in conjunction with the above methods for improved energy-efficiency. The energy consumption of a sensor node is primarily due to two components its communication (RF) module and its computation (CPU) module. Currently, communication is performed using an interrupt-based scheme that raises an interrupt at frequent intervals. The interrupt overheads mount up to large values for long periods of communication. Using STI to interleave the threads of computation with the threads of communication allows these statically scheduled threads to function without the use of interrupts. This saves a large number of cycles and time in interrupt overhead. These savings can be used in multiple ways to save energy. 1) The cycles that are saved can be used by the CPU to go to sleep when there is no work to be done. 2) The CPU can be run at lower clock frequencies so as to save energy. 3) The code for the communications can be run faster so that the bit-rate for communications can be increased to the highest limit. This allows the RFM to transmit as fast as possible and go to sleep sooner. The energy consumption of the RFM depends on the transmit power if it is transmitting, and the duration for which it has to stay powered up. The reduction in time that it has to stay on decreases the energy consumption of the node.We demonstrate these methods in this thesis by applying them to a sensor node that runs communication and a DSP application and show significant reduction in energy consumption of the node.
【 预 览 】
附件列表
Files
Size
Format
View
Improving Energy-efficiency in Sensor Networks by Raising Communication Throughput using STI