Nearest Neighbor Unit for Parallel Distance Calculation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face challenges in executing complex instructions efficiently, particularly those requiring more resources like floating-point operations and data moves, which can slow down overall processing throughput.

Innovation Solution

The implementation of a processor architecture that includes a nearest neighbor unit (NNLU) and specific instruction handling for nearest neighbor calculations, utilizing a reduced search space table and duplicate removal circuit to accelerate computations, allowing for parallel processing and efficient execution of distance measurements between input data and dictionary atoms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If general-purpose processors execute complex instructions like floating-point operations and data moves, then computational versatility is maintained, but processing throughput decreases

Engineering Contradiction:
Improvecomputational versatilityVSAvoidprocessing throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The processor is divided into multiple specialized execution units: a nearest-neighbor execution unit for distance calculations and dictionary operations, a separate general-purpose execution unit for other computational tasks, and a conversion unit for data type transformations. This segmentation allows each unit to be optimized for its specific function, enabling parallel execution and maintaining high throughput while preserving computational versatility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A conversion unit acts as an intermediary between the nearest-neighbor execution unit and the general-purpose execution unit. This intermediary handles data type conversions and result transformations, allowing the specialized unit to operate independently without blocking the general-purpose unit, thus maintaining processing throughput while achieving versatile computation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If traditional processors perform nearest neighbor calculations using standard instruction sequences, then hardware complexity is minimized, but computational speed decreases

Engineering Contradiction:
Improvehardware complexityVSAvoidcomputational speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The nearest-neighbor execution unit pre-calculates distance metrics and identifies potential nearest neighbors before the general-purpose unit performs final selection and processing. This preliminary action accelerates the overall computation by preparing data in advance, achieving high computational speed without requiring excessive hardware complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The execution units utilize register files and buffer memories to create temporary copies of data during processing. This allows parallel operations on multiple data elements simultaneously without repeatedly accessing main memory, significantly improving computational speed while keeping hardware complexity manageable through efficient use of on-chip storage.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If processors handle large datasets for machine learning and compressive sensing applications, then application capability is enhanced, but power consumption increases

Engineering Contradiction:
Improveapplication capabilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

By segmenting the processing workload between a specialized nearest-neighbor unit and a general-purpose unit, each unit processes only the operations it is optimized for. This reduces unnecessary computational overhead and power consumption while maintaining the ability to handle large datasets for machine learning and compressive sensing applications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces traditional sequential mechanical processing with parallel computational operations in the nearest-neighbor execution unit. This substitution enables simultaneous distance calculations for multiple data points, reducing the total processing time and average power consumption while enhancing application capability for large-scale data processing.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10387797B2Instruction and logic for nearest neighbor unit
Publication Date: 2019.08.20 INTEL CORP
  • US10387797B2 patent drawing
  • US10387797B2 patent drawing
  • US10387797B2 patent drawing

AI summary

A processor includes a front end to decode an instruction, an allocator to pass the instruction to a nearest neighbor logic unit (NNLU) to execute the instruction, and a retirement unit to retire the instruction. The NNLU includes logic to determine input of the instruction for which nearest neighbors will be calculated, transform the input, retrieve candidate atoms for which the nearest neighbors will be calculated, compute distance between the candidate atoms and the input, and determine the nearest neighbors for the input based upon the computed distance.