Data Processing Array Partitioning for Spatial and Temporal Sharing
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If multiple configurations are selected to meet diverse QoS requirements, then service quality is improved, but device complexity increases
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.
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.
2Adaptability or versatility
If dynamic configuration selection is implemented to meet varying space requirements, then adaptability is improved, but device complexity increases
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.
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.
3Productivity
If spatial sharing of partitions is implemented to run multiple configurations simultaneously, then productivity is improved, but device complexity increases
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.
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.
4Device complexity
If temporal sharing is used when space is insufficient, then device complexity is reduced, but productivity decreases
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.
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.
Data Source
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.


