Dirty Memory Page Optimization via Object Classification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern mobile operating systems face challenges in managing memory efficiently, particularly in reducing the number of dirty pages to prevent applications from being forcibly unloaded, as they consume scarce RAM resources, leading to inconvenience and resource expenditure when reclaiming memory.
Innovation Solution
A method involving classification and ordering of memory objects based on their likelihood of being written to, creating a memory image that maximizes the dirty percentage, thereby minimizing the number of pages used for dirty objects and facilitating easier reclamation of clean pages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory objects are stored in arbitrary order in memory images, then memory allocation is simple, but the number of dirty pages increases causing applications to be forcibly unloaded
Solution Approach 1:
The patent applies preliminary action by classifying and ordering memory objects during the image creation process based on their dirtiness probability. This pre-arrangement ensures that when the application runs, dirty pages are minimized from the start, preventing forced unloading without requiring runtime intervention.
Solution Approach 2:
The patent changes the parameter of memory object arrangement from arbitrary to ordered based on dirtiness probability. By transforming the ordering parameter and using binary search to locate specific objects, the system optimizes page utilization and reduces dirty page count while maintaining application stability.
2Reliability
If memory objects are classified and ordered to reduce dirty pages, then application unloading is minimized, but memory management complexity increases
Solution Approach 1:
The complex classification and ordering operations are performed in advance during image creation rather than at runtime. This preliminary action reduces memory management complexity during application execution, as the system only needs to perform simple binary searches on the pre-ordered memory objects.
3Productivity
If memory images are created with optimized object ordering, then clean page reclamation becomes easier, but image creation time increases
Solution Approach 1:
The patent performs the time-consuming classification and ordering operations as a preliminary action during image creation. This upfront investment of time enables efficient memory reclamation later, as clean pages can be quickly identified and reclaimed without complex runtime analysis.
Data Source
AI summary
Disclosed are apparatus and methods for providing images of memory objects. A computing device can receive a plurality of memory objects for one or more executable software components. The computing device can classify the plurality of memory objects in accord with a plurality of object classifications. A particular object classification can represent a probability that a memory object classified with the particular object classification is to be written to during execution of the one or more executable software components. The computing device can order the plurality of memory objects based on the plurality of object classifications. The computing device can provide an image for the one or more executable software components using the computing device, where the image includes the ordered plurality of memory objects.


