DMA Engine Tuple-Encoded Data Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database servers executing on multi-core processors face inefficiencies in moving tabular data due to overhead from direct memory access (DMA) operations, as the data is not optimally formatted for DMA engines, and the limited size of memory closer to the core processor leads to frequent interrupts, degrading processor performance.

Innovation Solution

A hardware-accelerated data movement system with multiple data movement engines that transform and move tabular data from main memory to core processors, utilizing descriptors for efficient data manipulation and partitioning, and a copy ring for internal data transfer between engines, allowing for in-flight data manipulation and reduced interrupts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If DMA engine moves data from main memory to local memory, then data movement is achieved, but frequent interrupts occur due to limited local memory size

Engineering Contradiction:
Improvedata movement speedVSAvoidinterrupt overhead time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The data movement operation is segmented into multiple smaller transactions. Instead of moving all data at once and causing one large interrupt, the DMA engine processes data in chunks that fit within the local memory capacity, allowing continuous operation with fewer interrupts. Each segment is moved independently, and the processor is interrupted only when a segment completes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-configuring the DMA engine with descriptors that specify multiple data segments and their destinations. This allows the DMA engine to autonomously manage the segmented data movement without requiring processor intervention for each segment, reducing interrupt overhead while maintaining efficient data transfer.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is moved to local memory closer to core processor, then processing efficiency is improved, but overhead from DMA operations offsets the advantage

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidDMA operation overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

Multiple data movement operations are merged into a single DMA transaction. The descriptor structure allows the DMA engine to combine multiple source-destination pairs into one continuous operation, reducing the overhead associated with individual DMA setup and execution. This merging approach maintains the productivity benefit of local memory while reducing the energy cost of DMA operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The DMA engine is designed with multi-functionality to handle various data movement scenarios through a unified descriptor-based interface. A single DMA engine can service multiple data movement requests with different parameters, eliminating the need for separate dedicated hardware for each operation and reducing overall system overhead while maintaining high processing efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If tabular data is moved for efficient processing, then data manipulation performance is improved, but data must be optimally formatted which adds complexity

Engineering Contradiction:
Improvedata manipulation performanceVSAvoiddata formatting complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The descriptor structure serves as an intermediary between the raw tabular data and the processing requirements. Instead of requiring complex data formatting, the descriptors describe the data layout and transformation needs, allowing the DMA engine to handle the formatting complexity autonomously while the processor focuses on high-value manipulation tasks, thus improving performance without adding formatting complexity to the processing pipeline.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10061832B2Database tuple-encoding-aware data partitioning in a direct memory access engine
Publication Date: 2018.08.28 ORACLE INT CORP
  • US10061832B2 patent drawing
  • US10061832B2 patent drawing
  • US10061832B2 patent drawing

AI summary

Techniques provide for hardware accelerated data movement between main memory and an on-chip data movement system that comprises multiple core processors that operate on the tabular data. The tabular data is moved to or from the scratch pad memories of the core processors. While the data is in-flight, the data may be manipulated by data manipulation operations. The data movement system includes multiple data movement engines, each dedicated to moving and transforming tabular data from main memory data to a subset of the core processors. Each data movement engine is coupled to an internal memory that stores data (e.g. a bit vector) that dictates how data manipulation operations are performed on tabular data moved from a main memory to the memories of a core processor, or to and from other memories. The internal memory of each data movement engine is private to the data movement engine. Tabular data is efficiently copied between internal memories of the data movement system via a copy ring that is coupled to the internal memories of the data movement system and/or is coupled to a data movement engine. Also, a data movement engine internally broadcasts data to other data movement engines, which then transfer the data to respective core processors. Partitioning may also be performed by the hardware of the data movement system. Techniques are used to partition data “in flight”. The data movement system also generates a column of row identifiers (RIDs). A row identifier is a number treated as identifying a row or element's position within a column. Row identifiers each identifying a row in column are also generated.