Tuesday 25 February 2020

Two-Level Rejuvenation for AndroidSmartphones and Its Optimization

Two-Level Rejuvenation for AndroidSmartphones and Its Optimization

The Android operating system (OS) is a sophisticatedman-made system and is the dominant OS in the current smart-phone market. Due to the accumulation of errors in the systeminternal state and the incremental consumption of resources, suchas the Dalvik heap memory of software applications and the physi-cal memory, software aging is observed frequently and recognizedas a chronic problem of Android smartphones. To mitigate thisproblem, we propose a two-level software rejuvenation, with thetwo levels referring to software applications and the OS, in this pa-per. Based on this strategy, a Markov regenerative process model isconstructed to evaluate the steady-state availability and to optimizethe time required to trigger rejuvenation for Android smartphones.The parameters of the model, such as the degradation rate and fail-ure rate of software applications and the Android OS, are obtainedvia our testing platform. Experiments on two real Android applica-tions show that the availability of an Android smartphone increasesby 10.81% and 10.18% for the two subjects in our experiments,respectively. An empirical study comparing our two-level strategywith one-level strategies (single application-level and system-levelrejuvenation) further verifies the effectiveness of our approach.
The Android operating system (OS) is a sophisticatedman-made system and is the dominant OS in the current smart-phone market. Due to the accumulation of errors in the systeminternal state and the incremental consumption of resources, suchas the Dalvik heap memory of software applications and the physi-cal memory, software aging is observed frequently and recognizedas a chronic problem of Android smartphones. To mitigate thisproblem, we propose a two-level software rejuvenation, with thetwo levels referring to software applications and the OS, in this pa-per. Based on this strategy, a Markov regenerative process model isconstructed to evaluate the steady-state availability and to optimizethe time required to trigger rejuvenation for Android smartphones.The parameters of the model, such as the degradation rate and fail-ure rate of software applications and the Android OS, are obtainedvia our testing platform. Experiments on two real Android applica-tions show that the availability of an Android smartphone increasesby 10.81% and 10.18% for the two subjects in our experiments,respectively. An empirical study comparing our two-level strategywith one-level strategies (single application-level and system-levelrejuvenation) further verifies the effectiveness of our approach.Index Terms—Android, Markov regenerative process (MRGP),multilevel software aging, software rejuvenatioN Code Shoppy
 
Two-Level Rejuvenation for AndroidSmartphones and Its Optimization


ATREMENDOUS increase in the number of smartphonesover the last fifteen years has been observed. Smartphonesassist people both in their personal and business activities, sim-plifying their lives in various ways, e.g., enabling people to sende-mails, browse the Internet, and play games. Thus, as the func-tionality and complexity of smartphones rapidly increase, usersexpect a highly reliable and responsive platform. According tothe International Data Corporation (IDC), Android commanded86.8% of the world’s smartphone market in 2016 [1]. Android applications are written in Java and run in their own separateaddress spaces, and the Android operating system (OS) keepstrack of the applications and supports, e.g., their memory man-agement, process management, and device management.This paper focuses on the mitigation of the software agingproblem for Android smartphones. Software aging refers to theprogressive performance degradation of long-time running soft-ware, which may lead to system slow down, system crashes,or undesirable hangs [2]. Typical causes of software aging arememory leaks [3], nonterminated threads, storage fragmenta-tion, unreleased locks, and shared-memory pool latching [4].Software aging is known to occur for Android smartphones andmay greatly affect a user’s experience, especially after a longperiod of usage. Typical examples reported by Google’s An-droid project [5] include the camera application crashing afterrunning for a long time [6], a smartphone responding poorlybecause of a memory leak in thesurfaceflingerprocess [7], andan out-of-memory error occurring after many iterations of theprocess of language switching [8]. Therefore, the study of soft-ware aging mitigation techniques for Android smartphones isnecessary to help prevent/postpone or eliminate performancedegradation, solve the issues related to memory consumptionand avoid unexpected failures for Android software applica-tions and the Android OS [9]–[11].To counteract software aging, a software recovery techniqueknown as software rejuvenation was introduced [4]. Softwarerejuvenation is a proactive fault management technique aimed atpreventing/postponing performance degradation and crash fail-ures. It involves occasionally terminating an application, clean-ing up the system internal state, and restarting the system toprevent/postpone the occurrence of future failures [12], [13].Android offers a technique called low memory killer (LMK),which can partially refresh the system state to realize the goalof software rejuvenation. That is, once the amount of free sys-tem memory is below a threshold, the LMK chooses a targetapplication and terminates its host process. Thus, the mem-ory associated with the process is reclaimed and can be reallo-cated [14]. Simultaneously, Android intelligently manages thephysical memory for caching applications. After a user exits anapplication that is running in the foreground, Android stores theapplications process in memory. Consequently, the next timethe user requires the old application, the Android OS does notneed to repeat the initialization work
https://codeshoppy.com/php-projects-titles-topics.html

1 comment: