Recursive Partitioning for Reconfigurable Computing Systems
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Speed
If operations are assigned to reconfigurable units, then processing speed is enhanced, but the complexity of assigning operations to available resources increases
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.
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.
Data Source
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.


