Reconfigurable Processor Orchestration for Pipelined Graph Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems with reconfigurable processors face challenges in efficiently managing control flows during the execution of dataflow graphs, leading to suboptimal performance in terms of execution time and computing resource utilization.
Innovation Solution
An intelligent graph orchestration and execution engine (IGOEE) is introduced to reorganize the sequence of temporal partitions and graph control operations based on optimization objectives, such as minimizing execution time and maximizing resource utilization, thereby optimizing the execution of dataflow graphs on reconfigurable processors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the compiler generates many control flows for executing dataflow graphs, then the system can handle complex computations, but the management of control flows becomes inefficient leading to suboptimal performance
Solution Approach 1:
The patent segments control flows into multiple partitions, allowing independent optimization and management of each partition. This segmentation enables the system to handle complex computations through multiple manageable control flow paths while improving overall execution efficiency by optimizing each partition separately.
Solution Approach 2:
The patent introduces dynamic reconfiguration capabilities that allow the control flow structure to adapt during runtime. The system can dynamically adjust the number and arrangement of control flow partitions based on computational requirements, enabling both high adaptability for complex tasks and optimized performance for specific workloads.
2Adaptability or versatility
If the system executes dataflow graphs with multiple temporal partitions and control operations, then computational flexibility is improved, but execution overhead increases
Solution Approach 1:
The patent performs preliminary organization and optimization of temporal partitions and control operations during the compilation phase. By pre-arranging the control flow structure and identifying optimization opportunities beforehand, the system reduces runtime overhead while maintaining computational flexibility during actual execution.
Solution Approach 2:
The patent implements mechanisms to maintain continuous execution of control operations across temporal partitions. By minimizing idle time and ensuring seamless transitions between partitions, the system reduces execution overhead while preserving the flexibility to handle complex computational patterns.
3Productivity
If the compiler generates optimized control flows, then execution efficiency is improved, but the complexity of the orchestration engine increases
Solution Approach 1:
The patent extracts optimization logic from the orchestration engine and places it in the compiler phase. The compiler generates optimized control flow partitions and organization strategies, while the orchestration engine focuses on executing these pre-optimized structures. This division reduces orchestration engine complexity while maintaining execution efficiency.
Solution Approach 2:
The patent introduces an intermediate representation layer between the compiler and orchestration engine. This intermediate structure captures optimization opportunities and control flow organization in a standardized format, allowing the compiler to perform optimizations without directly increasing orchestration engine complexity. The intermediate representation serves as a mediator that preserves execution efficiency while simplifying orchestration.
Data Source
AI summary
A data processing system including an array of reconfigurable units and a compiler configured to generate to execute a dataflow graph of a user application is disclosed. The dataflow graph includes a sequence of temporal partitions, each temporal partition including a sequence of graph control operations. Also disclosed is an intelligent graph orchestration and execution engine (IGOEE) configured to receive an optimization objective from the complier. The optimization objective can be for minimizing execution time of the reconfigurable processor or maximizing computing resource utilization of the reconfigurable processor. The IGOEE can reorganize the sequence of temporal partitions and the sequence of graph control operations within each temporal partition to satisfy the optimization objective; and execute the reorganized dataflow graph on the reconfigurable processor. A corresponding method is also disclosed herein.


