Context-Based Communication Isolation for Multi-Threaded Global Address Space Programs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional high performance computing architectures face challenges in communication performance due to destructive interference between threads in multi-threaded, shared memory programming models with a multi-node global address space, leading to resource contention and inefficient communication sequences.
Innovation Solution
Implementing a context-based communication approach that labels and isolates communication streams using an API, allowing for independent communication streams, eliminating thread interference, and enabling per-communication-stream ordering and out-of-order communications through contextualization and tracking of completion status.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a multi-threaded programming model with global address space is used, then processor utilization and communication capability are improved, but destructive interference between threads causes resource contention and communication performance degradation
Solution Approach 1:
The patent segments communication streams by assigning unique context identifiers to different threads or communication channels. Each context maintains separate communication state and ordering requirements, effectively dividing the shared communication infrastructure into isolated logical channels that prevent thread interference while maintaining high processor utilization.
2Adaptability or versatility
If traditional multi-threaded communication is implemented, then communication capability is improved, but resource contention leads to inefficient communication sequences and performance loss
Solution Approach 1:
The patent establishes communication ordering rules and context identifiers in advance before communication operations occur. By pre-defining the ordering requirements and context associations for each communication stream, the system eliminates runtime contention and sequencing delays, allowing efficient parallel communication operations without resource conflicts.
Data Source
AI summary
Systems, apparatuses and methods may provide for detecting an outbound communication and identifying a context of the outbound communication. Additionally, a completion status of the outbound communication may be tracked relative to the context. In one example, tracking the completion status includes incrementing a sent messages counter associated with the context in response to the outbound communication, detecting an acknowledgement of the outbound communication based on a network response to the outbound communication, incrementing a received acknowledgements counter associated with the context in response to the acknowledgement, comparing the sent messages counter to the received acknowledgements counter, and triggering a per-context memory ordering operation if the sent messages counter and the received acknowledgements counter have matching values.


