Multi-Fabric Progress Execution with Latency Prioritization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-fabric environments, combining different MPI devices with varying latency characteristics poses challenges in achieving optimal performance, as existing methods to accommodate latency differences are cumbersome and prone to unpredictable results.
Innovation Solution
A method that pragmatically truncates multi-fabric processes by prioritizing the fastest fabric, using fabric-specific progress modules, and strategically yielding the CPU to ensure predictable latency and bandwidth retention while adhering to MPI standards, allowing for efficient progress across all fabrics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If adaptive calling of fabric progress processes is used to accommodate latency differences, then performance can be optimized for specific message frequencies, but the system becomes cumbersome and produces unpredictable results
Solution Approach 1:
The patent changes the parameter of fabric progress process calling from adaptive (complex) to fixed ordered (simple). By establishing a predetermined calling order based on fabric latency characteristics and calling each fabric's progress process in that fixed sequence, the system achieves predictable performance without the complexity of adaptive adjustment mechanisms.
Solution Approach 2:
Instead of adaptively adjusting which fabrics to call based on current message frequencies (complex adaptive approach), the patent inverts the approach by using a fixed predetermined order based on latency characteristics. This inversion from adaptive to fixed simplifies the system while maintaining predictability.
2Productivity
If CPU yielding is used to allow other processes to proceed, then multiprocessing efficiency improves, but overall latency may increase due to context switching
Solution Approach 1:
The patent applies partial CPU yielding by yielding only after processing the fastest fabric and only when necessary to allow other processes to proceed. This partial action (yielding at specific points rather than continuously) maintains multiprocessing efficiency while minimizing the latency impact of context switching.
3Reliability
If all fabric progress processes are called equally, then all fabrics make progress, but the fastest fabric's latency advantage is lost and overall performance decreases
Solution Approach 1:
The patent applies local quality by treating different fabrics differently based on their latency characteristics. The fastest fabric is processed first with priority, ensuring its latency advantage is utilized, while slower fabrics are processed in the predetermined order. This differentiated approach maintains progress assurance for all fabrics while optimizing overall latency.
Data Source
AI summary
A process, system and device to generate an ordered list based on latency for an operation having many different fabric types. To execute the operation for a first fabric having least latency of other fabrics while progress is made executing the operation for the first fabric and to execute the operation for a second fabric if progress stalls in executing the first fabric. The first fabric has less execution latency than the second fabric.


