Shared Memory Buffer Ownership Control via Intent Indication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache-based shared memory systems experience significant performance loss due to inefficient data movement and latency in managing ownership control and data transfer between processors, leading to opportunities for improvement in managing access to shared state.

Innovation Solution

A method is introduced where producers and consumers indicate their intent to access a buffer, with data movement delayed until all parties are prepared, using a state machine and explicit operations to coordinate cache control and data movement, reducing overhead and latency by deferring access until the producer and consumer are ready.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the greedy algorithm moves the variable from its current processor to the inspecting processor upon a memory load request, then the inspecting processor can access the data, but significant performance loss occurs due to inefficient data movement and latency

Engineering Contradiction:
Improvedata access speedVSAvoidlatency in data movement
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system performs preliminary actions by having the consumer indicate intent to acquire the buffer before the actual data transfer occurs. The producer is notified of this intent and can prepare the data for transfer in advance. This preliminary coordination allows the data to be ready for immediate transfer when the consumer is actually ready, eliminating the latency of moving data before the consumer is prepared to receive it.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the consumer processor sends an indication of intent to the producer processor, and the producer responds by preparing the data. The system continuously monitors the readiness state of both producer and consumer, and only initiates data transfer when both parties are prepared. This feedback loop ensures data movement occurs at the optimal moment, reducing unnecessary latency.

Inventive Principle:
Principle #23Feedback

2Productivity

If the greedy algorithm moves the variable regardless of whether the original processor is still using the data, then the inspecting processor receives the data quickly, but overhead increases due to unnecessary data movement

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidownership control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically adjusts data movement based on the current state of the producer and consumer processors. Rather than following a fixed greedy algorithm, the system continuously evaluates whether the producer is still using the data and whether the consumer is ready to receive it. Ownership of the data is dynamically transferred only when appropriate, optimizing transfer efficiency while adapting to changing system conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback from both the producer and consumer to determine whether data transfer should occur. The consumer indicates intent to acquire, and the producer responds based on its current usage state. This feedback mechanism prevents unnecessary data movement while ensuring transfers occur when beneficial, improving productivity without excessive complexity.

Inventive Principle:
Principle #23Feedback

3Loss of time

If access to the buffer is delayed until all parties are prepared, then data movement efficiency is improved, but the coordination overhead increases

Engineering Contradiction:
Improvelatency in data movementVSAvoidcoordination mechanism complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system reduces coordination overhead by performing preliminary actions where the consumer indicates intent to acquire the buffer in advance. This early indication allows the producer to prepare the data without requiring complex real-time coordination. The preliminary intent indication simplifies the subsequent transfer process by establishing the transfer parameters beforehand.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The buffer itself acts as an intermediary that mediates the data transfer between producer and consumer. The buffer's state machine tracks the readiness of both parties and coordinates the transfer automatically. This intermediary mechanism simplifies the coordination complexity by centralizing the state management in the buffer rather than requiring complex communication protocols between producer and consumer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8949549B2Management of ownership control and data movement in shared-memory systems
Publication Date: 2015.02.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8949549B2 patent drawing
  • US8949549B2 patent drawing
  • US8949549B2 patent drawing

AI summary

A method to exchange data in a shared memory system includes the use of a buffer in communication with a producer processor and a consumer processor. The cache data is temporarily stored in the buffer. The method includes for the consumer and the producer to indicate intent to acquire ownership of the buffer. In response to the indication of intent, the producer, consumer, buffer are prepared for the access. If the consumer intends to acquire the buffer, the producer places the cache data into the buffer. If the producer intends to acquire the buffer, the consumer removes the cache data from the buffer. The access to the buffer, however, is delayed until the producer, consumer, and the buffer are prepared.