Cluster Controller Broadcast Coordination for Shared Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Efficiently controlling memory access by a cluster of multiple processing units or processing elements in complex data processing systems is challenging, especially in applications requiring time-efficient and energy-efficient interworking.
Innovation Solution
A Cluster Controller is introduced to manage memory access for a cluster of processing elements, initiating data broadcasting only after receiving requests from all participating elements, allowing independent operation and simultaneous data transfers without synchronization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional memory access control is used in complex data processing systems, then processing elements can access shared memory, but time-efficient and energy-efficient interworking becomes challenging due to synchronization requirements and data collision risks
Solution Approach 1:
Each processing element independently determines whether to participate in broadcast operations by autonomously setting request bits in the broadcast request register, eliminating the need for centralized scheduling and synchronization coordination. The system serves itself through distributed autonomous decision-making at the processing element level.
Solution Approach 2:
Processing elements pre-register their broadcast participation intentions by setting request bits before the actual broadcast operation occurs. The cluster controller collects these advance requests and initiates the broadcast only after all participating elements have registered, ensuring ready-state coordination without continuous synchronization overhead during data transfer.
2Productivity
If traditional memory access control is used, then processing elements can access shared memory, but energy consumption increases due to continuous synchronization and collision avoidance protocols
Solution Approach 1:
Processing elements autonomously manage their own broadcast participation by independently setting and clearing request bits without requiring energy-intensive synchronization handshakes or collision detection protocols. Each element self-manages its access state, eliminating continuous energy consumption from centralized coordination mechanisms.
Solution Approach 2:
The system uses periodic broadcast operations triggered by registered requests rather than continuous monitoring. The cluster controller periodically checks the broadcast request register and initiates broadcasts only when needed, converting continuous energy consumption into periodic, demand-driven operations that reduce overall energy usage while maintaining data transfer efficiency.
3Loss of time
If processing elements operate independently without synchronization, then time and energy are saved, but coordinated data access to shared memory becomes difficult
Solution Approach 1:
The cluster controller acts as an intermediary that collects broadcast requests from processing elements via the broadcast request register and coordinates the actual broadcast operation. This intermediary structure enables independent processing elements to access shared memory cooperatively without direct synchronization between them, simplifying the access control mechanism while maintaining coordination.
Solution Approach 2:
The broadcast request register serves multiple functions: it collects participation requests from processing elements, tracks which elements want to receive broadcasts, and provides the cluster controller with coordination information. This multi-functional register reduces the need for separate synchronization mechanisms, lowering overall system complexity while enabling coordinated independent access.
Data Source
AI summary
There is provided a Cluster Controller, CC, configured to control memory access by a cluster of multiple processing units or processing elements, PEs, to a common Cluster Memory, CM, shared by the processing elements within the cluster. The Cluster Controller is configured to receive requests, referred to as cluster broadcast requests, from at least a subset of the multiple processing elements within the cluster for broadcasting of data from the common cluster memory to said at least a subset of the multiple processing elements. The Cluster Controller is configured to initiate broadcasting of data in response to the received cluster broadcast requests only after broadcast requests have been received from all processing elements of said at least a subset of said multiple processing elements that are participating in the broadcast.


