Memory optimization by phase-dependent data residency
AssigneeInternational Business Machines Corporation
InventorsPeter D. Bain, Peter D. Shipton
Life of this patent
Estimating the term…
Abstract
Embodiments of the present invention provide memory optimization by phase-dependent data residency. Application programs are profiled a priori or in real time for temporal memory usage. Memory regions such as initialization data are proactively removed from memory when the application transitions to a new phase. A hypervisor monitors application activity and coordinates the removal of memory regions that are no longer needed by the application. Additionally, memory regions that are anticipated to be needed in the future are proactively preloaded.
Claims20
A computer-implemented method for memory optimization in a computing device, comprising:
- identifying phases in a lifecycle of a software application;
- in response to the identifying of the phases in the lifecycle of the software application, identifying portions of reference data required during one or more phases of the lifecycle of the software application;
- detecting a phase transition of the lifecycle from a previous phase to a new phase;
- in response to the detecting, unloading memory-resident portions of the reference data, which are not required during the new phase;
- monitoring repetition of the detecting and unloading steps;
- building, based on the monitoring, a historical memory usage pattern;
- determining at least one pattern in memory usage based on the historical memory usage pattern;
- and
- in response to the determining, preloading nonresident portions which are needed during a subsequent phase that follows the new phase.
A computer system comprising:
- a processor;
- a memory coupled to the processor, the memory containing instructions, that when executed by the processor, perform the steps of:
- identifying phases in a lifecycle of a software application;
- in response to the identifying of the phases in the lifecycle of the software application, identifying portions of reference data required during one or more phases of the lifecycle of the software application;
- detecting a phase transition of the lifecycle from a previous phase to a new phase;
- in response to the detecting, unloading memory-resident portions of the reference data, which are not required during the new phase;
- monitoring repetition of the detecting and unloading steps;
- building, based on the monitoring, a historical memory usage pattern;
- determining at least one pattern in memory usage based on the historical memory usage pattern;
- and
- in response to the determining, preloading nonresident portions which are needed during a subsequent phase that follows the new phase.
A computer program product for memory optimization in an electronic computing device comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the electronic device to:
- identify phases in a lifecycle of a software application;
- in response to the identifying of the phases in the lifecycle of the software application, identify portions of reference data required during one or more phases of the lifecycle of the software application;
- detect a phase transition of the lifecycle from a previous phase to a new phase;
- in response to the detecting, unload memory-resident portions of the reference data, which are not required during the new phase;
- monitor repetition of the detecting and unloading steps;
- build, based on the monitoring, a historical memory usage pattern;
- determine at least one pattern in memory usage based on the historical memory usage pattern;
- and
- in response to the determining, preload nonresident portions which are needed during a subsequent phase that follows the new phase.
Dependencies are inferred from the claim text.