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.https://codeshoppy.com/php-projects-titles-topics.html
partially alleviated via the LMK mechanism, the mechanism is not sufficiently functional in two aspects. One is that the work-ing of LMK will lead to performance degradation of smart-phones [15], [16]. The other is that it mainly focuses on thesystem-level aging phenomenon and does not concern itselfwith the application-level aging phenomenon nor the correla-tions between the application-level and system-level aging phe-nomena [11], [17]. Thus, the LMK is not well suited for themitigation of two main types of Android aging phenomena. Thefirst one is the performance degradation and crash of an appli-cation due to a memory leak in the application’s Dalvik heap.1The second one is the exhaustion of the system physical mem-ory due to a memory leak in native processes2or a memoryleak in the OS kernel. To mitigate the various aging effects atmultiple levels in Android smartphones, we propose a two-level(i.e., application-level and system-level) rejuvenation strategyin this paper. Application-level rejuvenation is utilized to dealwith the first type of aging, while system-level rejuvenation isapplied to address the second type.In addition, we explore the optimal time needed to triggerrejuvenation for the strategy. Researchers have put much effortinto obtaining the optimal time required to trigger rejuvena-tion, modeling the software aging, and rejuvenation process tomaximize the steady-state availability of software systems. Inprevious studies, several models have been built based on differ-ent stochastic processes, such as the continuous-time Markovchain (CTMC) [18]–[20], semi-Markov process (SMP) [12],and Markov regenerative process (MRGP) [21], [22]. Thesemodels and their optimization techniques have been success-fully applied to various kinds of systems, such as a client-serversystem [23]–[25], the cluster system [26], and the virtualizedsystem [27]. .
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.https://codeshoppy.com/php-projects-titles-topics.html
partially alleviated via the LMK mechanism, the mechanism is not sufficiently functional in two aspects. One is that the work-ing of LMK will lead to performance degradation of smart-phones [15], [16]. The other is that it mainly focuses on thesystem-level aging phenomenon and does not concern itselfwith the application-level aging phenomenon nor the correla-tions between the application-level and system-level aging phe-nomena [11], [17]. Thus, the LMK is not well suited for themitigation of two main types of Android aging phenomena. Thefirst one is the performance degradation and crash of an appli-cation due to a memory leak in the application’s Dalvik heap.1The second one is the exhaustion of the system physical mem-ory due to a memory leak in native processes2or a memoryleak in the OS kernel. To mitigate the various aging effects atmultiple levels in Android smartphones, we propose a two-level(i.e., application-level and system-level) rejuvenation strategyin this paper. Application-level rejuvenation is utilized to dealwith the first type of aging, while system-level rejuvenation isapplied to address the second type.In addition, we explore the optimal time needed to triggerrejuvenation for the strategy. Researchers have put much effortinto obtaining the optimal time required to trigger rejuvena-tion, modeling the software aging, and rejuvenation process tomaximize the steady-state availability of software systems. Inprevious studies, several models have been built based on differ-ent stochastic processes, such as the continuous-time Markovchain (CTMC) [18]–[20], semi-Markov process (SMP) [12],and Markov regenerative process (MRGP) [21], [22]. Thesemodels and their optimization techniques have been success-fully applied to various kinds of systems, such as a client-serversystem [23]–[25], the cluster system [26], and the virtualizedsystem [27]. .
However, most of them mainly focus on single-level software aging. Due to the two-level characteristic of theaging phenomenon in Android smartphones, these traditionalstochastic models for single-level rejuvenation cannot be ap-plied directly.In this paper, we build an MRGP availability model, in whichwe take both application-level and system-level aging effectsinto account, for the proposed two-level rejuvenation strategy todescribe the aging and rejuvenation process for Android smart-phones. Based on the model, we obtain a closed-form solutionand derive the steady-state availability as a function of the timeof rejuvenation. The optimal times at which to trigger rejuvena-tion are derived by maximizing the steady-state availability of anAndroid smartphone. Moreover, we verify the proposed modeland its closed-form solution via experiments on two popularAndroid applications, i.e.,ZhiHuandYouKuVideo. We comparethe proposed two-level rejuvenation strategy with three otherstrategies: LMK only, which was originally designed for An-droid smartphones, a single application-level rejuvenation strat-egy, and a single system-level rejuvenation strategy. The resultsshow that compared with all other strategies, the proposed twoevel rejuvenation strategy can greatly improve the steady-stateavailability of a smartphone.The remainder of this paper is organized as follows. InSection II, the two-level software rejuvenation strategy is intro-duced. We construct an MRGP model to describe the aging andrejuvenation process for Android smartphones in Section III. InSection IV, the model is analyzed, and we obtain a closed-formsolution for the steady-state availability. In Section V, we presentthe experimental setup. The experimental results are analyzedin Section VI. Threats to validity are presented in Section VII.Related work is described in Section VIII. Finally, Section IXpresents the concluding remarks Code Shoppy
No comments:
Post a Comment