Tuesday 25 February 2020

Improving Energy Efficiency of Android Devices by Preventing Redundant Frame Generation

Improving Energy Efficiency of Android Devices by Preventing Redundant Frame Generation 

Managing the power consumption of display-related components in mobile devices is difficult because of performance degradation. Therefore, eliminating hidden workloads, such as redundant frames, is preferable, as it directly reduces power without affecting the user experience. Our preliminary study shows that the default launcher of the Android Open Source Project (AOSP) and popular applications, such as Instagram and Pinterest, generate redundant frames. In this paper, we propose a scheme to optimize the power consumption of the smartphone’s display-related components by preventing redundant frames generation. By analyzing the frame-generation process, we observe that redundant frame generation is possible in the current Android framework. We then propose a scheme that recognizes and prevents redundant frame generation before actual frame generation (i.e., frame rendering in the GPU). The proposed scheme utilizes a display list, which was introduced in recent Android smartphones for efficient frame generation. We implemented the proposed scheme on Nexus smartphones. On the Nexus 5, the proposed solution reduced the energy of the AOSP default launcher, Instagram, and Pinterest by 40%, 35.4%, and 39.6%, respectively. Furthermore, the experimental results with a general usage scenario showed that our scheme prevented about 35% of redundant frame generation with a false-positive rate of 1.8%
despite the diverse attempts to optimize the power con-sumption of mobile devices, no significant improve-ment in battery life has been achieved due to the ever-in-creasing power demand of mobile devices. For example, a performance improvement in the CPU or GPU of mobile application processors (APs) does not necessarily lead to additional power consumption, because the power effi-ciency of the component has also been improved so that less power is consumed for the same workloads. However, the increased display resolution in recent mobile devices requires high-resolution frames, leading to increased CPU and GPU workloads. Moreover, the display panels in most mobile devices have a refresh rate of 60 frames per second to ensure a fast and smooth user experience. The increase in the display resolution severely affects the devices’Code Shoppy
power consumption. Optimizing power consumption in display-related components is challenging because display quality is closely related to the quality of the user experi-ence. A small change in power optimization can signifi-cantly affect the user experience and therefore, should be invisible to the user. Extensive research has been conducted to reduce the power consumption of the display-related components of mobile devices. These studies fall into two categories: op-timizing the power consumption of screen panels and op-timizing the power consumption in the content-generation phase. The approaches to optimizing screen power con-sumption include backlight scaling [7], [11], [21], dynamic voltage scaling of the display panel [9], [26], [28], and color adjustment schemes [12], [27]. These approaches eventu-ally hinder the user experience, as the display content is often modified with the optimization schemes. Meanwhile, regarding the optimization of power consumption in the content-generation phase, He et al. [16] and Nixon et al. [24] demonstrated dynamic resolution scaling during frame generation. Bui et al. [8], Han et al. [15], and Kim et al. [19] proposed schemes to control the display refresh rate ac-cording to the measured redundant frame rate. Addition-ally, Ham et al. [14] and Huang et al. [18] reduced the power consumption by optimizing the memory transfer process for the generated frame data. Hsieh et al. [17] and Pathania et al. [25] explored CPU and GPU management  
l
To ensure the display of 60 frames per second, each frame ought to be generated efficiently within a timing constraint of 16 ms. Before Android 3.0, the modification of a view was propagated to the root of the view hierarchy, invali-dating all the views that pass over during propagation. This means that the modification of a single view could generate massive calls on the drawing function. Moreover, the operation is CPU-intensive because each drawing call measures the relative size or calculates the position of the view according to its layout. In Android 3.0, the display list was introduced to resolve this inefficient process of frame generation. In brief, the display list is an intermediate rep-resentation of drawing commands for the GPU. With the display list, as shown in Fig. 2, each view hierarchy has a render node that stores the display list for the correspond-ing view. Accordingly, only the modified view updates the display list; others do not have to call the drawing function because the previous result is stored in the render node. This reduction in the drawing calls makes the frame-gen-eration process faster and more efficient. In addition to the display list, display list properties were introduced in Android 4.1 to provide frame genera-tion more efficiently. With the display list only, there are still unnecessary display list updates when setting the properties of the views. For example, a simple transition or rotation of views causes the whole display list to updateeven though most of the results may remain the same. Dis-play list properties are used to remove this inefficiency. By managing the properties separately, a simple transition or rotation of views is readily achieved without the costly process of updating the display list.Motivated by the work of Kim et al. [19], we suspected that in the current Android framework, redundant frames that are unrecognized by users could be generated frequently and consequently, waste a non-trivial amount of device power. To clarify the problem further, we analyzed the An-droid’s frame-generation process. We found that although the display list and the display list properties have en-hanced the efficiency of frame generation by removing un-necessary drawing calls, the display list does not provide a means to prevent the list’s own redundancy. Even when a frame update is requested without a display list update, or the display list update makes no difference, the current scheme of the display list just redraws a frame and wastes device power. This redundant execution should be pre-vented because the result will be identical and unrecog-nizable to users. We were certain that the current scheme of the display list could be improved by preventing such redundant execution. To confirm our understanding, we conducted a simple experiment using Google’s Nexus 5 reference smartphone running Android 6.0.1 (Marshmallow). We activated the Profile GPU Rendering [1] functionality in the Android de-veloper menu to monitor frame generation in real time. We also used the Systrace tool (Android’s debugging tool for developers) [2] for a detailed analysis of the frame-genera-tion process. For the experiment, we wrote a simple appli-cation that has a button that calls the invalidate function constantly until the application is closed. Here, the invali-date function calls notify the Android framework that the button needs to be redrawn. In this application, the user could see no visual change, as we do nothing but call the invalidate function.  
 
 

A Development of a Low-Cost 12-Lead Electrocardiogram Monitoring Device Using Android-based Smartphone

A Development of a Low-Cost 12-Lead Electrocardiogram Monitoring Device Using Android-based Smartphone

The ECG3Gs+ is an alternative to the 12-Lead conventional electrocardiogram(ECG)device interfaced with Android smartphone via Bluetooth module. Several 12-Lead ECGs are commercially available, butare very costly. ECG3Gs+, on the other hand, is developed to havefunctions similar to the conventional ECG. The device is accurate, and power efficient that provides a pre-diagnostic readings and interpretation. This project targets financially-challenged people from remote areas who have heart ailments and who wanted their ECGs checked. It is capable of reading the R-R Interval, QRS Interval, Heart Rate, and Heart Rhythm. Through Bluetooth Module, ECG3Gs+ is connected to Android smartphone. An Android-basedapplication was developed to display the ECG waveform and readings. The parallel testing of ECG3Gs+ and the conventional ECG machine yielded 92.43% accuracy for R-R Interval, 89.24% for QRS Interval, 91.62% for Heart Rate, and 100% for Heart Rhythm. The prototype is power efficient with 815.85 mW power rating.
According to the Department of Health and the Philippine Heart Association, cardiovascular disease is the leading mortality cause in the country [1, 2]. Thereare 170,000 Filipinos who die each year due to cardiovascular diseases, making it the country’s top killer. Many people die from cardiovascular diseases because they are not informed of their heart conditions. Others might know it but financial constraints hinder them from seeking medication. Heart problems can be significantly less fatal if the condition is detected earlier. While there are instruments that can be used to pre-determine the heart condition of a patient, most people cannot afford to buy one. Some people may have these instruments but they are not knowledgeable in interpreting the results. Because of these, scientists and researchers developed a device that is highly reliable for patients, as well as doctors, in monitoring heart conditions, such asportable electrocardiogram (ECG) device interfaced in Android platform [3, 4, 5, 6, 7, 8, 9, 10]. Previous designs [4, 5, 6, 7] made use of 12-lead ECG interfaced in Android platform to determine the heart condition of patients. These are helpful to doctors and medical practitioners in monitoring the condition of the heart of their patients. These devices are capable of storing files on the device itself for personal records and transmitting files to their physicians/ doctors through different means such as Bluetooth and email and cloud storage via wireless connections (3G, LTE, or Wi-Fi) for diagnosis. However, these devices are costly which hinder most people from having one [4, 5]. In this paper, the authors proposean alternativesolutionof a low-cost 12-lead ECG device that runs on Android platform the same as the existing ECGs Code Shoppy
The analog to digital conversion process is donethruArduino Uno. The amplified and filter ECG signal is inputted to analog input (A0) of the microcontrollertoconvert the analog signal to a digital one with a sampling rate of 8000 samples per second. The converted signal is then fed to the the Bluetooth Module as a mean to connect to the Android Application (apk) implemented using B4A (Basic4Android). The apk will first collect the signal sent then will plot it on the smartphone’s screen along with the readings and interpretations. The user may change the range of the waveform (both horizontal and vertical) in the dropdown button located at the upper right corner of the screen.A.Determining QRS and R-RIntervalUsing Waveform Peak Detection (WPD), the apk can determine the points Q(lowest point before R), R(highest peak in the ECG signal) and S (lowest point after R) in the ECG waveform. The apk will determine the time interval between Qand S, recordit as QRS interval and display it along with other readings.Using also WPD, the apk detects Rthen starts a counter and will stop until it reached the next R. This time interval between two consecutive peaks is recorded as R-R interval. B.Determining Heart RateHeart rate (measuredin beats per minute or bpm) is determined by the apk using the R-R interval reading.Heart rate and R-R interval are inversely proportional.Heart Rate = 60 / R-R Interval (in sec)(1)C.Detection of ArrythmiaThere are three types of arrhythmia that the device may detect: (1) Normal Sinus Rhythm (60-100 bpm), (2) Sinus Bradycardia (less than 60 bpm) and (3) Sinus Tachycardia (more than 100 bpm). The apk detect the arrhythmia using the heart rate determined earlier in the process 
https://codeshoppy.com/android-app-ideas-for-students-college-project.html
The following conclusions were made based on the data gathered and evaluation by the proponents:The authors were able to develop a 12-Lead ECG interfaced with Android smartphone via Android applicationthat detects 12 waveforms and providesinterpretations and readings fromthe 12-Lead ECG output;Device performance with an average R-R Interval accuracy of 92.43%, QRS Interval accuracy of 89.24%, and Heart Rate of 91.62%;The prototype has its best accuracy performancein Heart Rhythmmeasurement;Electrical performance of the device is rated at 815.85 mW; andlastly, Theprototype is portable and lightweight with a dimension of 135mm by 75mm by 50mm and approximatelyweighing350 gramsC.RecommendationThe following must be taken into consideration by future researchers to ensure better device performance:Improve the Bluetooth connection of the device using RF shieldingto minimize signal interferencethat affect acquisition of low-power signals;Enhance the switching of the device from one lead to another asit affects the data transmission from the data acquisition device to the Android phone.The authorswish to express their sincere appreciation to those who contributed to the success of this project: MicroTech, team that worked hand-in-hand with the group in developing the Android application. Heartfelt gratitude also tothePhilippine Heart Center and QUALICARE Diagnostics Lab. & Clinics for allowing the proponents to conduct their testing using theirconventional ECG device, and to Dr. Eduardo Tin Hay, Dr. Leandro Bongosia, and Dr. Jason See, the cardiologists who validated and evaluated the output of this project.