Smartphones are becoming essential devices used for various types of applications in our daily life. To satisfy the ever-increasing performance requirement, the number of CPU cores in a phone keeps growing, which imposes a great impact on its power consumption. This work presents a series of analysis to understand how the current Android resource management policy adjusts CPU features. Our results indicate a significant improvement margin for CPU power efficiency in modern Android smartphones. We then propose MobiCore -a power-efficient CPU management scheme that can optimize the use of Dynamic and Frequency Voltage Scaling (DVFS) and the Dynamic Core Scaling (DCS) techniques with a sensitive control on CPU bandwidth. The measurements on the real systems prove that MobiCore can achieve substantial Thanks to Dr. El-Nokali who brought me here. For his support and availability for my endless questions. For his trust in me as well as for the great opportunity he offered me.x iMy advisor, Dr. Chen giving me the opportunity to do research on his behalf. As well as for the time he spent for me.Sandy Weisberg for her constant support for all international students. 1
INTRODUCTIONDue to battery constraints, energy efficiency is, today, the main concern in mobile devices, such as the smartphone. Given the decreasing size of hardware components, technology helps us to combine more and more components together in a smaller environment. The emerging market for multi-core processors is giving new opportunities in terms of resources management as we have more options in our hand such as variability which enables us to get the exact output from those hardware components. From single core architecture, we went through two-core, four-core, octa-core and now reaching deca-core implementation in modern mobile devices [17]. Such new systems and architectures raise new challenges and new opportunities for energy consumption and performance level.Multi-core processors are now common design in embedded systems and they add a whole new dimension to the given opportunities for management in mobile devices. It now becomes essential for mobile applications to fully exploit the potentials of this available embedded hardware resource [15]. Especially for the ever increasing high-demand in computing performance in mobile devices which is going higher each year [15]. Evolution of multicore architectures helped reaching those requirements, however, also results in severe power consumption issu when many cores are active simultaneously [2]. Besides that, it may appear that using more cores at the same time does not necessarily lead to better performance or better user-experience because of many realistic constraints [3]. Hence, there is significant room to 2 save power for mobile devices while maintaining good performance level by carefully managing the available processing cores [14].
BACKGROUNDIn modern multi-core processors embedded in mobile devices, the OS system (here Android OS)provides multiple policies to control energy consumption....