Analytics Accelerating Co-processor Offload Engine for Datastream Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Datastream processing applications, such as analytics applications, experience high response times, high resource consumption, and extensive heat dissipation when executed on general-purpose CPU core processors, making them inefficient and not conducive to consolidation in cloud-based environments.

Innovation Solution

A system with an analytics accelerating co-processor is configured to offload data operations from CPU cores to a co-processor, using an offload engine that intercepts data operations and determines whether to execute them on the co-processor or CPU, ensuring transparent operation regardless of the processing unit used.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data operations are executed on general purpose CPU cores, then applications can be run with standard hardware, but response times are high and resource consumption is excessive

Engineering Contradiction:
Improvedatastream processing throughputVSAvoidresponse time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments processing tasks by separating data operation execution from general-purpose CPU cores and delegating them to specialized analytics accelerating co-processors. This segmentation allows CPU cores to handle control logic and coordination while co-processors handle computationally intensive data operations, thereby improving throughput and reducing response time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An offload engine acts as an intermediary between the application/CPU and the analytics accelerating co-processor. The offload engine intercepts data operations from the CPU, determines suitability for offloading, and executes them on the co-processor, thereby reducing the CPU's workload and improving overall processing efficiency without requiring application modification.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data operations are executed on CPU cores, then processing can be performed, but resource consumption and energy usage are high

Engineering Contradiction:
Improveprocessing capabilityVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system segments the computing workload by separating energy-intensive data operations from general-purpose CPU cores and assigning them to specialized co-processors optimized for analytics workloads. This segmentation reduces CPU energy consumption while maintaining processing capability, as co-processors are designed to perform specific data operations more efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system replaces the general-purpose mechanical processing system (CPU) with a specialized processing system (analytics accelerating co-processor) for data operations. This substitution leverages hardware optimized for specific analytics workloads, reducing energy consumption while maintaining or improving processing capability.

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

3Productivity

If data operations are executed on CPU cores, then standard hardware can be used, but heat dissipation is extensive

Engineering Contradiction:
Improvedatastream processing capabilityVSAvoidheat dissipation
Core Design Contradiction:
ProductivityVSTemperature

Solution Approach 1:

The system segments processing functions to separate heat-generating data operations from CPU cores and relocate them to dedicated co-processors. This segmentation reduces the thermal load on CPU cores, lowering overall system heat dissipation while preserving datastream processing capability through the co-processor's specialized hardware acceleration.

Inventive Principle:
Principle #1Segmentation

4Productivity

If data operations are offloaded to co-processor, then processing efficiency improves, but system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The offload engine serves as an intermediary that manages the complexity of co-processor integration. It handles task scheduling, operation interception, and coordination between the CPU and co-processor, thereby improving processing efficiency while encapsulating system complexity within the offload engine rather than exposing it to applications or requiring complex system architecture changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The offload engine operates autonomously to manage the offloading process, automatically intercepting data operations, determining their suitability for co-processor execution, and routing them appropriately. This self-service capability reduces the need for manual system configuration and simplifies the overall system architecture by automating complexity management.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3500933B1Resource efficient acceleration of datastream analytics processing using an analytics accelerator
Publication Date: 2023.01.18 ORACLE INT CORP
  • EP3500933B1 patent drawingFigure 1
  • EP3500933B1 patent drawingFigure 2
  • EP3500933B1 patent drawingFigure 3

AI summary

An offload engine may attempt to offload, on behalf of applications, data operations to be performed on a datastream. The offload engine may intercept one or more data operations, such as may be part of a collections API, performed by an application. The data operations and the datastream may be specified and/or provided by the application and, in response, the offload engine may be configured to execute (or attempt to execute) the data operations on the datastream using an analytics accelerating co-processor rather than using a general purpose CPU core. The offload engine may determine whether or not to offload the data operations to the analytics accelerating co-processor. If the offload is unsuccessful or if the offload engine determines that the data operations are not suitable for offloading, the offload engine may then cause the data operations to be performed using general purpose CPU cores on the system.