Freezing-based Memory and Process Co-design for User Experience on Resource-limited Mobile Devices
TL;DR Summary
The `Ice` framework proposed in this study enhances user experience on resource-limited mobile devices by integrating memory and process management. It identifies and freezes background processes that cause frequent refaults, boosting performance and increasing frame rates by 1.5
Abstract
Mobile devices with limited resources are prevalent, as they have a relatively low price. Providing a good user experience with limited resources has been a big challenge. This work finds that foreground applications are often unexpectedly interfered by background applications' memory activities. Improving user experience on resource-limited mobile devices calls for a strong collaboration between memory and process management. This article proposes Ice, a framework to optimize the user experience on resource-limited mobile devices. With Ice, processes that will cause frequent refaults in the background are identified and frozen accordingly. The frozen application will be thawed when memory condition allows. Based on the proposed Ice, this work shows that the refault can be further reduced by revisiting the LRU lists in the original kernel with app-freezing awareness (called Ice+). Evaluation of resource-limited mobile devices demonstrates that the user experience is effectively improved with Ice. Specifically, Ice boosts the frame rate by 1.57x on average over the state of the art. The frame rate is further enhanced by 5.14% on average with Ice+.
Mind Map
In-depth Reading
English Analysis
1. Bibliographic Information
1.1. Title
Freezing-based Memory and Process Co-design for User Experience on Resource-limited Mobile Devices
1.2. Authors
CHANGLONG LI, ZONGWEI ZHU, CHUN JASON XUE, YU LIANG, RACHATA AUSAVARUNGNIRUN, LIANG SHI, XUEHAI ZHOU
1.3. Journal/Conference
ACM Transactions on Computer Systems (ACM Trans. Comput. Syst.). This is a highly reputable journal in the field of computer systems, known for publishing high-quality, rigorous research. Its influence is significant in the academic community for operating systems, distributed systems, and computer architecture research.
1.4. Publication Year
2025
1.5. Abstract
Mobile devices with limited resources are widely used due to their affordability, but delivering a good user experience on such devices remains challenging. This work identifies that foreground (FG) applications are frequently hampered by background (BG) applications' memory activities. To enhance user experience, the paper proposes Ice, a framework that integrates memory and process management. Ice identifies and freezes BG processes that are prone to causing frequent refaults. These frozen applications are then thawed when memory conditions permit. Furthermore, the paper introduces , which refines the Least Recently Used (LRU) lists in the kernel to be app-freezing aware, thereby further reducing refaults. Evaluations on resource-limited mobile devices demonstrate that Ice significantly improves user experience, boosting the frame rate by an average of 1.57x over state-of-the-art methods. further enhances the frame rate by an additional 5.14% on average.
1.6. Original Source Link
/files/papers/6915d96b4d6b2ff314a02ee2/paper.pdf (Published at (UTC): 2025-01-18T00:00:00.000Z)
2. Executive Summary
2.1. Background & Motivation
The core problem this paper aims to solve is the degraded user experience on resource-limited mobile devices, primarily caused by the memory activities of background (BG) applications interfering with foreground (FG) applications. Low-end and mid-range mobile devices constitute a significant portion of the global market (over 1 billion in use), making this a widespread issue.
This problem is important because a jerky screen or frame dropping severely impacts user satisfaction, even though these devices are cost-effective. Existing solutions for memory management, such as optimizing page reclaiming algorithms (LRU, SmartSwap, Acclaim, Fleet), have not fully considered the negative impact of BG processes' memory activities on FG processes. This leads to frequent refaults by BG applications, which, despite not being CPU-intensive, often access memory pages. This memory thrashing can cause priority inversion, where high-priority FG tasks are blocked by low-priority BG memory operations, leading to significant frame rate drops (often below 30 frames per second, which is insufficient for a good user experience).
The paper's entry point and innovative idea stem from four key observations:
-
CPU contentionis not the primary cause offrame ratedrops. -
BGapplications, while notCPU-intensive, frequently access memory pages, leading torefaults. -
Memory reclaimingnegatively affectsFGapplications due topriority inversionandrefault-induced memory thrashing. -
The root of the problem lies in
improper process schedulingin conjunction withmemory management.These observations lead to the hypothesis that a strong collaboration between
memory managementandprocess schedulingis essential, especially for resource-limited mobile systems, to address theBG refaultproblem and improve user experience.
2.2. Main Contributions / Findings
The paper makes several significant contributions to address the challenge of user experience on resource-limited mobile devices:
- Reveals the
BG RefaultProblem: Based on data collected from real-life users, the paper highlights that current user experience on mobile devices suffers significantly frommemory refaultscaused by over-activeBGprocesses. This is a critical insight, as existing memory management solutions often overlook this specific interaction. - Proposes
IceFramework: It introducesIce, a collaborative framework formemoryandprocess management.Iceis the first known effort to tackle the problem ofineffective memory reclaimingby integratingprocess management, specifically throughrefault-driven process freezing (RPF)andmemory-aware dynamic thawing (MDT). - Proposes for Co-design with Existing Mechanisms: The paper further develops , a novel solution that redesigns existing system mechanisms like
ZRAM(memory compression) andLow Memory Killer (LMK). By modifyingLRUlists to beapp-freezing aware, effectively addresses resource waste caused by the "reclaim-then-kill" phenomenon. - Empirical Validation: The
Iceand frameworks have been implemented on real mobile devices (Google Pixel3 and HUAWEI P20). Experimental results demonstrate substantial improvements in user experience:-
Iceboosts theframe rateby an average of 1.57x compared to state-of-the-art mechanisms. -
further enhances the
frame rateby an additional 5.14% on average.These findings suggest that
Iceand offer a practical and effective approach to improving the responsiveness and fluidity of mobile devices, especially those with constrained resources, by intelligently managingBGapplication interference.
-
3. Prerequisite Knowledge & Related Work
3.1. Foundational Concepts
To understand the Ice framework and its contributions, a basic understanding of mobile operating system concepts, particularly in memory and process management, is crucial.
- Resource-limited Mobile Devices: These are smartphones, tablets, or other portable devices characterized by relatively lower specifications compared to high-end models. This typically includes:
- Limited RAM: Often 4GB or 6GB, which can be quickly consumed by multiple applications.
- Less powerful CPUs: Older or mid-range processors that may struggle with heavy workloads or context switching.
- Slower storage:
eMMC(Embedded MultiMediaCard) flash storage is common, which is slower thanUFS(Universal Flash Storage) found in high-end devices, impactingI/Operformance.
- User Experience (UX): This refers to a user's overall perception and feelings when interacting with a mobile device. Key metrics include:
- Frame Rate (FPS - Frames Per Second): The number of unique images or frames that a display can produce in one second. A higher
FPS(e.g., 60fps) results in smoother, more fluid visuals and interactions. Below 30fps, users often perceivejank(choppy or unresponsive visuals). - Jank: The phenomenon of screen jerking, stuttering, or unresponsiveness that negatively impacts the user's perception of fluidity and performance.
- Frame Rate (FPS - Frames Per Second): The number of unique images or frames that a display can produce in one second. A higher
- Memory Management in Mobile OS (Linux/Android):
- Main Memory (RAM): The primary, volatile storage used by the CPU to hold data and instructions that are currently in use.
- Page: The basic unit of memory that the operating system manages.
Memoryis divided into fixed-size blocks calledpages. - Page Reclaiming: When
free memoryfalls below a certain threshold (e.g.,low-watermark), the operating system frees upmemory pagesthat are not currently in active use. This process involves identifyinginactive pagesand moving them out ofRAM. - LRU (Least Recently Used) Algorithm: A common
page replacement algorithmused in the Linux kernel. It assumes that pages that have not been used for the longest time are least likely to be used again soon, making them prime candidates forreclaiming. Pages are typically tracked inactiveandinactive LRU lists. - Anonymous Pages:
Memory pagesthat hold program data (e.g., heap, stack) and are not backed by files on permanent storage. Whenreclaimed, they are often moved to a compressedmemoryarea (ZRAM) orswappedtosecondary storage. - File-Backed Pages:
Memory pagesthat contain data loaded from files onsecondary storage.Dirty(modified)file-backed pagesare written back tostorage, whileclean(unmodified) ones can be discarded and reloaded later if needed. - ZRAM: A
Linux kernelmodule that creates a compressedblock deviceinRAM. Whenanonymous pagesarereclaimed, instead of writing them to slowdisk swap, they are compressed and stored inZRAM, allowing faster access if they need to be brought back intomemory. - Swapping: The process of moving
memory pagesfromRAMto a dedicated area onsecondary storage(aswap partitionorswap file) to free upRAM.
- Page Refault: Occurs when a
memory pagethat was previouslyreclaimed(evicted fromRAM) is needed again by a process. The system must then retrieve it fromZRAM(decompress) orsecondary storage(read from disk), which incurs latency and can degrade performance.- Refault Distance: The time between a
pagebeing evicted and then subsequentlyfaulted inagain. Longerrefault distancesare desirable. - FG Refaults:
Page refaultscaused by theforegroundapplication. - BG Refaults:
Page refaultscaused bybackgroundprocesses. This paper argues these are particularly problematic forFGuser experience.
- Refault Distance: The time between a
- Process Management:
- Foreground (FG) Application: The application currently being actively used and displayed on the screen by the user. It typically has the highest priority.
- Background (BG) Application/Process: Applications that are running but not currently visible or actively interacted with by the user. They often have lower priority but can still consume resources.
- Process Freezing: A mechanism where an operating system can suspend a process, making it inactive until explicitly
thawed(resumed). This savesCPUcycles and preventsmemoryaccess. - Priority Inversion: A problematic scenario where a high-priority task (e.g.,
FGapplication's rendering task) is blocked or delayed by a lower-priority task (e.g.,BGapplication'smemory reclamationorrefaulthandling task) that holds a necessary resource. - Low Memory Killer (LMK): A mechanism in
Android/Linuxthat selectively killsBGapplications whenmemoryis critically low, to prevent the system from crashing. It typically targets applications with the lowest priority or those consuming the mostmemory. - CFS (Completely Fair Scheduler): The default
CPU schedulerin theLinux kernel. It aims to provide fairCPUtime to all processes based on theirpriority.
3.2. Previous Works
The paper discusses various previous efforts in memory and process management and highlights their limitations concerning the BG refault problem.
- Memory Management Schemes:
- LRU [23]: The foundational
Least Recently Usedpage replacement algorithmin theLinux kernel. It prioritizesreclaiming pagesthat haven't been accessed recently.- Differentiation: While effective for general
page reclaiming,LRUdoesn't differentiate betweenFGandBGpages sufficiently, nor does it account for the highrefaultrate ofBGpages due to their low-priority, yet active, nature.Iceexplicitly addressesBG refaults.
- Differentiation: While effective for general
- SmartSwap [72]: Optimizes
memory reclaimingby predicting which applications are unlikely to be used and preemptivelyevictingtheirpages. It uses user behavior analysis.- Differentiation:
SmartSwapfocuses onhot-launchperformance andcaching apps.Iceargues thatSmartSwap(and similarproactive reclaimingapproaches) can still lead tomemory thrashingandrefaultsifBGapps remain active.Iceaims to inhibit the source ofrefaultsdirectly.
- Differentiation:
- Acclaim [51]: A
FG-aware page eviction schemethat prioritizes keepingFGapplicationpagesinmemory, even ifBGpagesare more "active." It aims to reduceFG refaults.- Differentiation:
AcclaimimprovesFG refaults, but by aggressivelyreclaiming BGpages, it can inadvertently increaseBG refaultsand the associated interference, as shown in the paper's evaluation (Figure 11, S-C on Pixel3).Icespecifically targetsBG refaults.
- Differentiation:
- Fleet [35]: Proposed to improve the number of cached applications and
hot-launchperformance.- Differentiation: Similar to
SmartSwap,Fleetaims to keep more apps cached for quick switching.Icenotes that while these solutions help with caching, they don't fully solve theBG refaultproblem if cachedBGapps remain active and causememory thrashing.
- Differentiation: Similar to
- Marvin [46]: Focuses on addressing
GC-induced BG refaultsinlanguage runtimes(likeJava).- Differentiation:
Iceobserves thatGCis only one source ofBG refaults, and even withGCdisabled, a significant percentage ofrefaultspersist (77%).Icetakes a broader approach by targeting allBGprocess activities that causerefaults.
- Differentiation:
- MARS [31] / SEAL [47] / FlashVM [61]: These works leverage
flash storageto speed upswappingorapplication launching.MARSspeeds upapp launchingthroughflash-aware swapping, andSEALproposes a two-levelswappingframework.FlashVMmodifies thevirtual memorysystem forfast storage.- Differentiation: While these improve
I/Operformance, they don't prevent the fundamental issue ofBGprocesses frequently accessing andrefaultingpages.Iceaims to reduce the number ofrefaultsthemselves, thereby reducingI/O pressure.
- Differentiation: While these improve
- LRU [23]: The foundational
- Process Scheduling Schemes:
- CFS (Completely Fair Scheduler) [13]: The standard
Linux scheduler, which aims to provide fairCPUtime to all processes.- Differentiation:
CFStreatsFGandBGprocesses fairly, but this fairness doesn't preventBGmemory activitiesfrom interfering withFGtasks.
- Differentiation:
- UCSG [65]: Prioritizes
FGapplications by giving their processes higherCPUpriority.- Differentiation: While
UCSGhelps withCPU contention, it doesn't solve thememory-induced priority inversionproblem, as low-priorityBGprocesses can still run and causerefaults. The paper showsUCSG'srefaultreduction is limited (24.4% vs.Ice's 42.1%-57.6%).
- Differentiation: While
- Energy managers with process freezing [16, 38, 54]: Some commercial smartphones use
process freezingforpower management.- Differentiation: These
freezingmechanisms are typicallypower-oriented, notmemory-aware. They mayfreezeprocesses indiscriminately or based onenergy consumption, notrefaultlikelihood. They often lack dynamic tuning based onmemory pressureand may notfreezewhen charging, making them less effective forBG refaultreduction.
- Differentiation: These
- Other Scheduling Optimizations [29, 50, 57, 60, 69, 71]: Various strategies to optimize
process scheduling, includingFGdifferentiation,priority promotion, andinteractive applicationperformance.- Differentiation:
Iceargues that these approaches, withoutmemory insight, cannot fully address theBG refaultissue becauseBGapplications have diversememory behaviorcharacteristics.Icebrings a novel co-design perspective, integratingmemoryandprocess management.
- Differentiation:
- CFS (Completely Fair Scheduler) [13]: The standard
3.3. Technological Evolution
Mobile operating systems, largely based on the Linux kernel, have continuously evolved their memory and process management strategies to improve user experience. Early systems relied heavily on basic LRU for page reclaiming and CFS for CPU scheduling. As RAM became more abundant but user expectations for multitasking grew, solutions like ZRAM emerged to mitigate slow swapping to flash storage. The focus then shifted to hot-launch performance and caching more applications (SmartSwap, Fleet). Recognizing the importance of FG responsiveness, FG-aware memory (Acclaim) and CPU scheduling (UCSG) schemes were introduced. Specific BG activities, like GC, were also targeted (Marvin).
This paper's work (Ice) fits into this evolution by identifying a persistent gap: the often-overlooked and detrimental interaction between BG application memory activities and FG user experience, particularly through BG refaults. It argues that prior solutions, while improving specific aspects, have not fundamentally resolved this co-design challenge. Ice represents a leap towards a more holistic memory and process management by explicitly linking BG refaults to process freezing, thus entering a new phase of co-design for improved user experience on resource-limited devices.
3.4. Differentiation Analysis
Compared to existing memory management and process scheduling methods, Ice introduces several core differentiations and innovations:
-
Co-design of Memory and Process Management: This is
Ice's most significant departure. Unlike previous works that primarily optimizememoryorprocessesin isolation (e.g.,Acclaimformemory,UCSGforprocesses),Iceexplicitly creates a feedback loop. It usesmemory refaultevents as triggers forprocess managementdecisions (freezing), andprocess states(frozen/thawed) to informmemory reclamationpolicies (). -
Refault-Driven Freezing: Instead of static priorities or general activity metrics,
Ice'sRefault-Driven Process Freezing (RPF)directly targetsBGprocesses that are actively causingpage refaults. This is a fine-grained, event-driven approach that addresses the root cause ofmemory thrashingmore effectively than simply loweringBGprocess priority (as inUCSG) or proactivelyreclaiming(as inSmartSwap). -
Dynamic and Memory-Aware Thawing:
Ice'sMemory-Aware Dynamic Thawing (MDT)component introduces dynamicfreezingintensity based on currentmemory pressure. This allows the system to adapt,freezingmore aggressively whenmemoryis scarce and relaxing when resources are available, which is more flexible than fixedfreezingpolicies inpower managers. -
Application-Granularity Freezing for Robustness:
Icefreezes processes atapplication granularity(UID-level), acknowledging that applications often consist of multiple interdependent processes. This ensures application robustness and avoids partialfreezingissues. -
Freezing-Aware LRU Modification (): specifically modifies the
LRUalgorithm to befreezing-aware. It re-prioritizespagesbelonging tofrozen applicationsas immediatelyinactive, allowing them to bereclaimedfaster. This is more efficient than traditionalLRUwhich might be misled by historicalBG activity. -
Avoids "Reclaim-Then-Kill" Waste (): By coordinating with
ZRAMandLMK, preventspagesfrom beingreclaimed(compressed toZRAM) only for the entireapplicationto be subsequentlykilledbyLMK. It flagsfrozen applicationsas "unkillable" if theirpageshave beencompressed, thereby savingresource waste. -
Low Overhead and Compatibility:
Iceis designed for low overhead, using kernel-level mechanisms and asynchronous operations, and is compatible with existingAndroid/Linuxsystems without requiringapplicationorhardwaremodifications.In essence,
Iceand move beyond fragmented optimizations to offer an integrated, adaptive, andrefault-centricsolution that leverages existing system capabilities in a novelco-designedmanner.
4. Methodology
4.1. Principles
The core idea behind Ice is to foster a strong collaboration between memory management and process management to optimize user experience on resource-limited mobile devices. The fundamental principle is to identify and selectively inhibit background (BG) processes that frequently cause page refaults, thereby reducing memory thrashing and priority inversion that negatively impact foreground (FG) applications. Ice achieves this by freezing such problematic BG processes when refaults are detected and thawing them dynamically when memory conditions allow. This refault-driven approach ensures that resource interference from BG activities is minimized, leading to a smoother FG user experience.
4.2. Core Methodology In-depth (Layer by Layer)
Ice is implemented through two main components: Refault-Driven Process Freezing (RPF) and Memory-Aware Dynamic Thawing (MDT), coordinated by an Ice Daemon. The framework's overall architecture and control flow are depicted in the figure below (Figure 5 from the original paper).
该图像是一个示意图,展示了Ice框架在资源有限的移动设备上的内存和进程管理的协作。图中说明了进程的冻结和解冻控制流,以及如何通过中介组件(如Ice Daemon)与主内存进行相互作用,优化用户体验。
Fig. 5. Ice overview. It detects the refault event and transfers the ID of the process causing refault to the RPF component for freezing (see the dashed lines). The MDT component monitors the memory pressure and thaws the frozen processes periodically (see the thick lines).
The control flow for process freezing and thawing in Ice is as follows:
-
Icedetects arefault eventin the kernel space. -
The
process ID() that induced thepage refaultis obtained and delivered to theRPFcomponent. -
Icethen determines thefreezing targets(e.g., ) and sends commands to theprocess managementsubsystem to inhibit (freeze) the activity of the selected processes. -
In parallel, the
MDTcomponent continuously monitorsmemory pressure. -
MDTintermittentlythawsthefrozen processesbased onmemoryconditions. Thethawing cycleis dynamically adjusted according tomemory pressure.This design addresses several challenges: ensuring low
refault event trackingoverhead, intelligent control offreezing targetsand intensity, and compatibility with existing system mechanisms.
4.2.1. Refault-Driven Process Freezing (RPF)
The RPF component is responsible for selectively freezing BG processes that cause sustained refaults. It focuses on selective freezing rather than aggressive freezing of all BG applications, minimizing the overhead of hot-launching frozen applications. RPF consists of two core sub-components: Refault Event Handling and Application-Grain Freezing. The overview of RPF is shown in the figure below (Figure 6 from the original paper).
该图像是一个示意图,展示了基于应用程序粒度的冻结机制和缺页事件处理流程。左侧图表展示了应用程序的UID、PID和标志位信息,右侧描述了缺页事件的识别和处理过程,其中涉及冻结信号的传递和处理方式。
Fig. 6. RPF overview. It consists of two core components: refault event handling and application-grain freezing.
4.2.1.1. Refault Event Handling
RPF operates based on an ECA (event-condition-active) rule.
- Refault Identification:
The
refault eventis detected at the kernel level by inspecting thePage Table Entry (PTE). EachPTEcontains a_PAGE_PRESENTflag (bit-0). When apageis evicted tostorage, this flag bit is modified. If apage faultoccurs and the_PAGE_PRESENTflag for the requestedpageis found to be unset, it indicates that thepagewas previously evicted, thus identifying arefault event.Iceleverages theshadow entryinterface in the modernLinux kernelto acquire thisrefault-related information. - Process Selection:
Upon detecting a
refault event,RPFidentifies the process that owns thefaulting page. This is possible becausepage faultsoriginate from thepage fault interruption, allowing theLinux kernelto obtain thepage tableandvirtual addressof the fault, thereby linking thememory pageto its process.RPFthen checks if this process isfreezable. Certain critical processes, such askernel processes(kswapd,kworker) and coreAndroid services(UI thread,GC thread), are explicitly excluded fromfreezingto maintain system stability. Theprocess ID(pid) of afreezable BGprocess causing arefaultis then passed to theApplication-Grain Freezingmodule. - Response to the Refault Event:
Refault eventsare detected in near real-time, allowingRPFto respond immediately. Since simplyfreezinga single process might disrupt the entiremobile application(as apps often have multiple interdependent processes),freezingis performed atapplication granularity.
4.2.1.2. Application-Grain Freezing
RPF implements freezing at the application granularity.
- Mapping Table:
Icemaintains amapping tablethat linksapplication unique IDs (UIDs)to their correspondingprocess IDs (PIDs). TheUIDis a fixed identifier for an application. This table is updated when applications are installed, deleted, or launched. - Freezing Mechanism: When
RPFneeds tofreezeaprocess, it consults themapping tableto identify theapplicationtheprocessbelongs to. It then sendsfreezing signalsto all relevanttarget processesof thatapplication. Theseprocessesrespond to the signals by calling thetry_to_freeze()function (aLinux kernelmechanism), which causes them tohibernateuntil athawing signalis received. This method ensures thatBG applicationscausingpage refaultsare effectivelyfrozen. - Kernel Space Management: The
mapping tableresides in the kernel space for fast access. Cross-space communication (between kernel and user space) only occurs when updating the table (e.g., when an app is launched or its state changes).Application information(UID, PID, state) is passed from theAndroid frameworkto the kernel via theproc file system(specifically, by writing a protocol string to the/proc/{pid}/ice-mpnode). This communication overhead is minimal, given the infrequent changes to application lifecycle information compared to frequentprocess indexingoperations. - Freezing vs. Killing:
Iceopts forfreezingrather than outrightkillingBG applications. This is becausefrozen applicationscan behot-launched(fast switched) and their state can be restored, improving user experience when switching back.
4.2.2. Memory-Aware Dynamic Thawing (MDT)
MDT is responsible for giving frozen applications a chance to run and dynamically tuning the freezing intensity based on memory pressure. This mechanism is illustrated in the figure below (Figure 7 from the original paper).
该图像是示意图,展示了内存消耗随时间的变化情况。曲线描述了在不同纪元(Epoch 0 到 Epoch 4)中内存的使用情况,包括“冻结期”()和“解冻期”()。图中还标示了峰值内存大小。整体上,图像展示了内存消耗的波动及其管理策略对用户体验的影响。
Fig. 7. Memory-aware heartbeat.
- Heartbeat Mechanism:
MDTmaintains a system-wideheartbeat. Eachheartbeat epochis divided into two phases: afreezing period() and athawing period(). - Dynamic Tuning: At the beginning of each
epoch, selectedapplicationsarefrozenfor seconds, thenthawedfor seconds. The length of (and thus theepoch) is dynamically adjusted based on the currentmemory state.- If
memory pressureincreases (lessavailable memory), thefreezing period() is lengthened, increasingfreezing intensity. - If
memory pressuredecreases (moreavailable memory), thefreezing period() is shortened, reducingfreezing intensity.
- If
- Ratio of Freezing to Thawing: The
freezing intensityis quantified by the ratio () of thefreezing duration() to thethawing duration(). The formula for the ratio is: $ R = \frac { E _ { f } } { E _ { t } } = \delta \times 2 ^ { \lceil \frac { H _ { w m } } { S _ { a m } } \rceil } $ Where:- : The ratio of
freezing durationtothawing duration. A higher means a longerfreezing periodrelative to thethawing period, indicating higherfreezing intensity. - : The duration of the
freezing periodin seconds. - : The duration of the
thawing periodin seconds. By default, is set to 1 second for simplicity, allowing to directly represent the intensity. - : A
weight coefficientthat allows for fine-tuning the basefreezing intensity. - : The
high watermark(threshold) formemoryin the system, determined at system initialization. - : The current
size of available memoryin the system. - : The ceiling function, which rounds its argument up to the nearest integer.
This formula ensures that (and thus ) increases exponentially as decreases relative to , making
Icemore aggressive infreezingwhenmemoryis scarce.
- : The ratio of
- Handling Refault During Epoch:
- If a
refaultoccurs at time within thefreezing period(), theapplicationisfrozeninstantly andthawedat , then allowed to run until the nextepoch. - If a
refaultoccurs at time within thethawing period, theapplicationisfrozeninstantly but will not bethaweduntil thethawing periodof the nextepoch.
- If a
- Advantages over Priority Reduction: The paper notes that simple
priority reductionforBGprocesses is insufficient because even low-priority processes can run frequently and cause unpredictablerefaults.MDTprovides strict control overBG refaults.
4.2.3. : Co-Design Ice with Existing Mechanisms
extends the benefits of Ice by redesigning how Ice coordinates with existing memory management mechanisms like ZRAM (for memory reclamation) and LMK (for process killing). The goal is to address two key problems in the original system:
- "Reclaim-Then-Killing" Waste: In the original system,
pagesofinactive applicationsare oftenreclaimed(compressed orswapped), only for theapplicationitself to bekilledshortly after byLMKbecausereclamationalone couldn't free enoughmemory. This wastesresourcesspent onreclaiming. - LRU Inefficiency with Freezing: The traditional
LRUalgorithm doesn't account forfrozen applications.Pagesoffrozen applications, even if historically "active," should be treated as immediatelyinactive, butLRUmight not prioritize them correctly.
4.2.3.1. Freezing-Aware Eviction
introduces a freezing-aware eviction strategy, modifying the LRU algorithm to accelerate the reclamation of pages belonging to frozen applications. The scheme is illustrated in the figure below (Figure 8 from the original paper).
该图像是图示,展示了基于冻结状态的LRU列表页淘汰方案。当应用程序状态为冻结时,其对应的页面被移入非活动列表,而当被引用时则保持在活动列表中。这种策略有助于优化内存管理和提高用户体验。
Fig. 8. Freeze-aware page evict scheme of LRU lists.
- Page Prioritization: identifies
pagesbelonging tofrozen applications(using themapping tableand UID notifications). It then lowers the priorities of thesefrozen pagesand moves them out of the standardLRU listsmore quickly. This allows to efficientlyextract memory spacefromfrozen applicationsfor theFG application. - Benefits:
- Accurate Inactivity:
Frozen pagesare immediately recognized asinactive, overcomingLRU's reliance on historical access patterns that might be misleading due to priorBG activity. - Resource Efficiency: By operating on
application granularity, can perform targeted operations (eitherreclaimorkill) on afrozen application, avoiding theresource wasteof "reclaim-then-kill."
- Accurate Inactivity:
4.2.3.2. Process Killing with Ice
integrates with the LMK to prevent unnecessary reclamation efforts before killing an application.
- Coordinated Action: When a
pageis about to be evicted from the tail of theinactive LRU list, checks itsUID. If the correspondingapplicationisfrozenand itspagesare beingcompressed(e.g., intoZRAM), flags thisapplicationin themapping tableas "unkillable" byLMK. - Resource Waste Prevention: This means that if an
application'spagesare already undergoingcompressiondue toreclamation,LMKwill skip thisapplicationwhen looking forvictims. This prevents the scenario wherememoryis spent compressingpages, only for theapplicationto bekilledmoments later, rendering thecompressioneffort wasted. This strategy helpsLMKfind more effectivekilling targets, leading to more efficientmemoryrelease.
4.2.4. Implementation and Discussions
- Whitelist for Safety:
To ensure
user imperceptibility,Iceemploys awhitelistmechanism. This list containsapplicationsthat should never befrozen, regardless of theirrefaultbehavior.- Automatic Identification:
Androididentifiesuser-perceptibleapplications at the framework level:FGapplications (callingonResume()) are critical and are notfrozen.BGapplications performingperceptibletasks (e.g., playing music, downloading files, indicated by callingstartService()) are also excluded.
- Priority Score (
adj value):Androidassigns apriority score(oom_score_adj) to eachprocess.FG processeshave a score of 0,perceptible BG applicationshave a default score of 200, andnormal BG processeshave higher scores.Iceaddsapplicationswithlow process scores() to thewhitelist. - Dynamic Updates: The
whitelistis dynamically updated asapplicationpriority scoreschange (e.g.,BG downloadfinishes,FG applicationswitches). - Offline Management: Vendors can manually add specific
application UIDs(e.g.,antivirus,messaging apps) to thewhitelistfor further customization.
- Automatic Identification:
- Thawing on Launch:
If a
userswitches to afrozen application,Icedetects thisapplication switching behavior. Itthawstheapplicationbefore it is displayed on the screen. Thisthawing operationisasynchronousand takes precedence over theMDTscheme, ensuring immediate responsiveness. - Implementation Details:
Iceis implemented by modifying theLinux kernelsource code. It requires recompiling theAndroid projectand flashingsystem.imgandboot.imginfastboot mode. It is designed to be compatible across differentAndroid versionsand maintainable. - Future Implications:
-
Flash Storage Lifetime:
Ice's reduction ofrefault-induced I/Oscan extend thelifetimeofflash storage, which is particularly relevant for newerQLC (Quad-Level Cell)flash chipswith lower endurance, especially withstorage-based swap functions. -
User-Experience Sensitive Applications:
Icecan benefitMR (Mixed Reality) headsets,automotive systems, andIoT devicesby optimizingresource utilizationand improvingUX. -
Temperature Management (DVFS): By constraining
BG activity,Icehelps alleviatetemperature rise, preventingDVFS (dynamic voltage and frequency scaling)from throttling the processor frequency, thereby maintaining performance. -
Compatibility:
Iceis designed to be compatible with other advancedmemory managementstrategies (e.g.,adaptive swap), as its focus is onprocess-level memoryoptimization.The following are the results from Table 3 of the original paper:
Category Application Social Network Facebook, Skype, Twitter, WeChat, WhatsApp Multimedia YouTube, Netflix, TikTok Mobile Game Angry Birds, Arena of Valor, PUBG Mobile Electronic Commerce Amazon, PayPal, AliPay, eBay, Yelp Others Chrome Browser, Camera, Uber, Google Maps
-
Table 3: Applications Used in the Evaluation
5. Experimental Setup
5.1. Datasets
In the context of this system-level paper, "datasets" refer to the experimental platforms, workloads, and scenarios used for evaluation rather than typical data samples.
-
Platforms: Experiments were conducted on two commercially available smartphones, representing different segments of the market:
- Google Pixel3 (Low-end device): Equipped with a
Qualcomm Snapdragon 845core, 4GBDDR4 RAM, and 64GBeMMC5.1 Flash. It ranAndroid 10.0 (r41). - HUAWEI P20 (Mid-range device): Equipped with a
HiSilicon Kirin 970core, 6GBDDR4 RAM, and 64GBUFS2.1 Flash. It ranAndroid 9.0. These platforms were chosen to demonstrate the effectiveness ofIceacross different hardware configurations typical of resource-limited devices.
- Google Pixel3 (Low-end device): Equipped with a
-
Workloads (Applications): To simulate real-world usage, 20 popular applications (Table 3 from the Methodology section) were pre-installed. These applications span various categories, reflecting typical user behavior of having many apps cached in the background.
- Foreground (FG) Scenarios: Four typical real-life scenarios were used to evaluate
user experience:- Scenario A: Video Call: Using
WhatsAppfor a video call, where screen content changes dynamically. - Scenario B: Short-Form Video Switching: Playing and switching
TikTokvideos, representing a common interactive multimedia workload. - Scenario C: Screen Scrolling: Browsing the timeline of
Facebook, a ubiquitous scrolling activity. - Scenario D: Mobile Game: Playing
PUBG Mobile, a popular, resource-intensive real-time game.
- Scenario A: Video Call: Using
- Background (BG) Applications: For
BG-appscases, eight randomly selected applications from Table 3 were cached in theBGto simulate highmemory pressure. Additionally,BG-cputester(occupies CPU but not memory) andBG-memtester(occupies memory but not CPU) were used for root cause analysis.
- Foreground (FG) Scenarios: Four typical real-life scenarios were used to evaluate
5.2. Evaluation Metrics
The paper uses several metrics to quantify user experience and system performance. For each metric, the conceptual definition, formula (if applicable), and symbol explanations are provided below.
- Frame Rate (FPS - Frames Per Second):
- Conceptual Definition:
FPSmeasures the number of individual frames (images) rendered and displayed per second. It directly reflects the smoothness and fluidity of on-screen animations and interactions. A higherFPSgenerally indicates a betteruser experience. - Mathematical Formula: $ \text{FPS} = \frac{\text{Number of Rendered Frames}}{\text{Total Time (seconds)}} $
- Symbol Explanation:
Number of Rendered Frames: The total count of unique frames successfully drawn by the system.Total Time (seconds): The duration over which the frames were counted, expressed in seconds.
- Conceptual Definition:
- Ratio of Interaction Alert (RIA):
- Conceptual Definition:
RIAquantifies the proportion of frames that fail to render within a critical time threshold of 16.6 ms. This threshold is significant because humans can typically perceivejank(stuttering or lag) if a frame takes longer than this to render (equivalent to a target of 60 FPS). A lowerRIAindicates a smootheruser experience. - Mathematical Formula: $ \text{RIA} = \frac{\text{Number of Frames taking } > 16.6 \text{ ms}}{\text{Total Number of Frames}} \times 100% $
- Symbol Explanation:
- : The count of frames that exceeded the 16.6 ms rendering time limit.
Total Number of Frames: The total number of frames attempted to be rendered.
- Conceptual Definition:
- Number of Refaulted Pages (in k):
- Conceptual Definition: The total count of
memory pagesthat were previouslyreclaimed(evicted fromRAM) but subsequently needed again by a process, causing apage fault. This metric, often expressed in thousands (), directly indicates the inefficiency ofmemory management. - Mathematical Formula: No explicit formula provided, typically a direct count from system logs or instrumentation.
- Symbol Explanation: denotes thousands (e.g., 5.8k means 5,800 pages).
- Conceptual Definition: The total count of
- Number of Reclaimed Pages (in k):
- Conceptual Definition: The total count of
memory pagesthat were removed fromRAMby the operating system to free upmemory. A high number can indicate intensememory pressureor inefficientreclamationif many arerefaultedsoon after. - Mathematical Formula: No explicit formula provided, typically a direct count from system logs or instrumentation.
- Symbol Explanation: denotes thousands.
- Conceptual Definition: The total count of
- I/O Size (for I/O Pressure):
- Conceptual Definition: The total amount of data (in bytes or KB/MB) transferred to and from storage devices (
flash) duringmemory operations(e.g.,swapping, writingdirty file-backed pages). HighI/O sizeindicates significantdisk activity, which consumes power and can slow down the system. - Mathematical Formula: No explicit formula provided, typically a direct summation of
block I/Ooperations.
- Conceptual Definition: The total amount of data (in bytes or KB/MB) transferred to and from storage devices (
- CPU Utilization:
- Conceptual Definition: The percentage of time the
CPUis actively engaged in processing tasks. HighCPU utilizationcan indicate a busy system, potentially leading toCPU contention. - Mathematical Formula: $ \text{CPU Utilization} = \frac{\text{CPU Busy Time}}{\text{Total Time}} \times 100% $
- Symbol Explanation:
CPU Busy Time: The duration when theCPUwas actively processing tasks.Total Time: The total measurement duration.
- Conceptual Definition: The percentage of time the
- Application Launching Speed (Cold/Hot Launching Latency):
- Conceptual Definition: The time taken for an application to become interactive after a user initiates its launch.
Cold Launching: The app is not currently inmemoryor recent caches; it needs to be loaded fromstorage.Hot Launching: The app is already partially or fully inmemory(cached inBG), allowing for faster startup.
- Mathematical Formula: No explicit formula provided, typically a direct time measurement.
- Symbol Explanation: Measured in milliseconds (
ms).
- Conceptual Definition: The time taken for an application to become interactive after a user initiates its launch.
- QoS (Quality of Service) of BG Services (Audio Smoothness):
- Conceptual Definition: A composite score reflecting the perceived quality and uninterrupted playback of audio in
BG. It combinesZero-Crossing Rate,RMS Amplitude Variation, andSpectral Flux. Higher score means smoother audio. - Mathematical Formula: $ \text{Smoothness Score} = w _ { 1 } \times ( 1 - \text{ZCR} ) + w _ { 2 } \times ( 1 - \text{RMS Variation} ) + w _ { 3 } \times ( 1 - \text{Spectral Fluxion} ) $
- Symbol Explanation:
Smoothness Score: The weighted sum indicating overall audio smoothness.- :
Weight coefficientsfor each metric, summing to 1 (e.g., each). ZCR (Zero-Crossing Rate): Measures how often an audio signal changes sign (crosses the zero line). HighZCRcan indicate noise or abrupt changes, suggesting less smoothness. Normalized to a 0-1 scale.RMS Variation (Root Mean Square Amplitude Variation): Measures the consistency of the audio signal's power. Large variations indicate volume fluctuations, potentially signifying stuttering. Normalized to a 0-1 scale.Spectral Fluxion (Spectral Flux): Measures the rate of change in thepower spectrumof the audio signal. HigherSpectral Fluxindicates more sudden changes infrequency content, implying less smooth audio. Normalized to a 0-1 scale.
- Conceptual Definition: A composite score reflecting the perceived quality and uninterrupted playback of audio in
- Download Efficiency:
- Conceptual Definition: How quickly data can be downloaded by
BGapplications. Measured bybandwidth (Mbps)for single files andtotal time (minutes)for larger content likeTV series. - Mathematical Formula: No explicit formula provided, direct measurements of network speed and duration.
- Symbol Explanation:
Mbps(megabits per second),min(minutes).
- Conceptual Definition: How quickly data can be downloaded by
5.3. Baselines
The proposed Ice framework was compared against several existing and state-of-the-art memory and process management schemes:
- LRU + CFS:
- Description: This represents the default
memory management(LRUforpage reclaiming) andprocess scheduling(Completely Fair Scheduler (CFS)forCPU) mechanisms in theLinux kernelandAndroid.LRUidentifiesinactive pagesforreclamation, andCFSaims for fairCPUallocation among all processes, includingFGandBG. - Why Representative: It serves as the fundamental baseline, reflecting the behavior of a standard
Androidsystem without specialized optimizations.
- Description: This represents the default
- UCSG [65]:
- Description:
UCSG(User-Centric Scheduler for Graphics) is aprocess schedulingscheme that prioritizesFGapplications. It specifically sets higher priorities forprocessesbelonging to theFG application, assuming they dominate user attention. - Why Representative: It's a relevant baseline for
process schedulingoptimizations aimed at improvingFGresponsiveness by explicitly favoringFGtasks overBGtasks.
- Description:
- Acclaim [51]:
- Description:
Acclaimis anFG-awareandsize-sensitive memory reclaiming scheme. Its core idea is to protectpagesbelonging to theFG applicationfromreclamation, while aggressivelyreclaiming pagesfromBGapplications, even if thoseBG pagesare "more active" than someFG pages. - Why Representative:
Acclaimis a state-of-the-artmemory managementsolution explicitly designed to improveFGuser experienceby reducingFG refaults, making it a strong comparison forIce'smemory-focusedaspects.
- Description:
5.4. Parameter Configurations
The following are the results from Table 4 of the original paper:
| Symbols | Semantics | Setting |
|---|---|---|
| Size of the `ZRAM` partition in a Pixel3 phone | 512MB | |
| Size of the `ZRAM` partition in a P20 phone | 1,024MB | |
| `High-watermark` in a Pixel3 system | 256 | |
| `High-watermark` in a P20 system | 1,024 | |
| `Weight coefficient` of the proposed `MDT` strategy | 8.0 | |
| `Epoch length` to `thaw` an application | 1 second |
Table 4: Summary of Parameters Used by Ice
-
(ZRAM size on Pixel3): Set to 512MB. This defines the maximum amount of
anonymous pagesthat can becompressedintoZRAMon the Pixel3. -
(ZRAM size on P20): Set to 1,024MB. This defines the maximum amount of
anonymous pagesthat can becompressedintoZRAMon the P20. -
(High-watermark on Pixel3): Set to 256. This is the
memory threshold(in units ofpagesormemory blocks) on the Pixel3 at which the system startsmemory reclamation. -
(High-watermark on P20): Set to 1,024. This is the
memory thresholdon the P20 at which the system startsmemory reclamation. -
(Weight coefficient for MDT): Configured as 8.0. This parameter, used in the
MDTformula , directly influences thefreezing intensity. A higher generally leads to more aggressivefreezingfor a givenmemory pressure. -
(Thawing epoch length): Set to 1 second. This parameter defines the duration for which
frozen applicationsarethawedwithin eachMDT epoch. By fixing to 1 second, thefreezing duration() directly scales with the calculated ratio , simplifying the dynamic adjustment offreezing intensity.These parameters are configurable, allowing flexibility for different device characteristics and
user experiencegoals.
6. Results & Analysis
6.1. Core Results Analysis
This section details the experimental results, comparing Ice and against baseline and state-of-the-art schemes in terms of user experience metrics like frame rate and application launching speed, as well as underlying system metrics such as refaults, reclaims, I/O, and CPU pressure.
6.1.1. Effect of Ice on the User Experience
6.1.1.1. Benefit on Frame Rate
The evaluation of frame rate (FPS) and Ratio of Interaction Alert (RIA)) across four typical scenarios (Video Call, Short-Form Video Switching, Screen Scrolling, Mobile Game) consistently shows that Ice significantly improves user experience, especially when multiple BG applications are cached.
The figure below (Figure 9 from the original paper) illustrates the frame rate comparison across the four scenarios.
该图像是图表,展示了不同方法在 Pixel3 和 P20 设备上的 FPS 和 RIA 比较。左侧为 FPS 比较,右侧为 RIA 比较,分别标示了 LRU+CFS、UCSG、Acclaim 和 Ice 方法的性能表现。图中数据指示了 Ice 方法在提高用户体验方面的有效性。
Fig. 9. Frame rate comparison in four typical scenarios: video call (S-A), short-video switching (S-B), screen scrolling (S-C), and mobile game (S-D).
- Overall Improvement: For a video call (S-A) on Pixel3, averaged 25.4fps,
UCSG29.3fps, andAcclaim24.1fps. WithIce, theframe rateboosted to 37.2fps, indicating a much smoother experience. This is significant asFPSbelow 30 is generally perceived asjanky. - RIA Reduction:
Icealso substantially reducedRIA. ForPUBG Mobile(S-D) on P20,RIAwas reduced from 46% (meaning almost half of frames failed to render within 16.6ms) to 28% withIce. - Comparison with Baselines:
-
UCSGshowed someframe rateimprovement by prioritizingFGprocesses, but its benefit was limited because it doesn't inhibitBGprocesses causingrefaults. -
Acclaim, while reducingFG refaults, sometimes degradedFPS(e.g., S-C on Pixel3) because its aggressivereclamationofBGpages could lead to moreBG refaults.The figure below (Figure 10 from the original paper) presents the
frame ratecomparison with varying numbers of applications cached in theBG.
该图像是一个图表,展示了在不同应用缓存数量下,Pixel3和P20设备上的帧率(FPS)与R/A(Refault Awareness)之间的比较。图中显示‘With Ice’和‘Without Ice’两种状态下的性能差异,表明使用Ice优化框架可显著提升用户体验。
-
Fig. 10. Frame rate comparison with various numbers of applications cached in the BG.
- Scaling with BG Apps:
Frame rendering performancenaturally degrades as moreBGapplications are cached. - Ice's Impact: In cases with 6
BGapplications on Pixel3 and 8BGapplications on P20,Icedramatically curbed this degradation.FPSwas enhanced by 1.57x and 1.44x, respectively, whileRIAwas reduced by 32.7% and 34.6%. This highlightsIce's effectiveness particularly under highmemory pressure.
6.1.1.2. Reduction of Refault and Reclaim
The user experience improvements from Ice are directly attributable to its ability to reduce BG refaults and reclaim operations.
The figure below (Figure 11 from the original paper) illustrates the number of refaulted and reclaimed pages with , UCSG, Acclaim, and Ice.
该图像是一个图表,展示了不同策略下的页面重fault和页面回收数量。图中蓝色条形表示重fault页面数量,橙色条形表示回收页面数量,策略分别标记为 S-A、S-B、S-C 和 S-D,以及对应的 L、U、A 和 I。
Fig. 11. The number of refaulted and reclaimed pages with LRU CFS (L), UCSG (U), Acclaim (A), and Ice (I).
-
Refault Reduction:
Icesignificantly reduced the number ofrefault pages. On P20,refaultswere reduced by 42.1% (S-A), 44.4% (S-B), 57.6% (S-C), and 40.5% (S-D) compared to . -
Reclaim Reduction: Consequently, the total number of
reclaimed pageswas also reduced because fewerpagesneeded to bereclaimedmultiple times due torefaults. WithIce, the number ofreclaimed pageswas only 70.7% of on average. This is crucial asreclaimingitself consumesCPUresources. -
Comparison with Baselines:
IceoutperformedUCSGandAcclaiminrefaultandreclaimreduction.UCSGachieved 51.7% and 53.9% ofIce'srefaultandreclaimreductions, respectively.Acclaimeven saw an increase inrefaultsby 4.3% in some cases, confirmingIce's argument thatFG-aware evictionalone can exacerbateBG refaults. -
Effect of Power Manager Freezing: The paper also compared
Icewith power managers that includeprocess freezing.The following are the results from Table 5 of the original paper:
Scenarios Power Manager Ice Refault Reclaim Refault Reclaim Video Call (S-A) 6.712 20.063 5.233 18.688 Short-Video Switching (S-B) 7.332 26.061 6.457 24.832 Screen Scrolling (S-C) 3.856 15.772 2.929 13.312 Mobile Games (S-D) 14.858 51.433 12.18 46.848
Table 5: Number of Refaulted and Reclaimed Pages () with Process Freezing (Power Manager vs. Ice)
As shown in Table 5, the power manager's freezing reduced reclaimed pages by 22.4% and refaulted pages by 33.5% on average compared to . However, Ice achieved even greater reductions (as seen in Figure 11 for total Ice vs comparisons). This indicates that Ice's dynamic, memory-aware freezing is more effective than the generally power-oriented and less flexible freezing mechanisms in typical power managers.
6.1.1.3. Reduction of I/O and CPU Pressure
- I/O Pressure:
IcereducedI/O sizeby 9.2% compared to . This is becauseIceeffectively avoidssenseless I/Oscaused byfile-backed pagesbeing frequentlydemanded,discarded, andrefaultedbyBGapplications. - CPU Pressure:
CPU utilizationdecreased from 55.8% (with ) to 47.3% withIce. This reduction comes fromfreezingsomeBG tasksand the decreased need formemory compression/decompressiontasks due to fewerrefaults.
6.1.1.4. Whitelist Study
The whitelist mechanism allows certain applications to be excluded from freezing. When all BG applications were added to the whitelist (an extreme case, effectively disabling Ice's core function), the FPS performance degraded to be close to the original system (e.g., 25.2fps for video calls on Pixel3). This confirms that the benefits of Ice are directly tied to its ability to selectively freeze BG applications.
6.1.1.5. Impact on Application Launching
The impact of Ice on application launching speed is multifaceted.
The figure below (Figure 12 from the original paper) shows the impact of Ice on application launching.
该图像是图表,展示了不同方法下应用程序启动延迟和热启动应用程序数量的比较。其中(a)展示了平均、冷启动和热启动延迟的时间成本,(b)展示了在各个测试环境下热启动应用程序的数量。结果表明,Ice方法在提高用户体验方面具有显著优势。
Fig. 12. Impact of Ice on application launching. The result shows that Ice's impact on hot launching is small and the cold launching speed can be improved (a), and applications could be hot launched when enabling Ice (b).
- Average Launching Speed (Figure 12a):
Iceimproved the averagelaunching timeby 36.6% compared to . This indicates that the positive effects (reducedBG interference, moreCPU cyclesforFG) outweigh the negative effects (time tothaw). - Cold Launching (Figure 12a):
Cold launching timewas reduced by 28.8% withIce. This is a significant improvement, ascold launchesbenefit greatly from reducedBG interferenceand increasedresource availability.Freezingdoesn't penalizecold launchesas the app isn't alreadyfrozen. - Hot Launching (Figure 12a): The impact on
hot launchingvaried. 47% of applications showed a slowdown, but the latency increase was smaller than their standard deviations, suggesting that the benefits generally offset penalties. The worst-casehot launching(allpagesreclaimedandapp frozen) was 839ms, which is 1.98x slower thanhot launchingbut still much faster thancold launching. This penalty is considered acceptable and can be mitigated byapplication predictionorlaunch boosting schemes. - Ratio of Hot Launching (Figure 12b):
Iceincreased the number ofhot-launchedapplications by 25%. This is becauseIcealleviatesrefault-induced memory pressure, reducing the likelihood ofLMKbeing triggered and delayingapp killing. Moreapplicationsremaincachedand can behot-launched.
6.1.2. Effect of on the User Experience
further optimizes user experience by coordinating Ice's freezing capabilities with ZRAM and LMK.
The following are the results from Table 6 of the original paper:
| Frame Rate (fps) | Num. of Reclaimed Pages (× 1k) | Num. of Refault Pages (× 1k) | |||||
|---|---|---|---|---|---|---|---|
| Ice | Ice+ | Ice | Ice+ | Ice | Ice+ | ||
| Video Call | Pixel3 | 37.2 | 39.1 | 21.372 | 16.256 | 8.737 | 7.618 |
| P20 | 39.2 | 42.2 | 18.688 | 13.375 | 5.233 | 5.122 | |
| Short-Video Switching | Pixel3 | 48.6 | 52.7 | 19.637 | 16.254 | 10.526 | 8.662 |
| P20 | 43.6 | 45.6 | 24.832 | 19.938 | 6.457 | 4.434 | |
| Screen Scrolling | Pixel3 | 39.5 | 41.3 | 17.618 | 15.261 | 5.533 | 5.006 |
| P20 | 49.1 | 50 | 13.312 | 12.127 | 2.929 | 3.128 | |
| Mobile Games | Pixel3 | 38.7 | 40.1 | 53.761 | 50.535 | 18.632 | 16.736 |
| P20 | 46.2 | 48.7 | 46.848 | 41.336 | 12.18 | 10.628 | |
| Average | 42.8 | 45 | 27.054 | 23.135 | 8.778 | 7.667 | |
| Summary (Ice+ : Ice) | 1.05 ↑ | 85.52%↓ | 87.34%↓ | ||||
Table 6: Frame Rate Improvement Comparison of Ice and Ice+, and Their Effect on the System
6.1.2.1. Frame Rate Improvement
As shown in Table 6, further boosts the frame rate by an average of 5.14% compared to Ice. For example, in Short-Video Switching (S-B), FPS increased by 4.1fps on Pixel3 (48.6 to 52.7) and 2fps on P20 (43.6 to 45.6).
6.1.2.2. System Improvement Analysis
- Reclaimed Pages: The number of
reclaimed pageswith was reduced by 14.5% on average compared toIce. This indicates that 'sfreezing-aware evictionscheme, preventing "reclaim-then-kill," is effective. The paper observed that 5.8kreclaimed pages(21.4%) would have been pointlessly processed byZRAMonly to be released byLMKin theIcecase without 's coordination. - Refault Pages: The total amount of
refaultswas reduced by 12.7% on average with . This reinforces that by intelligently coordinating withZRAMandLMK, can further minimizememory thrashing.
6.1.2.3. Impact on App Launching
The figure below (Figure 13 from the original paper) compares the average launch latency and its deviation between Ice and .
该图像是图表,展示了 Ice 和 在热启动和冷启动时的平均启动延迟及其偏差的比较。结果显示,当结合现有机制时,用户体验可以进一步改善。
Fig. 13. Average launch latency and the deviation comparison between Ice and .The results illustrate that the user experience can be further improved when Ice coordinates with existing mechanisms.
Table 6 and Figure 13 indicate that 's enhancements do not noticeably impact application launching speed (both cold and hot). The differences in mean launching latency between Ice and are smaller than their standard deviations, suggesting that the additional overhead of freezing-aware LRU maintenance is negligible compared to the benefits gained.
6.1.3. QoS of BG Services
The paper also evaluated the Quality of Service (QoS) for critical BG services like audio playback and file downloads to ensure Ice doesn't negatively impact them.
The following are the results from Table 7 of the original paper:
| Scenarios | Empty | Full | |||||
|---|---|---|---|---|---|---|---|
| NoIce | Ice | Ice+ | NoIce | Ice | Ice+ | ||
| Audio | Music | 0.0 | -0.0148 | -0.0132 | 0.0 | 0.0075 | 0.0139 |
| Navigation | 0.0 | -0.0067 | 0.0114 | 0.0 | 0.0236 | 0.0131 | |
| Talk | 0.0 | 0.0217 | -0.0083 | 0.0 | 0.0217 | 0.0193 | |
| User Perceptible | NO | NO | |||||
| Download | Download One File (Mbps) | 66.3 | 65.8 | 67.1 | 58.9 | 59.6 | 60.2 |
| Download TV Series (min) | 357 | 355 | 361 | 373 | 368 | 365 | |
Table 7: Effect on the BG Services
- Audio Smoothness:
The
Smoothness Score(calculated as , with ) was used.- did not stop audio services. This confirms the effectiveness of
Android's framework-level identification ofcritical BG servicesandIce'swhitelistmechanism. - The impact on audio smoothness scores was negligible, with small positive or negative deviations from the baseline (Empty-NoIce case, which has a score of 0.0). Amplitudes were within normalized range.
- Notably, when
BGwas busy (Fullcase),Iceand even slightly improved theQoSfor music playback (scores of 0.0075 and 0.0139 respectively), likely due to reducedsystem-wide interference. - A user study confirmed that
Ice's effect on audio wasuser imperceptible.
- did not stop audio services. This confirms the effectiveness of
- Download Efficiency:
-
did not stop download services.
-
For downloading a single file, bandwidth
Mbpsremained comparable across all cases. -
For downloading
TV series, the time cost in minutes also remained comparable, with slight variations that were not significant. -
In the
Fullcase,Iceand even showed minor improvements in download speed (e.g., 59.6/60.2 Mbps vs. 58.9 Mbps forFull-NoIce).These results demonstrate that
Iceand achieve significantFG user experienceimprovements without compromising theQoSofcritical BG services.
-
6.1.4. Overhead Analysis
6.1.4.1. Memory Consumption
Ice maintains a mapping table to track UID-PID relationships and freezing states. For a device with 20 installed applications, each having three processes, the maximum memory consumption is estimated at 13.8KB. This includes space for UIDs, PIDs, freezing states, and priority scores. The table's size is controlled by deleting entries when application lifecycles end, and an upper bound (32KB) is set. This memory overhead is considered negligible compared to the total RAM available on a smartphone.
6.1.4.2. Performance Overhead
The performance overhead of Ice is broken down into three parts:
-
Refault Event Response:
Ice's response torefault events(obtainingprocess information,PID indexing,freezing) is performed asynchronously, ensuring thatpage accessingis not suspended. -
Mapping Table Maintenance: The
UID-PID mapping tableis initialized at boot, updated uponapp installation/launch/deletion, andfreezing state changes. Since the table is small and inmemory,indexingoperations are at themicrosecond level, making their time consumption negligible compared toapplication launching latency. Cross-space communication for updates occurs infrequently. -
Freezing-Induced Overhead: The time to
thawafrozen applicationis in the tens of milliseconds, which is acceptable relative tolaunching time.Iceminimizes thispenaltyby onlyfreezingactiveBG applicationsthat causerefaults, not allBGapps.Overall, the
overheadintroduced byIceis acceptable and small in comparison to theuser experiencebenefits it provides.
6.2. Ablation Studies / Parameter Analysis
While the paper does not present explicit "ablation studies" in the traditional sense (e.g., removing one component of Ice at a time), it does provide a comparative analysis that serves a similar purpose:
- Comparison of
Icevs. : This comparison (Table 6, Figure 13) acts as an ablation study for theLRU modificationandLMK coordinationaspects. It shows that (which adds these features on top ofIce) provides further improvements inframe rate,refault, andreclaimreduction, with negligible impact onlaunching latency. This validates the effectiveness of thefreezing-aware evictionandLMK coordinationcomponents. Whitelist Study: This experiment (discussed under Section 6.1.1.4) effectively "ablates"Ice'sfreezingfunctionality by whitelisting allBGapplications. The results show a degradation ofFPSback tobaselinelevels, confirming thatIce's benefits are directly derived from itsBG process freezingmechanism.- Comparison with Power Manager Freezing (Table 5): This comparison shows that generic
process freezing(like in power managers) is less effective thanIce'smemory-aware,refault-driven freezing. This validates the specificity and intelligence ofIce'sfreezingapproach. - Parameter Configuration (Table 4): The paper specifies the values for
Ice's configurable parameters (, ,ZRAMsizes,high-watermarks). While no sensitivity analysis on these parameters is explicitly shown, their fixed values are part of the evaluated system configuration. The formula for inMDTshows howfreezing intensityis dynamically tuned based onmemory pressure, implying an adaptive rather than static parameter setting for .
7. Conclusion & Reflections
7.1. Conclusion Summary
This paper effectively identifies and addresses a critical problem impacting user experience on resource-limited mobile devices: the pervasive negative interference from background (BG) applications' memory activities, particularly page refaults. The authors propose Ice, a novel framework that integrates memory and process management through refault-driven process freezing (RPF) and memory-aware dynamic thawing (MDT). Ice selectively freezes BG processes causing refaults and thaws them dynamically based on memory pressure. Furthermore, enhances this by introducing app-freezing aware LRU modifications and coordinating with ZRAM and LMK to prevent resource waste from "reclaim-then-kill" scenarios.
Implemented and evaluated on real mobile devices (Google Pixel3 and HUAWEI P20), Ice demonstrated significant improvements, boosting the average frame rate by 1.57x over state-of-the-art methods. further enhanced this by an additional 5.14% on average. These improvements come with negligible overhead and without compromising the Quality of Service (QoS) for critical BG services. Ice represents a crucial step toward more intelligent and holistic resource management in mobile systems.
7.2. Limitations & Future Work
The authors acknowledge certain limitations and suggest future research directions:
- Hot Launching Penalty Mitigation: While
Icegenerally improvesapplication launching speed, a potentialpenaltyexists in worst-casehot launchingscenarios where afrozen applicationhas had many of itspages reclaimed. The paper suggests that thispenaltycould be further eliminated by combiningIcewithapplication predictiontechniques (e.g.,pre-thawingpredicted next apps) or existinglaunch boosting schemeslikeMARSorASAP. - Future Device Compatibility: The paper discusses how
Ice's principles could be even more beneficial for future mobile devices, especially those with newflash storagetechnologies (e.g.,QLC) wherestorage lifetimeis critical due to reduced endurance, and for newUX-sensitive applicationslikeMR headsetsandautomotive systems. - Adaptive Swap Compatibility:
Iceis designed to be compatible with futurememory managementstrategies, such asadaptive swap mechanisms, as its focus is onprocess-level memoryoptimization rather than replacing fundamentalmemoryoperations.
7.3. Personal Insights & Critique
This paper presents a highly relevant and impactful solution to a persistent problem in mobile computing. The strength of the work lies in its co-design approach, bridging memory and process management in a way that previous fragmented solutions could not achieve.
- Innovation: The
refault-driven process freezingmechanism is a truly novel and intuitive approach. By directly targeting the cause ofmemory thrashing(BG refaults) rather than just its symptoms (lowfree memory,slow I/O),Iceoffers a more fundamental solution. Thememory-aware dynamic thawingmechanism adds an essential layer of adaptability, ensuring thatfreezing intensityscales with actualmemory pressure. 's integration withLRU,ZRAM, andLMKdemonstrates a deep understanding ofLinux/Androidinternals and a practical approach to system-level optimization. - Rigorous Evaluation: The evaluation on real-world devices with diverse application scenarios (video calls, games, scrolling) and comprehensive metrics (
FPS,RIA,refaults,reclaims,I/O,CPU,launching speed,QoS) lends significant credibility to the findings. The root cause analysis (usingcputesterandmemtester) is particularly insightful, clearly isolatingmemory contentionas the primary culprit. - Practicality: The fact that
Icecan be implemented viakernel modificationswithout invasive changes tomobile applicationsorhardwaremakes it highly practical for adoption byOS vendors. Thewhitelistandthawing on launchmechanisms ensureuser imperceptibility, which is crucial for anysystem-level optimization. - Potential Improvements/Critiques:
-
Dynamic Parameter Tuning: While
MDTintroduces dynamic tuning of , the coreweight coefficientis fixed. A more advancedIceversion could explore machine learning or reinforcement learning approaches to dynamically tune or other aspects of thefreezing policybased on longer-term system behavior anduser profiles. -
Application-Specific Freezing: The
application-grain freezingis good for robustness, butBGapps can have wildly differentmemory access patternsandrefaultbehaviors. Future work could explore more granularfreezingpolicies that differentiate betweentypes of BG activitieswithin an application (e.g., background sync vs. pre-rendering). -
Interaction with Other OS Optimizations: The paper briefly mentions compatibility with
application predictionandadaptive swap. A deeper investigation into howIcecould be synergistically combined with these otherOS optimizationsto achieve even greater gains, especially inworst-case hot launching, would be valuable. -
Long-Term User Study: While the paper mentions a
user studyforQoS(audio), a more extensive, longer-termuser studyspecifically on perceivedjankandoverall fluidityacross devices anduser habitscould provide richer qualitative validation.Overall,
Iceis an exemplary piece of research that not only identifies a criticaluser experiencebottleneck but also provides an elegant, well-engineered, and thoroughly validated solution. Itsco-designphilosophy offers a valuable blueprint for futuresystem-level optimizationsin resource-constrained environments.
-
Similar papers
Recommended via semantic vector search.