Summary: | 碩士 === 國立清華大學 === 工業工程與工程管理學系 === 100 === Due to the energy crisis, energy consumption from software computation has become an issue. This study investigates the factors affecting energy consumed from a parallel algorithm, and then provides the general measure of each factor together with a comparison with time complexity as normally adopted for measuring the complexity of an algorithm. With several experiments conducted, the proposed method is shown to be systematic, practical, and able to assist a system designer or software developer in estimating the energy consumption upon execution. Finally, we establish an approach to verifying the accuracy of the model. The results show that with the upper bound of the input size that a parallel processor can normally handle, the accuracy of the energy complexity model is ensured.
In this study, due to the reason that energy and time complexities will be indistinguishable in the case of sequential algorithms, we shall focus on the measure of energy complexity for parallel algorithms. Based on the proposed model, energy consumption upon execution mainly originates from four sources: (1) consumption by the processor during the execution of instructions, (2) consumption by the processor for data communication, (3) consumption by the memory storage while accessing instructions, and (4) consumption by the memory storage for data accessing. By progressive calculations, we can capitalize on the performance of the Big-O to obtain the lowest possible energy consumption subject to the optimal number of processors employed as a prerequisite. This research is based on six classical calculation models, and the feasibility of the models is affirmed by substantial practical experiments.
|