Database Object Memory Allocation Based on Live Range

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database technologies do not provide adequate explicit memory allocation and deallocation control for database objects, leading to performance degradation and unnecessary computing resource consumption, especially in distributed computing contexts where database objects are arbitrarily swept into and out of memory.

Innovation Solution

Implementing explicit memory allocation and deallocation control for database objects based on their live range and availability, using techniques such as modified linear scan or color graph algorithms to ensure database objects remain in memory during pending operations, thereby reducing I/O costs and improving network latency and CPU utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If database objects are arbitrarily swept into and out of memory without explicit control, then memory is freed for other uses, but performance degrades and I/O operations increase

Engineering Contradiction:
Improvedatabase operation performanceVSAvoidcomputing resource consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by allocating memory to database objects before they are needed and deallocating them after their live range expires. This proactive memory management ensures objects are readily available in memory when needed, preventing performance degradation from arbitrary sweeping while optimizing memory utilization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic memory allocation and deallocation based on the live range of database objects. Memory is allocated when objects enter their live range and deallocated when they exit, creating a dynamic adaptation to actual memory needs rather than static allocation, thereby improving both performance and resource efficiency.

Inventive Principle:
Principle #15Dynamics

2Productivity

If database objects are kept in memory for extended periods, then I/O operations are reduced, but memory utilization decreases

Engineering Contradiction:
ImproveI/O operation efficiencyVSAvoidmemory availability
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Memory is allocated to database objects in advance based on their computed live range, ensuring they are available before needed without keeping them indefinitely. This preliminary allocation reduces I/O operations by having data ready when needed while allowing timely deallocation to free memory for other uses.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the memory management parameter from arbitrary sweeping to controlled allocation/deallocation based on live range parameters. This parameter change optimizes the balance between keeping objects in memory (reducing I/O) and freeing memory (improving utilization) by precisely controlling object lifetime in memory.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If explicit memory allocation and deallocation control is implemented, then performance and memory utilization are optimized, but system complexity increases

Engineering Contradiction:
Improveoverall system performanceVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically computing live ranges and managing memory allocation/deallocation without manual intervention. The database system itself determines when objects should be allocated and deallocated based on their usage patterns, reducing the complexity burden on users while maintaining optimized performance.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements feedback mechanisms by tracking database object usage and live ranges to inform memory allocation decisions. This feedback loop allows the system to adaptively manage memory based on actual object lifetimes and usage patterns, optimizing performance while managing complexity through data-driven decisions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11475009B2Intelligent memory allocation and deallocation of data
Publication Date: 2022.10.18 EBAY INC
  • US11475009B2 patent drawing
  • US11475009B2 patent drawing
  • US11475009B2 patent drawing

AI summary

A database object used in a plurality of database operations is determined. A live range of the database object is computed. The computing of the live range includes determining occurrences of the database operations to the database object. Based at least in part on the live range of the database object, a memory is determined to be optimally assigned to store the database object based on at least one characteristic of the memory. A first time to allocate the database object to the memory is determined. A second time to deallocate the database object from the memory is determined. An output file comprising a first instruction to store the database object in the memory at the first time and a second instruction to deallocate the database object from the memory at the second time is written.