Hardware Offload via Shared Software Context

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hardware offloading mechanisms face complexity and cost issues due to the need for dedicated hardware devices to perform specific tasks, limiting task delegation and evolution, as they are specialized for a narrow range of processing operations.

Innovation Solution

A method where a central hardware device offloads a task to an additional hardware device, allowing the additional device to invoke central device functionalities, with both devices sharing the same software context, enabling flexible task execution and notification mechanisms through a communication bus.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a dedicated additional hardware device is used to perform specific tasks, then processing performance for that task is improved, but device complexity and cost increase

Engineering Contradiction:
Improveprocessing performanceVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The additional hardware device is designed with a universal architecture that can execute multiple types of tasks through software configuration rather than being dedicated to a single function. This allows the same hardware to serve different processing needs, reducing the need for multiple specialized devices and thereby decreasing overall system complexity while maintaining high processing performance.

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

Solution Approach 2:

The task execution is segmented into parts that can be selectively offloaded to the additional hardware device. The central hardware device retains control over task management and can delegate only the computational portions to the additional device, while handling coordination and communication. This segmentation allows flexible task distribution without requiring the additional device to be fully dedicated, reducing system complexity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a dedicated additional hardware device is used for specific tasks, then task execution speed is improved, but adaptability to different tasks is reduced

Engineering Contradiction:
Improvetask execution speedVSAvoidtask adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The additional hardware device employs a dynamic software configuration system that allows its functional capabilities to be changed based on the specific task requirements. Rather than being fixed for a single function, the device can be reconfigured through software to handle different types of processing tasks, maintaining high execution speed for each specific task while providing broad adaptability across various applications.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The additional hardware device is designed with a universal architecture that can execute multiple types of tasks through software configuration. This universality allows the device to adapt to different task requirements while maintaining optimized performance for each task type, resolving the contradiction between specialization for speed and versatility for adaptability.

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

3Productivity

If tasks are offloaded to additional hardware device, then central device is relieved of processing load, but implementation complexity increases

Engineering Contradiction:
Improvecentral device throughputVSAvoidoffloading mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A software layer acts as an intermediary between the central hardware device and the additional hardware device. This intermediary layer handles the complexity of task segmentation, data formatting, and communication coordination, allowing the central device to simply initiate offloading operations without managing the intricate details of the additional device's operation. This significantly reduces the implementation complexity at the central device level.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The additional hardware device includes self-managing capabilities for task execution, error handling, and result retrieval. The device can autonomously execute offloaded tasks and manage its own state, reducing the burden on the central device for coordination and monitoring. This self-service approach simplifies the overall offloading mechanism by shifting complexity management to the additional device itself.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2863305B1Double processing offload towards additional processing device and unit
Publication Date: 2022.06.08 BULL SA
  • EP2863305B1 patent drawingFigure 1~2

AI summary

The invention relates to a data processing system (DTS), comprising a central hardware device (CPU) and an additional hardware device (HW), said central hardware device (CPU) being adapted to execute a task by a processing thread (TM), and to trigger the offloading of the execution of a first part (P1a, Plb, P2) of said task to said additional hardware device (HW); and in which said additional hardware device is adapted to call upon functionalities of said central hardware device (CPU), triggered by said first part, and said central hardware device (CPU) causes a second part (P2) of said task forming a sub-part of said first part to be executed by a service processing thread (Ts).