Gating Storage for Synchronized Shared Resource Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesynchronization coordinationVSAvoidmemory latency and synchronization wait time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveprocessing powerVSAvoidsynchronization wait time
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improveparallel computation efficiencyVSAvoidthread context management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7711931B2Synchronized storage providing multiple synchronization semantics
Publication Date: 2010.05.04 MIPS TECH INC
  • US7711931B2 patent drawing
  • US7711931B2 patent drawing
  • US7711931B2 patent drawing

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.