EAGER: Mobile Multicore Computing





Moore’s Law, which has dominated the development of IT industries for more than 40 years, is no longer applicable to uniprocessors due to the fact that it is extremely difficult to make significant performance gains by further increasing the clock frequency. To overcome this difficulty, chip multiprocessors, so called multicore processors, have been emerging to improve the overall system performance offered by multiple cores in a processor without the need to increase the clock frequency for each core in the processor. That is, it has become a common practice for Moore’s Law to continue to be applicable in the multicore era. Multicore technology is entering the mobile phone domain, and it is termed mobile multicore computing (MMC) in this project. With MMC, the current mobile phones are no longer the traditional mobile phones with only voice and/or video phone functionalities. More features, such as multimedia streaming and mobile P2P applications, are integrated into these small devices. The grand challenge in MMC mobile phones is making a good tradeoff between performance and power. Different from existing hardware-oriented approaches, such as clock gating and power gating for high performance and low power design, we propose software-oriented approaches including power-aware parallelization of mobile applications and power-aware task scheduling to meet this challenge.The proposed power-aware parallelization and scheduling approaches take into account underlying multicores, and also, different user requirements. We believe that in order to achieve longer battery life, MMC systems should be designed to include user requirements-aware energy scale-down techniques. Such techniques would allow a general purpose device to use hardware mechanisms and software policies to adapt the energy use to user requirements for the task at hand, potentially approaching the low energy use of a special-purpose device. In this 2-year EAGER project, we are seeking answers to this foundational performance/power tradeoff problem. We set forth four ambitious objectives to do so: 1) To build a performance and power tradeoff model for mobile multicore platforms considering user requirements; 2) To parallelize mobile applications for mobile multicore platforms with memory, timing, and power constraints; 3) To schedule multitasks for multicore platforms with memory, timing, and power constraints; and 4) To develop a prototype mobile system based on mobile multicore computing platforms with high performance and low power consumption.

Intellectual Merit: We investigate the issues in mobile phone applications based on mobile multicore computing platform (MMC). Three challenging issues are identified for MMC: Modeling the performance and power tradeoff, parallelizing mobile applications, and scheduling multitasks. Regarding the performance and power tradeoff, we show the model input, output, constraints, and their relationships. To tackle the second issue, we propose to use stream programming to write multithreaded programs, taking into account the restrictions of the underlying MMC platform, including the number of cores, the local memory of each core, and the global memory shared by all the cores. To tackle the third issue, we propose a two-level power-aware task scheduling mechanism. At the first level, a group of t tasks of a parallel program are mapped to a maximum of m multicores under the local/global memory constraints and different levels of real-time constraints from user requirements. At the second level, a group of p multithreaded programs are mapped to a maximum of m multicores under the memory, timing, and power constraints. Finally, we propose to develop a prototype mobile system to showcase the above three aspects, which consists of phone services including 3G/GSM voice/video communications with stringent real-time requirements, and mobile applications including multimedia streaming (real-time) and mobile P2P applications (non real-time).

Broader Impact: We envision that the insights and results drawn from this project will benefit researchers, practitioners, users, and students on a large scale. Multicore technology is a breakthrough technology developed in recent years, which extends the lifetime of Moore’s Law by changing its applicability from uniprocessors to multicore processors. However, there are a lot of research issues that have not been resolved yet, which restricts its practicality in broader domains, particularly the mobile domain due to extremely difficult problems in trading-off the performance and power consumption. This proposal thus draws the attention of researchers in the parallel computing community solving some challenging issues, including power-aware parallelization of mobile applications and power-aware task scheduling. Regarding practitioners, particularly those from mobile phone service providers who are eager to push their multicore technology to the marketplace, this proposal will definitely embrace the multicore technology and put the mobile applications into reality. Regarding mobile users, this proposal will potentially benefit all sorts of users, from the high-end users who pursue high performance (full functionality of mobile applications) to the low-end users who pursue low power consumption (long battery power). Finally, this proposal will benefit all the students majoring in computer science and information technology at large, since our research outcome will potentially contribute to some courses, including parallel computing, mobile computing, and operating systems.

 




Contador    Since July 2003