Controller Array Workload Segmentation With Synchronization Barriers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Implementing parallel hardware architectures for executing workloads is challenging due to the need for synchronizing workload components that must be executed in a particular order, which is not efficiently addressed by existing technologies.
Innovation Solution
Implementing a system where each controller in an array executes a segment of control code, with synchronization barriers ensuring that all segments are completed before proceeding, using local DM reads and one remote DM write for efficient synchronization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If parallel hardware architectures are used to execute workload components simultaneously, then execution efficiency is improved, but synchronization of workload components that need to be executed in a particular order becomes challenging
Solution Approach 1:
The control code is divided into multiple segments that can be distributed to different controllers for parallel execution. Each controller executes a specific segment independently, allowing simultaneous execution while maintaining logical ordering through segment dependencies. This segmentation enables parallel hardware to efficiently handle workload components without complex centralized synchronization.
2Productivity
If control code is divided into segments executed by different controllers, then parallel execution is enabled, but synchronization barriers require coordination between controllers
Solution Approach 1:
Controllers provide feedback to each other through notification mechanisms when segments are completed. This feedback allows synchronization barriers to reliably detect when all prerequisite segments have finished executing, ensuring correct ordering without complex coordination protocols. The notification-based feedback system maintains synchronization reliability while enabling parallel execution.
3Reliability
If notification mechanisms are implemented between controllers for synchronization, then execution order is maintained, but communication overhead increases
Solution Approach 1:
Controllers are pre-configured with knowledge of which segments they need to notify about and which segments depend on their completion. This preliminary setup allows synchronization to proceed efficiently without real-time complex coordination. The notification mechanism is optimized based on pre-analyzed dependency relationships, reducing communication overhead and latency.
Data Source
AI summary
Examples herein describe an array of controllers. The array includes a first controller having a first memory and a first processor and a second controller having a second memory and a second processor. The first controller is configured to execute a first segment of control code. The control code is compiled based on one or more instructions included in a user defined application. The second controller is configured to execute a second segment of the control code. The one or more instructions included in the user defined application are executable by executing the first segment of the control code and the second segment of the control code.


