Data Processing Array Partitioning for Spatial and Temporal Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing data processing arrays to achieve high computational efficiency is complex, particularly when offloading tasks from a host processor, and reliable mechanisms are needed to ensure efficient operation.

Innovation Solution

A method for dynamically selecting and implementing configurations in a data processing array based on space requirements and current status, allowing for spatial and temporal sharing of array portions to accommodate multiple workloads efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple configurations are selected to meet diverse QoS requirements, then service quality is improved, but device complexity increases

Engineering Contradiction:
ImproveQoS requirement fulfillmentVSAvoidconfiguration management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The data processing array is divided into multiple partitions that can independently execute different configurations. Each partition can be dynamically allocated to run specific configurations based on QoS requirements, allowing diverse service quality levels without managing a monolithic complex system. The partitioning enables isolated configuration management and resource allocation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic configuration selection and allocation where partitions can be assigned different configurations based on real-time QoS requirements. The mechanism dynamically determines which configuration runs in which partition based on current workload demands and service quality needs, rather than using static fixed assignments.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If dynamic configuration selection is implemented to meet varying space requirements, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improveconfiguration adaptabilityVSAvoidconfiguration selection mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Multiple configurations are pre-loaded into the data processing array before execution. The system maintains a ready state with configurations prepared in advance, allowing rapid selection and deployment of appropriate configurations based on current space requirements and workload characteristics without complex real-time generation or compilation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses identical partition structures that can be dynamically assigned different configurations. Multiple partitions provide template copies that can be independently configured, allowing flexible adaptation to different space requirements by simply redistributing existing configuration templates rather than creating entirely new structural elements.

Inventive Principle:
Principle #26Copying

3Productivity

If spatial sharing of partitions is implemented to run multiple configurations simultaneously, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improveworkload execution efficiencyVSAvoidpartition management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The data processing array is segmented into multiple independent partitions that can simultaneously execute different configurations. This spatial segmentation allows concurrent workload execution without interference, improving productivity by enabling parallel processing while managing complexity through modular partition isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple configurations are merged into a single data processing array through partitioned execution. Different configurations run simultaneously in different partitions within the same physical array, combining the capabilities of multiple systems into one unified resource while maintaining the productivity benefits of parallel execution.

Inventive Principle:
Principle #5Merging (Combining)

4Device complexity

If temporal sharing is used when space is insufficient, then device complexity is reduced, but productivity decreases

Engineering Contradiction:
Improveresource allocation simplicityVSAvoidconcurrent workload capacity
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system dynamically switches between spatial and temporal sharing modes based on available resources and workload demands. When partitions are available, spatial sharing is used for maximum productivity. When space is constrained, the system transitions to temporal sharing where configurations execute sequentially in available partitions, maintaining operational simplicity while adapting to resource limitations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The same partition infrastructure serves both spatial and temporal sharing functions. The partition mechanism is universal and can facilitate either concurrent spatial execution or sequential temporal execution depending on resource availability, eliminating the need for separate simplified mechanisms and maintaining flexibility across different operational modes.

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

Data Source

PatentUS12625725B2Dynamic provisioning of portions of a data processing array for spatial and temporal sharing
Publication Date: 2026.05.12 XILINX INC
  • US12625725B2 patent drawing
  • US12625725B2 patent drawing
  • US12625725B2 patent drawing

AI summary

Dynamic provisioning of portions of a data processing array includes receiving, from an executing application, a context request. The context request specifies a requested task to be performed by a data processing array. A configuration for the data processing array is selected from a plurality of configurations for the data processing array. The selected configuration conforms with the context request and is capable of performing the requested task. A determination is made whether the selected configuration is implementable in the data processing array based, at least in part, on a space requirement of the selected configuration and a current status of the data processing array. The selected configuration is selectively implemented in the data processing array based on the determination.