Heterogeneous System Sort and Set Operations
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If a heterogeneous system is used to increase parallelism, then processing capacity increases, but system complexity increases
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.
3Productivity
If relations are partitioned and processed in a heterogeneous system, then query performance improves, but data loading cost increases
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.
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.
Data Source
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.


