Gating Storage for Synchronized Shared Resource Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multiprocessing systems face inefficiencies in scaling due to long memory latencies and synchronization waits, particularly in multithreaded environments where threads are active on multiple processors or distributed among thread contexts, requiring an effective solution for inter-thread synchronization that avoids deadlocks and optimizes resource usage.
Innovation Solution
A shared resource access control system utilizing 'gating storage' with control bits and a controller to manage access, allowing precise abort and restart of memory operations, enabling efficient inter-thread communication and synchronization through multiple views of data storage locations, which can be accessed using standard load/store instructions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional synchronization mechanisms are used in multithreaded multiprocessing systems, then threads can coordinate access to shared resources, but memory latencies and synchronization waits increase, reducing system scalability and performance
Solution Approach 1:
The patent segments the memory address space into multiple regions, each with distinct access permissions and synchronization characteristics. By dividing the address space into segments with different access types (read-only, read-write, synchronized, non-synchronized), the system can apply appropriate synchronization mechanisms only where needed, reducing overall synchronization overhead and memory latency while maintaining reliability for shared resources.
2Productivity
If multiple processors are added to increase processing power, then system performance should improve, but synchronization overhead and memory access delays increase, reducing scaling efficiency
Solution Approach 1:
The patent implements local quality by assigning different access permissions and synchronization requirements to different segments of the address space. Each memory segment can have customized access characteristics (e.g., some segments allow free parallel access while others require synchronization), enabling processors to operate efficiently on local data without global synchronization overhead, thus improving scaling efficiency while maintaining coordination where needed.
3Productivity
If fine-grained parallel computations are implemented to optimize data flow, then processing efficiency improves, but the complexity of managing multiple thread contexts and synchronization increases
Solution Approach 1:
The patent employs dynamic access permission bits that can be modified at runtime based on the execution context and data dependencies. This dynamic approach allows the system to adapt synchronization requirements on-the-fly, enabling fine-grained parallel computations to proceed efficiently while automatically managing thread context complexity through runtime-adjustable access controls rather than static, complex synchronization protocols.
Data Source
AI summary
A shared resource access control system having a gating storage responsive to a plurality of controls with each of the controls derived from an instruction context identifying the shared resource, the gating storage including a plurality of sets of access method functions with each set of access method functions including a first access method function and a second access method function with the gating storage producing a particular one access method function from a particular one set responsive to the controls; and a controller, coupled to the gating storage, for controlling access to the shared resource using the particular one access method function.


