Recursive Partitioning for Reconfigurable Computing Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Partitioning dataflow operations and assigning them to available processing resources presents a challenge for reconfigurable coarse-grained computing systems.

Innovation Solution

A method for partitioning executable operations involves receiving a set of expressions, parsing them into operations and dependencies, and then partitioning these operations into selected executable partitions that conform to resource constraints of reconfigurable units. This is achieved by seeding a candidate partition, recursively generating additional candidate partitions for adjacent operations with dependent operations already within the candidate or previous partitions, and selecting the best candidate partition based on resource cost.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dataflow operations are partitioned into multiple executable partitions, then resource utilization is optimized and processing efficiency is enhanced, but the complexity of the partitioning process increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidpartitioning process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The dataflow operations are segmented into multiple executable partitions that can be independently assigned to reconfigurable units. Each partition contains a subset of operations that can be executed in parallel, enabling optimized resource utilization and improved processing efficiency while managing complexity through structured division.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The partitioning process dynamically generates candidate partitions by recursively adding adjacent operations to seed partitions. This dynamic approach allows the system to adaptively create optimal partitions based on operation dependencies and resource constraints, enhancing processing efficiency while managing complexity through automated generation.

Inventive Principle:
Principle #15Dynamics

2Reliability

If recursive candidate generation is used to create executable partitions, then resource constraints are satisfied and processing efficiency is improved, but the computational overhead for partition generation increases

Engineering Contradiction:
Improveconstraint satisfactionVSAvoidpartition generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by seeding initial partitions with root operations and pre-determining candidate operations that can be added. This preliminary structuring reduces the search space for recursive generation, ensuring constraint satisfaction while minimizing the time required to generate valid partitions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The recursive candidate generation process incorporates feedback mechanisms where operations are added to partitions based on dependency relationships and resource availability. This feedback-driven approach ensures that only valid partitions satisfying constraints are generated, optimizing the balance between reliability and generation time.

Inventive Principle:
Principle #23Feedback

3Speed

If operations are assigned to reconfigurable units, then processing speed is enhanced, but the complexity of assigning operations to available resources increases

Engineering Contradiction:
Improveprocessing speedVSAvoidoperation assignment complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Operations are segmented into partitions that can be independently assigned to reconfigurable units, simplifying the assignment process while enabling parallel execution. This segmentation allows the system to achieve enhanced processing speed through parallelism without excessive complexity in the assignment mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The partitioning and assignment process leverages the self-service capability of reconfigurable units, where each unit can be independently configured to execute assigned partitions. This approach enhances processing speed through parallel execution while reducing the complexity of centralized assignment by distributing the configuration task.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250156372A1Partitioning dataflow operations for a reconfigurable computing system through recursive candidate generation
Publication Date: 2025.05.15 SAMBANOVA SYSTEMS INC
  • US20250156372A1 patent drawing
  • US20250156372A1 patent drawing
  • US20250156372A1 patent drawing

AI summary

A method for partitioning executable operations for a reconfigurable computing system includes receiving a set of expressions comprising a plurality of operations and dependencies for those operations, partitioning the plurality of operations into selected executable partitions wherein each selected executable partition conforms to resource constraints for a reconfigurable unit of the reconfigurable computing system. Partitioning the plurality of operations into selected executable partitions may include seeding a candidate partition with an operation, recursively generating an additional candidate partition for each operation adjacent to the candidate partition whose dependent operations are already within the candidate partition or a previously selected partition, and selecting a best candidate partition based on resource cost. A corresponding system and computer-readable medium are also disclosed herein. The system includes a partitioning module that that partitions the plurality of operations into selected executable partitions according to the method describe above.