Garbage Collector Skip List for Memory Fragmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Garbage collectors in computer systems face challenges in efficiently identifying and reclaiming memory regions that are no longer reachable, leading to performance interruptions and memory fragmentation, especially when dealing with large heaps and numerous allocated objects.

Innovation Solution

Implementing a node list data structure within the heap managed by the garbage collector, which uses a lock-free skip list to efficiently find and manage the smallest free memory chunks, ensuring that newly allocated nodes are not marked as reachable objects, thus allowing for efficient garbage collection and reduced fragmentation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional garbage collection methods are used to identify and reclaim memory regions, then memory can be recovered for reuse, but application threads are interrupted and performance degradation occurs

Engineering Contradiction:
Improvememory recoveryVSAvoidapplication thread performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-organizing free memory chunks into a skip list data structure before garbage collection occurs. This allows the garbage collector to efficiently identify and reclaim memory regions without interrupting application threads, as the memory management infrastructure is already prepared and organized for rapid operation during the collection phase

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a skip list data structure as an intermediary between the garbage collector and the heap memory. This intermediary organizes free memory chunks in a way that enables efficient identification and reclamation of garbage regions while isolating the garbage collection process from application threads, allowing both to operate concurrently without interference

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If memory is frequently allocated and reclaimed in a heap, then memory utilization is improved, but memory fragmentation increases

Engineering Contradiction:
Improvememory utilizationVSAvoidmemory fragmentation
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent applies segmentation by dividing the heap into distinct free memory chunks and organizing them in a skip list data structure. Each chunk is independently tracked and managed, allowing the system to efficiently allocate and reclaim memory in discrete units. This segmentation prevents fragmentation by maintaining clear boundaries and organization among free memory regions

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the organizational parameter of free memory from a traditional list or array to a skip list data structure. This parameter change enables O(log n) time complexity for finding and managing free chunks, significantly improving memory allocation efficiency while maintaining better fragmentation characteristics through the hierarchical organization of memory blocks

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If a traditional data structure is used to manage free memory chunks, then implementation is simple, but efficiency in finding smallest free chunks deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidmemory chunk search efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent transitions from a one-dimensional array or linked list for managing free memory chunks to a multi-dimensional skip list structure. This dimensional change introduces hierarchical levels that enable logarithmic-time search operations, allowing the system to efficiently locate the smallest free chunk among many without the linear search time complexity of traditional data structures

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

Data Source

PatentUS11074179B2Managing objects stored in memory
Publication Date: 2021.07.27 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11074179B2 patent drawing
  • US11074179B2 patent drawing
  • US11074179B2 patent drawing

AI summary

A method for managing objects stored in memory is presented. The method may include receiving, by a memory allocator in a garbage collected system, a first free memory chunk. The method may include creating a node to associate with the first free memory chunk and ensuring that a first memory region containing the node will be considered to be free memory during a sweeping phase of the garbage collected system.