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.  |