Reconfigurable Storage Sort Acceleration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database applications face substantial design-time overhead and performance bottlenecks due to the need for adaptable sorting engines that cater to various operations and resource requirements, leading to inefficient sort operations and increased energy consumption.
Innovation Solution
A storage system with a reconfigurable processing device, such as an FPGA, dynamically instantiates compute components to accelerate sort operations by directly accessing data from a solid-state drive via a direct interconnect, bypassing the host computer and utilizing parallel sorting algorithms like Bitonic Sort.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a fixed sorting engine is designed to adapt to different database applications, then various operations and requirements can be supported, but substantial design-time overhead is expended
Solution Approach 1:
The patent employs a reconfigurable processing device (FPGA) that can dynamically reconfigure its hardware architecture at runtime to match different sorting algorithms and data sizes. This dynamic reconfigurability eliminates design-time adaptation overhead while maintaining versatility across different database applications, as the same physical hardware can be reprogrammed for different sorting needs.
Solution Approach 2:
The system changes hardware parameters (logic circuit configuration, resource allocation) based on the specific sorting requirements. By loading different bitstream configurations into the FPGA, the system adapts to various database operations without requiring redesign, thus resolving the contradiction between adaptability and design-time overhead.
2Adaptability or versatility
If sort operations are performed using traditional CPU-based methods, then flexibility is maintained, but performance bottlenecks and increased energy consumption occur
Solution Approach 1:
The patent replaces the software-based CPU sorting mechanism with a hardware-based FPGA implementation. This substitution leverages parallel processing capabilities of reconfigurable hardware to achieve significantly higher sorting throughput while maintaining flexibility through reconfigurability, thus resolving the performance bottleneck issue.
Solution Approach 2:
The reconfigurable processing device can dynamically adjust its processing elements and interconnect structure based on the sorting algorithm and data characteristics, providing both high performance and flexibility that traditional fixed-architecture CPUs cannot achieve.
3Device complexity
If data is accessed through the host computer for sorting, then system simplicity is maintained, but bottlenecks increase and energy consumption rises
Solution Approach 1:
The patent introduces a reconfigurable processing device as an intermediary between the storage device and host computer. This intermediary performs sorting operations locally, eliminating the need for data to traverse the host computer and reducing energy consumption associated with host CPU operations and memory access, while maintaining system simplicity through a straightforward data flow path.
Data Source
AI summary
A storage system includes: a storage device to store an array of data elements associated with a sort operation; a storage interface to facilitate communications between the storage device and a host computer; and a reconfigurable processing device communicably connected to the storage device, the reconfigurable processing device including: memory to store input data read from the storage device, the input data corresponding to the array of data elements stored in the storage device; and a kernel including one or more compute components to execute the sort operation on the input data stored in the memory according to a SORT command received from the host computer. The reconfigurable processing device is to dynamically instantiate the one or more compute components to accelerate the sort operation.


