Parallel Pruning and Batch Sorting for Similarity Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current similarity search architectures face challenges in reducing latency and computational resources while maintaining accuracy, particularly when dealing with large datasets of high-dimensional candidate vectors and query vectors in applications like content-based image retrieval and drug discovery.

Innovation Solution

The proposed architecture employs parallel similarity processing engines with early pruning and a shared heap hardware to efficiently sort results, utilizing near-memory computing and a heap memory structure to reduce bandwidth and latency by discarding similarity computations early in the process based on threshold distances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If parallel similarity processing engines compute similarity measurements for all candidate vectors, then measurement precision is improved, but loss of time increases due to processing all candidates including those that will be discarded

Engineering Contradiction:
Improvesimilarity measurement accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by computing only partial similarity measurements (e.g., using only a portion of vector dimensions) before making discard decisions. This preliminary computation provides enough information to prune candidates early without requiring full similarity calculations, thus reducing processing time while maintaining measurement precision for candidates that proceed to full evaluation.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If early pruning is implemented to reduce computational resources, then productivity is improved, but measurement precision may deteriorate due to discarding candidates before complete evaluation

Engineering Contradiction:
Improveprocessing throughputVSAvoidsimilarity measurement accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system applies local quality by using different evaluation strategies for different candidates based on their characteristics. Promising candidates receive full similarity measurement for precise evaluation, while unpromising candidates undergo only partial measurement followed by discard. This differentiated approach maintains measurement precision for relevant candidates while improving overall productivity through selective pruning.

Inventive Principle:
Principle #3Local quality

3Device complexity

If a shared heap hardware is used for sorting results from multiple processing engines, then device complexity is reduced, but productivity may worsen due to potential bottlenecks in the shared sorting resource

Engineering Contradiction:
Improvehardware architecture complexityVSAvoidsorting throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system merges the sorting functionality of multiple processing engines into a single shared heap hardware structure. This consolidation reduces device complexity by eliminating redundant sorting units while maintaining productivity through the heap's efficient O(log n) insertion and retrieval operations, which can handle results from multiple engines simultaneously without creating significant bottlenecks.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20210319022A1Parallel pruning and batch sorting for similarity search accelerators
Publication Date: 2021.10.14 INTEL CORP
  • US20210319022A1 patent drawing
  • US20210319022A1 patent drawing
  • US20210319022A1 patent drawing

AI summary

Systems, apparatuses and methods include technology that determines, with a first processing engine of a plurality of processing engines, a first partial similarity measurement based on a first portion of a query vector and a first portion of a first candidate vector. The technology determines, with a second processing engine of the plurality of processing engines, a total similarity measurement based on the query vector and a second candidate vector. The technology determines, with the first processing engine, whether to compare a second portion of the query vector to a second portion of the first candidate vector based on the first partial similarity measurement and the total similarity measurement.