Offloading Data Processing to Coprocessors and Application-Specific Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional computer architectures face inefficiencies in data processing due to the time-consuming nature of data movement through central processing units, necessitating a method to offload data processing tasks from general-purpose processors to specialized coprocessors and application-specific processors for enhanced efficiency.
Innovation Solution
A computing apparatus comprising a general-purpose processor, a coprocessor, and an application-specific processor, where the coprocessor handles control flow and the application-specific processor handles data flow without intervention from the general-purpose processor, enabling offloading of data processing tasks and implementing in-network or in-storage computation to reduce latency and power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data processing is performed through the CPU in traditional computer architecture, then the system maintains simplicity in architecture, but data processing efficiency deteriorates due to time-consuming data movement through the CPU
Solution Approach 1:
The patent segments the data processing function from the control flow management. The storage device is divided into functional modules including data processing units that can independently process data without requiring data to be transferred through the CPU, while the CPU retains only control flow management responsibilities. This segmentation enables parallel processing of control and data operations, eliminating the bottleneck of CPU-mediated data movement.
Solution Approach 2:
The patent introduces an intermediary data processing unit located between the storage device and the CPU. This intermediary unit handles data processing operations directly at the storage device level, acting as a mediator that prevents data from needing to traverse through the CPU for processing. The intermediary unit receives processing requests from the CPU and executes them locally, then returns results without requiring continuous CPU involvement in the data path.
2Productivity
If data processing tasks are handled by the general purpose processor, then the system maintains ease of operation, but the processor load increases leading to reduced throughput
Solution Approach 1:
The patent extracts data processing functions from the general purpose processor and relocates them to dedicated data processing units within the storage device. This extraction removes the burden of data processing from the CPU, allowing it to focus on control flow management and high-level application logic. The CPU no longer needs to handle individual data processing operations, significantly reducing its load and increasing overall system throughput.
Solution Approach 2:
The storage device is designed to be self-sufficient in handling data processing tasks through integrated data processing units. These units enable the storage device to perform processing operations autonomously without requiring constant CPU intervention. The system achieves self-service capability where the storage subsystem can independently execute data processing, filtering, and transformation operations, reducing the burden on the general purpose processor.
3Use of energy by moving object
If traditional CPU-based data processing is used, then the system maintains low device complexity, but power consumption increases due to continuous CPU intervention in data movement
Solution Approach 1:
The patent introduces intermediary data processing units that act as local processors within the storage device, eliminating the need for continuous CPU intervention in data movement and processing operations. These intermediaries handle data locally, reducing the activation frequency of the high-power CPU and thereby lowering overall system power consumption while maintaining architectural simplicity through modular design.
Data Source
AI summary
A computing apparatus includes at least one general purpose processor, at least one coprocessor, and at least one application specific processor. The at least one general purpose processor is arranged to run an application, wherein data processing of at least a portion of a data processing task is offloaded from the application running on the at least one general purpose processor. The at least one coprocessor is arranged to deal with a control flow of the data processing without intervention of the application running on the at least one general purpose processor. The at least one application specific processor is arranged to deal with a data flow of the data processing without intervention of the application running on the at least one general purpose processor.


