Heterogeneous System Sort and Set Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face performance limitations in sort and set operations on large relations due to low parallelism and high power consumption, especially when dealing with very large datasets that exceed the capacity of local memory and disks.

Innovation Solution

Implementing a heterogeneous system with a large number of disk-less compute nodes and a high-speed interconnect, allowing for increased parallelism and efficient processing of sort and set operations by partitioning relations and utilizing a cost-based optimizer to determine the most efficient execution plan across multiple nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If more CPUs are used to improve performance of sort and set operations, then processing speed increases, but power consumption and cost increase

Engineering Contradiction:
Improveprocessing speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the computing workload by dividing the database system into two distinct parts: (1) a traditional database system for transactional operations and (2) a heterogeneous system with multiple low-power compute nodes for parallel sort and set operations. This segmentation allows each part to be optimized for its specific function, enabling high-speed parallel processing without proportionally increasing overall power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the computational parameters by using a heterogeneous architecture with compute nodes that have different characteristics from traditional CPUs. These nodes are optimized for specific query primitives and can process multiple relations in parallel, achieving higher throughput per watt for sort and set operations compared to conventional homogeneous CPU systems.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If a heterogeneous system is used to increase parallelism, then processing capacity increases, but system complexity increases

Engineering Contradiction:
ImproveparallelismVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a buffer pool as an intermediary component between the heterogeneous compute nodes and the database system. This buffer pool manages data storage and retrieval, absorbing the complexity of coordinating multiple compute nodes while presenting a simplified interface to the database system. The buffer pool handles data partitioning, caching, and synchronization, thereby managing system complexity without reducing parallelism.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If relations are partitioned and processed in a heterogeneous system, then query performance improves, but data loading cost increases

Engineering Contradiction:
Improvequery performanceVSAvoiddata loading time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-loading data partitions into the buffer pool before query execution. The system proactively manages data placement in the buffer pool, anticipating query needs and preparing data in advance. This reduces the actual data loading time during query execution, as data is already positioned and ready for parallel processing by the heterogeneous compute nodes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent ensures continuity of useful action by maintaining the buffer pool as a persistent data structure that retains data between queries. Rather than loading data repeatedly, the buffer pool keeps data in memory across multiple query operations, allowing continuous parallel processing without repeated data loading overhead. This maintains high query performance while amortizing the data loading cost over multiple operations.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9135301B2Pushdown of sorting and set operations (union, intersection, minus) to a large number of low-power cores in a heterogeneous system
Publication Date: 2015.09.15 ORACLE INT CORP
  • US9135301B2 patent drawing
  • US9135301B2 patent drawing
  • US9135301B2 patent drawing

AI summary

A system and method for performing a query operation on a pair of relations in a database system coupled to a heterogeneous system (HS) is disclosed. Assuming that that pair of relations is partitioned and already loaded into the HS, the database system receives a query on the pair of relations and based on the type of query operation computes the cost of performing the query operation on the database alone or the costs of performing the query operation with the assistance of the HS, each of the costs corresponding to a particular algorithm. If the costs indicate that the HS improves the performance of the query operation, then the HS computes portions of the operation, and returns the results back to the database system. If any parts of the relation are out of sync with the database system, the database system performs operations to maintain transactional consistency.