Shared Resource Access Notification for Multi-Core Bus Traffic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for controlling access to shared resources in multi-core processor architectures, such as exclusive schemes, lead to increased bus traffic and system latency due to repetitive polling for resource availability, which reduces signaling bandwidth and increases context switching.
Innovation Solution
A method that automatically monitors and notifies master devices when a shared resource becomes available, reducing the need for repetitive polling and context switching by providing immediate access or notification upon resource availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the exclusive scheme is used to allow multiple masters to share the bus, then resource utilization is improved, but repetitive polling increases bus traffic and reduces signaling bandwidth
Solution Approach 1:
The slave device automatically monitors the shared resource and autonomously determines when it becomes available, then proactively notifies waiting master devices. This self-service mechanism eliminates the need for masters to repeatedly poll the resource, reducing bus traffic while maintaining high resource utilization through efficient notification-based access.
Solution Approach 2:
The system implements a feedback mechanism where the slave device provides status information about resource availability to waiting master devices through automatic notification. This feedback loop allows masters to be informed immediately when the resource becomes available, eliminating continuous polling and optimizing both resource utilization and signaling bandwidth efficiency.
2Reliability
If masters continuously poll the shared resource to determine availability, then resource access reliability is improved, but system latency increases due to context switching
Solution Approach 1:
Master devices register their interest in the shared resource in advance with the slave device before actually needing access. This preliminary action allows the slave device to maintain a list of waiting masters and immediately notify them when the resource becomes available, eliminating the need for continuous polling and reducing system latency while ensuring reliable resource access.
Solution Approach 2:
The slave device provides timely feedback to registered master devices when the shared resource becomes available. This feedback mechanism ensures reliable resource access by notifying masters immediately rather than requiring them to poll, thereby reducing system latency and context switching while maintaining access reliability.
3Stability of the object's composition
If the lock scheme is used to allow only one master to access the bus at a time, then data consistency is improved, but other masters must wait and productivity decreases
Solution Approach 1:
The slave device automatically monitors the shared resource and proactively notifies waiting master devices when it becomes available. This self-service approach maintains data consistency by ensuring only one master accesses the resource at a time, while simultaneously improving bus access efficiency by eliminating the need for masters to wait and poll continuously.
Solution Approach 2:
The system implements feedback where the slave device notifies waiting master devices immediately when the shared resource becomes available. This maintains data consistency through controlled access while improving productivity by reducing waiting time and enabling masters to access the resource as soon as it is available, rather than through continuous polling.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of controlling access between multiple master devices to a shared resource is disclosed. The method includes receiving a request to access the shared resource from a first master device, and determining availability of the shared resource. If the shared resource is available, a successful response is returned to the first master device to establish access by the first master device to the shared resource. If the shared resource is unavailable, a failed response is returned to the first master device. During the resource's unavailability, it is automatically monitored for when the shared resource becomes available. Once available, the first master device is automatically notified.