Leakage Energy Management for Multithreaded Programs
(ACM Transactions on Design Automation of Electronic Systems)上－亦即前段敘述中的過
Leakage power constitutes an increasing fraction of the total power consumption in modern semiconductor technologies due to the continuing size reductions and increasing speeds of transistors. Recent studies have attempted to reduce leakage power using integrated architecture and compiler power-gating mechanisms. This approach involves compilers inserting instructions into programs to shut down and wake up components as appropriate. However, the approaches proposed in the early studies are only applicable to single-threaded programs. When it comes to multithreaded programs, there should be an alternative hardware and/or software mechanism(s) to deal with the additional concern of the interaction among threads. The uncertainty of the execution sequence of threads makes it difficult for compilers to analyze the utilization status of the power-gating candidates of a multithreaded program. Simply applying power-gating management for multithreaded programs with the previous work will most likely break the logic that a unit must be in the active state, i.e., powered on, before being used for processing since the unit might be powered off by a thread while other concurrent threads are still using or about to use it. The reason why we are concerning about the energy management for multithreaded programs is that multithreading is becoming an increasingly important part of modern programming. One reason for this is that multithreading enables a program to make the best use of available CPU cycles, thus allowing very efficient programs to be written. Moreover, the rising multi-core architectures need multithreaded programming to boost their performance. Another reason is that multithreading is a natural choice for handling event-driven code, which is so common in today's embedded, highly distributed, and networked environments. In view of this, in this project we are going to propose compiler techniques based on the previous work on power-gating control and multithreading analyses with hardware supports to manage leakage energy consumption for multithreaded programs on both single-core and multi-core processors. Also, we will enlarge the management to the collaboration between compilers and operating systems. We expect to provide a comprehensive solution for leakage energy management of multithreaded programs in order to cope with the demand of low-power and high-performance applications. The PI of the project, Prof. Yi-Ping You, had research and development experiences in the field of low-power design, especially in power-aware compilation, for many years. He had published many papers on some major conferences (such as LCPC, LCTES, and EMSOFT) and journals (ACM Transactions on Design Automation of Electronic Systems) — which are the research work mentioned in the previous paragraph. He also received Distinguished Ph.D. Dissertation Award from Institute of Information and Computing Machinery, 2007, Moreover, when he was a Ph.D. student, he received the Outstanding Student Research Award due to excellent performance and numerous contributions in the project of Technology Research for Advanced High-Performance and Low-Power Dual Processor Systems in 2006. We think that this research and development work can lead to the establishment of the key compiler technologies in the low power and multithreading areas. We will also actively research into optimization issues related to low power issues. Students and researchers will learn real experiences with a very critical software technology.