Memory-Aware Splay Tree for In-Memory Database Simulation
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
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
Data Source
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.


