Memory-Aware Splay Tree for In-Memory Database Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory database systems face challenges in achieving fast simulation times due to high latency and dynamic energy consumption in non-volatile memory (NVM) and the inefficiency of traditional DRAM, especially when relying on shared libraries for function loading, which slows down simulation processes.

Innovation Solution

Implementing a SPLAY tree data structure to store function addresses from an ELF binary, allowing for efficient look-up of function addresses, reducing simulation time by up to 68% by binding function names to addresses and using a memory-aware SPLAY tree that migrates nodes between DRAM and NVM based on access frequency and endurance criteria.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional DRAM is used for in-memory database systems, then fast access speed is achieved, but high static energy consumption occurs due to continuous leakage and refresh power

Engineering Contradiction:
Improveaccess speedVSAvoidstatic energy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent changes the physical state and material properties of the memory system by introducing NVM technology with different electrical characteristics (near-zero leakage, persistence) to replace or supplement DRAM, fundamentally altering the energy consumption parameters while maintaining data storage functionality

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates a hybrid memory system that combines DRAM and NVM technologies into a composite architecture, leveraging the speed advantages of DRAM for frequently accessed data while using NVM for persistent storage, thereby achieving both fast access and low static energy consumption

Inventive Principle:
Principle #40Composite materials

2Use of energy by moving object

If NVM technology is used for in-memory database systems, then near-zero static energy and persistence are achieved, but high latency and high dynamic energy occur

Engineering Contradiction:
Improvestatic energy consumptionVSAvoidaccess latency
Core Design Contradiction:
Use of energy by moving objectVSSpeed

Solution Approach 1:

The patent segments the memory system into different functional zones: DRAM is used for the hot data portion requiring fast access, while NVM is used for cold data requiring persistence but not immediate access, thereby assigning different memory technologies to different functional segments based on access patterns

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different memory technology qualities to different data based on their access requirements: high-speed DRAM is applied to frequently accessed function addresses in the SPLAY tree, while energy-efficient NVM is applied to less frequently accessed data, optimizing both speed and energy consumption locally

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If shared libraries are used for function loading in in-memory database systems, then code reusability is achieved, but simulation time increases due to inefficiency

Engineering Contradiction:
Improvecode reusabilityVSAvoidsimulation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-loading function addresses from ELF binaries into the SPLAY tree data structure before simulation begins, and by pre-establishing the memory hierarchy configuration, thereby eliminating the need for time-consuming shared library loading operations during simulation execution

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10083183B2Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems
Publication Date: 2018.09.25 SAP SE
  • US10083183B2 patent drawing
  • US10083183B2 patent drawing
  • US10083183B2 patent drawing

AI summary

Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for providing a SPLAY tree, the SPLAY tree including a data structure having one or more nodes, each node having a node name and a node value, determining that a function of a shared library of an in-memory database system has been called, and determining whether the SPLAY tree includes a node corresponding to the function, wherein: if the SPLAY tree includes a node corresponding to the function, reading a function address of the function from the SPLAY tree, and if the SPLAY tree is absent a node corresponding to the function, reading the function address from a computer-readable file.