PCIe Non-Transparent Bridge Locking for Shared Hardware Resources
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing interconnected computer systems face inefficiencies in accessing shared single-access hardware resources due to unreliable remote writes and address translation issues in PCIe networks, particularly with Peterson's lock algorithm, which requires numerous remote operations and introduces latency.
Innovation Solution
Storing Flag variables locally to facilitate local writes and reads, reducing the number of remote operations and leveraging PCIe post-write read to enhance algorithm efficiency, thereby minimizing remote access and improving throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Peterson's lock algorithm is used with remote writes of flag variables in PCIe networks, then mutual exclusion is achieved, but latency increases and throughput decreases due to unreliable remote writes requiring confirmation reads
Solution Approach 1:
The patent introduces a non-transparent bridge as an intermediary component in the PCIe network that performs address translation and caching operations. This bridge mediates between the processes and the shared resource, enabling reliable flag variable writes without requiring confirmation reads, thus reducing latency while maintaining mutual exclusion reliability.
Solution Approach 2:
The non-transparent bridge creates a local copy/cache of the flag variables in its address space. Instead of requiring processes to perform remote reads to confirm writes, the bridge maintains copies of the flag variables that can be accessed efficiently, eliminating the need for confirmation reads and reducing access latency.
2Adaptability or versatility
If non-transparent bridge is introduced in PCIe network to enable address translation, then system flexibility is improved, but the number of remote operations increases and efficiency decreases
Solution Approach 1:
The non-transparent bridge acts as an intermediary that handles address translation locally, preventing the need for additional remote operations. By translating addresses within the bridge itself, the system maintains flexibility while avoiding the performance penalty of increased remote operations.
Solution Approach 2:
The non-transparent bridge performs address translation and flag variable management autonomously without requiring intervention from the processes or additional remote operations. This self-service capability maintains system flexibility while preserving access efficiency.
3Reliability
If flag variables are stored remotely to enable shared access control, then mutual exclusion is implemented, but the duty cycle of remote access increases and throughput decreases
Solution Approach 1:
The non-transparent bridge maintains local copies of the flag variables in its address space, allowing processes to access these copies locally rather than performing remote operations. This copying mechanism preserves access control reliability while dramatically reducing the duty cycle of remote access and increasing throughput.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An interconnected computer system includes a Peripheral Component Interconnect Express (PCIe) fabric, a first computer system communicatively coupled to the PCIe fabric, a second computer system communicatively coupled to the PCIe fabric, and a shared single-access hardware resource coupled to the PCIe fabric. The first computer system includes a first processor and first memory coupled to the first processor configured to store a first flag indicating a desire of the first computer system to access the shared single-access hardware resource and a turn variable indicating which of the first computer system and the second computer system has access to the shared single-access hardware resource. The second computer system includes a second processor and second memory coupled to the second processor configured to store a second flag indicating a desire of the second computer system to access the shared single-access hardware resource.