Shared Memory Message List for Concurrent Processor Access
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Productivity
If the number of processors increases, then system computing power increases, but scan time for shared memory increases
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
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
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
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
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
4Reliability
If garbage collection is performed by locking shared memory, then memory management reliability is ensured, but shared memory availability decreases
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
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
Data Source
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.


