FPGA Accelerator for RankBoost Relevance Ranking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing machine learning algorithms for search relevance ranking are inefficient for large-scale data sets due to high computational costs, slow processing times, and limited parallelism, making it difficult to tune ranking function parameters effectively.

Innovation Solution

An FPGA-based accelerator system that utilizes a PCI controller and a memory hierarchy of embedded RAM, SRAM, and SDRAM to achieve better parallelism and flexibility, combined with an approximated RankBoost algorithm, enabling streaming data access and SIMD architecture to significantly speed up the training process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional machine learning algorithms are used for ranking function learning, then the algorithms can handle complex factors affecting search relevance, but the computational cost is extremely high and processing time is very long

Engineering Contradiction:
Improveability to handle complex ranking factorsVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces traditional sequential CPU-based machine learning algorithms with an FPGA-based parallel processing system. The FPGA hardware architecture implements parallel computation of ranking functions, substituting the mechanical sequential processing with hardware-level parallel operations that can simultaneously evaluate multiple ranking factors across large datasets, thereby dramatically improving processing speed while maintaining the ability to handle complex ranking factors.

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

Solution Approach 2:

The patent segments the ranking function computation into multiple parallel processing units within the FPGA architecture. Each processing unit can independently evaluate ranking factors for different documents or queries simultaneously. This segmentation enables the system to handle complex ranking factors through distributed parallel computation rather than sequential processing, resolving the contradiction between handling complexity and maintaining speed.

Inventive Principle:
Principle #1Segmentation

2Productivity

If distributed implementations with process level parallelism are used, then processing time is reduced, but many machines are occupied and communication cost increases

Engineering Contradiction:
Improveprocessing speedVSAvoidnumber of machines required
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple processing functions into a single FPGA device. Instead of distributing computation across many separate machines with associated communication overhead, the FPGA integrates parallel processing units, memory hierarchies, and data flow management within one hardware platform. This consolidation achieves process-level parallelism performance while occupying only one machine, eliminating inter-machine communication costs.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent transitions from software-level parallelism across multiple machines to hardware-level parallelism within a single FPGA device. By moving the parallelism implementation to the hardware dimension rather than the software/distributed system dimension, the system achieves high processing speed without requiring multiple machines, thus resolving the contradiction between productivity and device complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If GPU-based accelerators are used, then certain machine learning algorithms are accelerated, but memory access bandwidth and flexibility remain limited

Engineering Contradiction:
Improvealgorithm accelerationVSAvoidmemory access flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic, reconfigurable memory hierarchy within the FPGA architecture that can be adapted to different algorithm requirements. Unlike fixed GPU memory architectures, the FPGA allows dynamic configuration of memory access patterns, buffer sizes, and data flow paths according to the specific machine learning algorithm being executed. This dynamic adaptability resolves the contradiction between acceleration performance and memory access flexibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal FPGA-based accelerator platform that can efficiently execute multiple different machine learning algorithms through reconfigurable logic. The system provides both algorithm acceleration and flexible memory access by allowing the hardware architecture itself to be reconfigured for different algorithms, unlike GPUs that are optimized for specific workloads. This multi-functionality resolves the contradiction between acceleration and flexibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Device complexity

If personal computers are used for machine learning, then the system is simple and accessible, but full parallelism cannot be exploited efficiently

Engineering Contradiction:
Improvesystem simplicityVSAvoidparallelism exploitation efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent replaces the sequential instruction execution mechanism of traditional PCs with a hardware-based parallel processing architecture in FPGA. The FPGA substitutes the CPU's sequential control unit with parallel logic circuits that can simultaneously execute multiple operations. This mechanical substitution enables full parallelism exploitation while maintaining a relatively simple single-machine system, resolving the contradiction between device simplicity and parallelism efficiency.

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

Data Source

PatentUS8117137B2Field-programmable gate array based accelerator system
Publication Date: 2012.02.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8117137B2 patent drawing
  • US8117137B2 patent drawing
  • US8117137B2 patent drawing

AI summary

Accelerator systems and methods are disclosed that utilize FPGA technology to achieve better parallelism and flexibility. The accelerator system may be used to implement a relevance-ranking algorithm, such as RankBoost, for a training process. The algorithm and related data structures may be organized to enable streaming data access and, thus, increase the training speed. The data may be compressed to enable the system and method to be operable with larger data sets. At least a portion of the approximated RankBoost algorithm may be implemented as a single instruction multiple data streams (SIMD) architecture with multiple processing engines (PEs) in the FPGA. Thus, large data sets can be loaded on memories associated with an FPGA to increase the speed of the relevance ranking algorithm.