Remote Application Offloading With Reconfigurable Processor Arrays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional Von Neumann computers are inefficient for executing highly-parallel applications such as machine learning and artificial intelligence tasks, which require architectures adapted for parallel processing like coarse-grained reconfigurable architectures (CGRAs) to handle complex calculations and data processing efficiently.

Innovation Solution

A data processing system incorporating a reconfigurable processor with a coarse-grained reconfigurable architecture (CGR) and a host processor, capable of executing machine learning applications by mapping operations to processor instructions in both space and time, supporting parallel and pipelined computation through a compiler that translates high-level programs into configuration files for the CGR array.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional Von Neumann computer architecture is used, then general-purpose computing is achieved, but execution efficiency for highly-parallel applications deteriorates

Engineering Contradiction:
Improvegeneral-purpose computing capabilityVSAvoidexecution efficiency for highly-parallel applications
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system employs dynamic reconfiguration of processor arrays, allowing the hardware architecture to change its configuration based on the specific computational task. This enables the same physical hardware to adapt between different parallel processing configurations, achieving both versatility and high efficiency for different application types without requiring multiple fixed architectures.

Inventive Principle:
Principle #15Dynamics

2Productivity

If coarse-grained reconfigurable architectures are used, then execution efficiency for highly-parallel applications is improved, but device complexity increases

Engineering Contradiction:
Improveexecution efficiency for highly-parallel applicationsVSAvoidarchitecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The reconfigurable processor system implements a universal architecture that can be configured to perform multiple different computational functions. By using a set of basic processing elements that can be dynamically reconfigured through programming, the system achieves multi-functionality without requiring separate specialized hardware for each application type, thus managing complexity while maintaining high productivity.

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

3Productivity

If reconfigurable processors are integrated into heterogeneous systems, then performance for machine-learning applications is improved, but system complexity increases

Engineering Contradiction:
Improveperformance for machine-learning applicationsVSAvoidsystem integration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces a reconfigurable processor as an intermediary computing resource between the host processor and storage devices. This intermediary can be dynamically configured to handle specific machine-learning workloads, providing specialized acceleration while maintaining a relatively simple integration interface through standard communication protocols and memory interfaces, thus improving performance without proportionally increasing system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12608222B2System for the remote execution of applications
Publication Date: 2026.04.21 SAMBANOVA SYSTEMS INC
  • US12608222B2 patent drawing
  • US12608222B2 patent drawing
  • US12608222B2 patent drawing

AI summary

A data processing system is presented that is configured as a server in a client-server configuration for executing applications that a client in the client-server configuration can offload as execution tasks for execution on the server. The data processing system includes a reconfigurable processor, a storage device that stores configuration files for the applications, and a host processor that is coupled to the storage device and to the reconfigurable processor. The host processor is configured to receive an execution task of the execution tasks with an identifier of an application from the client, retrieve a configuration file that is associated with the application from the storage device using the identifier of the application, configure the reconfigurable processor with the configuration file, and start execution of the application on the reconfigurable processor, whereby the reconfigurable processor provides output data of the execution of the application to the client.