Hybrid Database Query Accelerator with Coordinator Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large databases take a long time to process queries due to the inefficiencies in both hardware and software processing methods, particularly with unbounded data types like strings, which require extensive resources and may not be fully supported by hardware accelerators.
Innovation Solution
A hybrid approach using a coordinator to determine whether hardware or software should process a database query, leveraging the strengths of both to efficiently handle queries by directing queries to the appropriate processing unit based on capabilities, with hardware processing supported by a combination of hardware and software.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If hardware accelerators are used to process database queries, then query processing speed is improved, but hardware may not fully support unbounded data types like strings
Solution Approach 1:
The system segments query processing into two distinct paths: hardware acceleration for bounded data types (integers, floats, dates) and software processing for unbounded data types (strings, blobs). The coordinator divides the query workload based on data type characteristics, allowing each processing unit to operate within its capabilities while maintaining overall query functionality.
Solution Approach 2:
The coordinator acts as an intermediary between the query and the processing units. It determines whether to route queries to hardware or software based on the data types involved, managing the interaction between different processing capabilities and ensuring appropriate handling of both bounded and unbounded data types.
2Adaptability or versatility
If software is used to process database queries, then support for all data types is maintained, but query processing time increases
Solution Approach 1:
The system segments query processing by data type characteristics, routing bounded data types to hardware for fast processing and unbounded data types to software. This segmentation allows the system to avoid using slow software processing for all queries while maintaining support for diverse data types through the software path.
Solution Approach 2:
Different processing qualities are applied to different data types: hardware acceleration is applied locally to bounded data types where it is effective, while software processing is applied to unbounded data types. This local quality approach optimizes performance for each data type category rather than using a uniform processing method.
3Productivity
If a hybrid hardware-software system is implemented, then query processing efficiency is improved, but system complexity increases
Solution Approach 1:
The coordinator is designed as a universal component that can determine routing for both hardware and software processing paths. It handles multiple data types and query scenarios, making the system's decision-making logic multi-functional and reducing the need for separate control mechanisms for each processing path.
Solution Approach 2:
The coordinator serves as a centralized intermediary that simplifies the interaction between hardware and software components. By consolidating the decision-making logic in one component, the system avoids the complexity of distributed decision-making while maintaining the benefits of hybrid processing.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An accelerator (135) is disclosed. A hardware (305) may process a query on a database. A storage (325) may store a software (310) to process the query on the database. A coordinator (320) may manage the hardware (305) and the software (310) to process the query on the database based at least in part on the query, to produce a result of the query on the database.