Operating System Working Set Management for Boot Time Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for increasing main memory free space are limited in effectively managing working set sizes for individual processes, leading to inefficient use of physical memory and prolonged boot times due to the inability to optimize paging based on process-specific characteristics.

Innovation Solution

The method involves suspending selected processes during boot to reduce their working set sizes, allowing for a more significant decrease in the overall working set size without interfering with boot processing, and utilizing the freed memory to expand the cache area for faster boot file loading.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the working set size is decreased to increase free memory amount, then the cache area can be expanded, but the process may experience page faults and performance degradation

Engineering Contradiction:
Improvefree memory amountVSAvoidprocess execution stability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent implements dynamic working set management by allowing the working set size to vary over time. During boot processing, the working set size is temporarily decreased to expand cache area, and then restored to normal after boot completion. This dynamic adjustment resolves the contradiction by making the working set size adaptive to different system states rather than fixed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary expansion of the cache area by temporarily reducing the working set size before boot processing begins. This preliminary action ensures that sufficient cache space is available for boot files, improving boot performance without affecting normal operation where the working set size is restored.

Inventive Principle:
Principle #10Preliminary action

2Speed

If the cache area is expanded by reducing working set size, then boot file loading speed improves, but boot processing may be interfered with due to memory shortage

Engineering Contradiction:
Improveboot file loading speedVSAvoidboot time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent dynamically adjusts the working set size based on the system boot state. During boot processing, the working set size is temporarily reduced to expand cache area for faster boot file loading. After boot completion, the working set size is restored to prevent performance degradation. This dynamic adjustment resolves the contradiction by making cache expansion temporary and context-aware.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the working set size parameter from its normal value to a reduced value during boot processing, and then restores it after boot. This parameter change enables the system to optimize cache area for boot performance without permanently affecting process execution, resolving the contradiction between boot speed and system stability.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If processes are suspended during boot to reduce working set size, then free memory increases, but the process execution is delayed

Engineering Contradiction:
Improvefree memory amountVSAvoidprocess execution time
Core Design Contradiction:
Quantity of substanceVSDuration of action of moving object

Solution Approach 1:

The patent suspends processes preliminarily during boot processing to reduce their working set size and increase free memory for cache expansion. After boot completion, the suspended processes are resumed and their working set sizes are restored. This preliminary suspension temporarily delays process execution but achieves the goal of expanding cache for boot performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic process state management by suspending processes during boot and resuming them afterward. This dynamic state change allows the system to reduce working set sizes temporarily when needed for cache expansion, while restoring normal process execution afterward, resolving the contradiction between memory availability and execution timing.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9021243B2Method for increasing free memory amount of main memory and computer therefore
Publication Date: 2015.04.28 LENOVO SWITZERLAND INTERNATIONAL GMBH
  • US9021243B2 patent drawing
  • US9021243B2 patent drawing
  • US9021243B2 patent drawing

AI summary

For increasing a free memory amount, a computer is provided with a main memory and a virtual memory area. Working sets having a predetermined size in a main memory are allocated to virtual address spaces. The area from which working sets are removed is a free memory area, and a cache area is set to a part of the area. During booting, a predetermined process not affecting the booting is suspended. The size of the working set of the suspended process is decreased by swapping out the memory page into the virtual memory area. As a result, the size of the free memory area increases, and along therewith, the OS increases the size of a cache area, thus enabling more boot files to be read ahead and reducing the boot time.