Kernel Memory Manager Tracking by Block Size

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern operating systems, particularly kernels, become complex and resource-intensive, making it difficult to identify and address issues related to hardware resource usage, as they provide limited feedback and debugging information, leading to decreased available resources for non-kernel programs.

Innovation Solution

The kernel's memory manager allocates and tracks memory usage in a two-dimensional data structure, providing memory usage information by type and allocated block size, enabling finer-grained analysis to identify memory consumption causes and optimize resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the kernel is updated with new features and optimizations, then the functionality and performance of the operating system are improved, but the kernel begins to incrementally utilize more hardware resources, resulting in decreased hardware resources available for non-kernel programs

Engineering Contradiction:
Improvekernel functionalityVSAvoidhardware resources available for non-kernel programs
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements a feedback mechanism by providing detailed memory usage information from the kernel to userspace through data structures that track memory allocations by subsystem and block size. This feedback enables users to monitor kernel resource consumption and identify issues, allowing for informed decisions about kernel updates and optimizations without blindly accepting increased resource usage.

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If users request to identify and fix kernel hardware resource usage issues, then available hardware resources for non-kernel programs can be increased, but the process becomes difficult and time-intensive due to the complexity of modern kernels and lack of debugging information

Engineering Contradiction:
Improveavailable hardware resourcesVSAvoidtime to identify and fix kernel resource issues
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent provides comprehensive feedback by implementing data structures that track memory usage by kernel subsystem and block size, enabling users to quickly identify resource consumption patterns without time-consuming manual debugging. This feedback mechanism significantly reduces the time required to diagnose and fix kernel resource usage issues.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces an intermediary layer between the kernel and userspace that collects, organizes, and presents memory usage information in a structured format. This intermediary mechanism (the memory usage tracking system) simplifies the complex task of kernel resource analysis by providing pre-processed, organized data that users can easily interpret and act upon.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If conventional operating systems provide memory usage information, then users can monitor resource allocation, but the information is provided at a coarse granularity that does not enable detailed analysis of kernel memory usage by allocated block size

Engineering Contradiction:
Improvememory usage informationVSAvoidgranularity of memory usage information
Core Design Contradiction:
Loss of informationVSMeasurement precision

Solution Approach 1:

The patent applies segmentation by dividing memory usage information into distinct categories based on kernel subsystem and block size. The data structure segments memory tracking into multiple dimensions (subsystem, block size ranges), enabling detailed analysis of memory allocation patterns. This segmented approach transforms coarse-grained information into fine-grained, actionable insights.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds another dimension to memory usage tracking by incorporating block size categorization alongside traditional subsystem tracking. This dimensional expansion transforms single-dimensional (subsystem-only) memory information into multi-dimensional data that includes subsystem, block size ranges, and allocation counts, enabling comprehensive analysis of memory usage patterns.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10417121B1Monitoring memory usage in computing devices
Publication Date: 2019.09.17 JUNIPER NETWORKS INC
  • US10417121B1 patent drawing
  • US10417121B1 patent drawing
  • US10417121B1 patent drawing

AI summary

In general, techniques are described for monitoring memory usage in computing devices. A computing device comprising a memory and a control unit that executes a kernel of an operating system having kernel sub-systems may implement the techniques. A memory manager kernel subsystem, in response to requests for amounts of the memory from other one kernel sub-systems, allocates memory blocks from the memory. The memory manager, in response to requests to de-allocate one or more of the allocated memory blocks, determines the corresponding requested amounts of memory and sizes of the de-allocated blocks. The memory manager then generates memory usage information based on the determined requested amounts of memory and the determined ones of the two or more different sizes. The memory usage information specifies usage of the memory in terms of the two or more different sizes of the allocated plurality of memory blocks.