table of contents
fi_mrail(7) | Libfabric v1.7.2 | fi_mrail(7) |
NAME¶
fi_mrail - The Multi-Rail Utility Provider
OVERVIEW¶
The mrail provider (ofi_mrail) is an utility provider that layers over an underlying provider to enable the use of multiple network ports (rails). This increases the total available bandwidth of an underlying proivder. The current status of mrail provider is experimental - not all libfabric features are supported and performance is not guaranteed.
REQUIREMENTS¶
Requirements for underlying provider¶
mrail provider requires the underlying provider to support the following capabilities / modes:
- •
- Buffered receive (FI_BUFFERED_RECV)
- •
- FI_SOURCE
- •
- FI_AV_TABLE
Requirements for applications¶
Applications need to: * Support FI_MR_RAW MR mode bit to make use of FI_RMA capability. * Set FI_OFI_MRAIL_ADDR_STRC env variable (see RUNTIME PARAMETERS section below).
SUPPORTED FEATURES¶
- Endpoint types
- The provider supports only FI_EP_RDM.
- Endpoint capabilities
- The following data transfer interface is supported: FI_MSG, FI_TAGGED, FI_RMA.
- # LIMITATIONS
- Limitations of the underlying provider may show up as that of mrail provider.
mrail provider doesn't allow pass-through of any mode bits to the underlying provider.
Unsupported features¶
The following are the major libfabric features that are not supported. Any other feature not listed in "Supported features" can be assumed as unsupported.
- •
- FI_ATOMIC
- •
- Scalable endpoints
- •
- Shared contexts
- •
- FABRIC_DIRECT
- •
- Multicast
- •
- Triggered operations
FUNCTIONALITY OVERVIEW¶
For messages (FI_MSG, FI_TAGGED), the provider sends one message per rail in a round-robin manner. Ordering is guaranteed through the use of sequence numbers. For RMA, the data is striped equally across all rails.
RUNTIME PARAMETERS¶
The ofi_mrail provider checks for the following environment variables.
- FI_OFI_MRAIL_ADDR_STRC
- Comma delimited list of individual rail addresses in FI_ADDR_STR format.
SEE ALSO¶
fabric(7), fi_provider(7), fi_getinfo(3)
AUTHORS¶
OpenFabrics.
2018-12-27 | Libfabric Programmer's Manual |