Memory Contention Detection in Replicated Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing systems with replicated shared memory across multiple interconnected computers, contention arises when multiple sources attempt to update memory locations simultaneously, leading to race conditions and inconsistencies due to transmission delays and latency in communications networks.
Innovation Solution
A method and system that associate verification data with memory updating messages, using an updating format including a specific identifier, content, and a resident updating count to detect and resolve contention by comparing counts and resolving conflicts based on sequence and resolution values, ensuring consistent updates across multiple computers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple computers simultaneously update replicated memory locations, then computing speed and productivity are improved, but contention and race conditions occur leading to data inconsistencies
Solution Approach 1:
The patent applies preliminary action by attaching verification data (sequence numbers and resolution values) to memory updating messages before transmission. This allows the receiving computer to detect potential contentions and resolve them proactively by comparing the verification data with locally stored values, preventing race conditions before they cause data inconsistencies.
Solution Approach 2:
The patent implements feedback mechanisms where receiving computers send acknowledgment messages back to transmitting computers after successfully updating memory locations. This feedback loop allows the system to track update successes and failures, enabling coordinated updates and resolving contentions through iterative communication until all computers agree on the final memory state.
2Measurement precision
If verification data is attached to every memory updating message, then contention detection accuracy is improved, but communication overhead and message complexity increase
Solution Approach 1:
The patent merges multiple verification functions into a single verification data structure that includes both sequence numbers and resolution values. This combined approach allows the receiving computer to perform multiple checks (sequence validation, resolution value comparison, and timestamp verification) within a single message processing operation, reducing the overall complexity compared to separate verification mechanisms.
Solution Approach 2:
The patent changes the parameters of the verification data by using sequence numbers that increment with each update and resolution values that track the most recent successful update. This parameter-based approach provides efficient contention detection without requiring complex message formats, as the verification data grows only as needed based on the update history.
Data Source
AI summary
A multiple computer system is disclosed in which n computers (M1, M2 . . . Mn) each run a different portion of a single application program written to execute only on a single computer. The local memory of each computer is maintained substantially the same by updating all computers with every change made to addressed memory locations. Contention can arise when the same memory location is substantially simultaneously updated by two or more machines because of transmission delays and latency of the communications network interconnecting all the computers. Contention detection and resolution is disclosed. A count value (99) indicative of the cumulative number of times each memory location has been updated is utilized. Contention is indicated if the currently stored count value and the incoming updating count value are the same. A method of echo suppression and a method of echo rejection are disclosed. In particular incrementing the count value by two in the case of consecutive sequential transmission to the same memory location (D) is disclosed.


