Shared Memory Message List for Concurrent Processor Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing systems, the increasing number of processors leads to longer scan times for shared memory, resulting in increased waiting times for message access and reduced availability due to prolonged locking of shared memory during scanning and garbage collection processes.

Innovation Solution

A method and system for posting and retrieving messages in a shared memory that allows multiple processors to scan and retrieve messages without exclusive access, using a message list with static and dynamic information repositories, attention masks, and pointers to manage message slots and their recipients, enabling concurrent access and reduced waiting times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If processors periodically scan shared memory for messages with exclusive locking, then message retrieval reliability is ensured, but shared memory availability decreases as processor count increases

Engineering Contradiction:
Improvemessage retrieval reliabilityVSAvoidshared memory availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the shared memory into multiple independent message lists, each accessible by specific processors. This segmentation allows different processors to scan different message lists simultaneously without requiring exclusive locks on the entire shared memory, thereby maintaining reliability while improving availability as processor count increases

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces message descriptors and message lists as intermediary structures between processors and shared memory. These intermediaries organize messages into structured formats with descriptors containing message metadata and lists organizing multiple descriptors, enabling efficient scanning and retrieval without requiring processors to directly lock the entire shared memory space

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the number of processors increases, then system computing power increases, but scan time for shared memory increases

Engineering Contradiction:
Improvesystem computing powerVSAvoidscan time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

By dividing the shared memory into multiple message lists that can be scanned in parallel by different processors, the total scan time is reduced proportionally to the number of processors utilized, allowing system computing power to scale without proportionally increasing scan time

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic scanning where processors scan message lists at regular intervals rather than continuously blocking access. This periodic action allows other processors to access shared memory between scan cycles, reducing overall scan time impact while maintaining message retrieval capability

Inventive Principle:
Principle #19Periodic action

3Stability of the object's composition

If exclusive locking is used during message scanning, then data consistency is maintained, but waiting time for message access increases

Engineering Contradiction:
Improvedata consistencyVSAvoidwaiting time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

Segmenting shared memory into multiple independent message lists allows processors to acquire locks on smaller, specific segments rather than the entire shared memory. This reduces lock contention and waiting time while maintaining data consistency within each segmented list through localized locking mechanisms

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses message descriptors that are preliminarily organized in message lists with metadata indicating message status, destination processors, and priority. This preliminary organization allows processors to quickly identify and retrieve relevant messages without scanning entire memory spaces, reducing waiting time while maintaining consistency through structured access patterns

Inventive Principle:
Principle #10Preliminary action

4Reliability

If garbage collection is performed by locking shared memory, then memory management reliability is ensured, but shared memory availability decreases

Engineering Contradiction:
Improvememory management reliabilityVSAvoidshared memory availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Garbage collection is performed on individual message lists or descriptor entries rather than locking the entire shared memory. This segmented approach allows processors to collect garbage in specific segments while other processors continue to access different segments, maintaining memory management reliability while preserving shared memory availability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements self-service garbage collection where processors automatically manage their own message list segments, detecting and collecting garbage messages without requiring centralized control or exclusive locks on the entire shared memory. This distributed self-service approach maintains reliability through local consistency while maximizing overall availability

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7870195B1Inter-processor messaging
Publication Date: 2011.01.11 EMC IP HLDG CO LLC
  • US7870195B1 patent drawing
  • US7870195B1 patent drawing
  • US7870195B1 patent drawing

AI summary

A data storage system in which a several processors communicate with each other includes a shared memory that is accessible to each of the processors. The shared memory has a message section having a message list made up of an ordered sequence of message slots in which processors leave message for each other. Each message slot includes a static-information repository for static information specifying all intended recipients of a message carried by the message slot as well as a dynamic-information repository for dynamic information specifying which of the intended recipients have already encountered the message slot.