Hardware Accelerator Allocation for Distributed Stream Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current stream processing solutions in distributed environments rely exclusively on software running on general-purpose processors, leading to performance bottlenecks due to slower computations, and existing hardware accelerator approaches have not successfully scaled for distributed environments.

Innovation Solution

The method involves allocating hardware accelerators to corresponding bolts in a distributed stream network, facilitating a handshake between these accelerators and bolts to execute processing logic, and performing elastic allocation and load balancing to optimize stream processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If software running on general-purpose processors is used for stream processing, then implementation simplicity is maintained, but processing speed and performance are limited

Engineering Contradiction:
Improvestream processing speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces hardware accelerators as intermediary components that bridge the gap between software stream processing logic and high-speed data processing. These accelerators are allocated to specific bolts and facilitate concurrent processing through dedicated hardware resources, thereby increasing processing speed without requiring complete system redesign.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the stream processing workload by allocating hardware accelerators to specific bolts based on their processing requirements. This segmentation allows different parts of the stream processing pipeline to utilize appropriate hardware resources, optimizing overall performance while maintaining manageable system complexity through modular allocation.

Inventive Principle:
Principle #1Segmentation

2Productivity

If hardware accelerators are allocated to bolts for concurrent processing, then processing efficiency is improved, but allocation management and load balancing become more complex

Engineering Contradiction:
Improvestream processing efficiencyVSAvoidallocation management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where bolts report their hardware accelerator allocation status and processing workload to the system manager. This feedback enables dynamic allocation adjustments and load balancing, allowing the system to optimize productivity while managing complexity through automated feedback-driven control.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The hardware accelerator allocation system is designed to be dynamic, allowing real-time allocation and deallocation of accelerators to bolts based on varying processing demands. This dynamic allocation strategy improves processing efficiency by matching hardware resources to actual workload requirements while managing complexity through flexible, adaptive control.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If distributed stream processing is implemented with hardware accelerators, then processing scalability is enhanced, but system reliability and coordination challenges increase

Engineering Contradiction:
Improveprocessing scalabilityVSAvoidsystem reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent designs hardware accelerators with universal interfaces and standardized allocation protocols that work across different bolt types and processing scenarios. This universality enables scalable distributed processing while maintaining reliability through consistent coordination mechanisms, allowing the same accelerator infrastructure to support diverse workloads.

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

Solution Approach 2:

The system manager acts as an intermediary coordination layer between distributed bolts and hardware accelerators, handling allocation, deallocation, and failure recovery operations. This intermediary layer simplifies reliability management in distributed environments by centralizing coordination logic and providing consistent interfaces for scalable system expansion.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9313134B2Leveraging hardware accelerators for scalable distributed stream processing in a network environment
Publication Date: 2016.04.12 CISCO TECHNOLOGY INC
  • US9313134B2 patent drawing
  • US9313134B2 patent drawing
  • US9313134B2 patent drawing

AI summary

An example method for leveraging hardware accelerators for scalable distributed stream processing in a network environment is provided and includes allocating a plurality of hardware accelerators to a corresponding plurality of bolts of a distributed stream in a network, facilitating a handshake between the hardware accelerators and the corresponding bolts to allow the hardware accelerators to execute respective processing logic according to the corresponding bolts, and performing elastic allocation of hardware accelerators and load balancing of stream processing in the network. The distributed stream comprises a topology of at least one spout and the plurality of bolts. In specific embodiments, the allocating includes receiving capability information from the bolts and the hardware accelerators, and mapping the hardware accelerators to the bolts based on the capability information. In some embodiments, facilitating the handshake includes executing a shadow process to interface between the hardware accelerator and the distributed stream.