Satisfiability Solver for Reconfigurable Fabric Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Reconfigurable processor fabrics face challenges in efficiently scheduling, placing, and routing resources due to data conflicts and interconnection delays, which hinder performance and flexibility in high-performance computing applications.
Innovation Solution
The use of a satisfiability solver to configure processing elements within a reconfigurable fabric based on a dataflow graph, employing adaptive windowing and iterative packing techniques to optimize resource allocation and reduce instruction usage, allowing each element to perform multiple functions dynamically during runtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional scheduling, placement, and routing methods are used in reconfigurable fabric, then implementation is simpler, but search processing time increases and resource allocation efficiency deteriorates
Solution Approach 1:
The patent replaces traditional mechanical/heuristic scheduling, placement, and routing methods with a satisfiability solver-based computational system. The solver translates resource allocation problems into formal logical constraints and automatically finds optimal configurations, substituting manual or rule-based approaches with automated logical reasoning to improve allocation efficiency while managing complexity.
Solution Approach 2:
The reconfigurable fabric system uses self-service through automated satisfiability solving, where the configuration system automatically determines optimal resource allocations without manual intervention. The solver independently analyzes constraints and generates configurations, enabling the system to serve its own configuration needs efficiently.
2Adaptability or versatility
If reconfigurable fabric dynamically configures processing elements, then adaptability improves, but configuration complexity increases
Solution Approach 1:
The patent implements universality by enabling processing elements to perform multiple functions dynamically through reconfiguration. The same physical processing elements can be assigned different roles (computational, routing, storage) based on runtime requirements, achieved by translating multi-functionality requirements into satisfiability constraints that the solver resolves automatically.
Solution Approach 2:
The system applies dynamics by allowing the configuration of processing elements to change over time based on computational requirements. The satisfiability solver enables dynamic reconfiguration where processing elements can transition between different functional states, managing the complexity of temporal changes through formal constraint satisfaction rather than static configuration.
3Productivity
If processing elements are assigned multiple functions, then resource utilization improves, but data conflicts increase
Solution Approach 1:
The patent applies local quality by allowing different processing elements to have different functional assignments based on local requirements. The satisfiability solver determines specific functional assignments for each processing element individually, enabling resource utilization improvement while managing data conflicts through localized functional differentiation rather than uniform assignment.
Solution Approach 2:
The system uses feedback mechanisms where the satisfiability solver analyzes potential data conflicts arising from multi-functional assignments and adjusts configurations accordingly. The solver incorporates conflict avoidance constraints that provide feedback on assignment validity, enabling resource utilization improvement while preventing harmful data conflicts through iterative constraint satisfaction.
Data Source
AI summary
Disclosed techniques utilize a satisfiability solver for allocation and/or configuration of resources in a reconfigurable fabric of processing elements. A dataflow graph is an input provided to a toolchain that includes a satisfiability solver. The satisfiability solver operates on subsets of interconnected nodes within a dataflow graph to derive a solution. The solution is trimmed by removing artifacts and unnecessary parts. The solutions of subsets are then used as an input to additional subsets of nodes within the dataflow graph in an iterative process to derive a complete solution. The satisfiability solver technique uses adaptive windowing in both the time dimension and the spatial dimensions of the dataflow graph. Processing elements and routing elements within the reconfigurable fabric are configured based on the complete solution. Data computation is performed based on the dataflow graph using the processing elements and the routing resources.


