fi_rstream(7) | @VERSION@ | fi_rstream(7) |
fi_rstream - The Rstream Fabric Provider
The rstream provider supports stream messaging over message based RMA. It maps stream to message over a core RMA-based OFI provider. Only Endpoints and EQs are needed for connection start-up and messaging. Unlike other OFI providers, rstream does not support CQs or memory registration of any kind. In order to asynchronously wait for a completion (cm/msg), one can use fi_control on the endpoint/eq to get an fd to use in a poll call. For messaging completions, use FI_PEEK on send/recv after poll to see what type of transaction has transpired.
The rstream provider currently supports FI_MSG capabilities.
Endpoint capabilities : The following data transfer interface is supported: fi_msg.
The rstream provider is experimental and lacks performance validation and extensive testing. The iWarp protocol may need extra initialization work to re-enable. Currently the rstream provider is used to by the rsockets-OFI library as a ULP and hooks into the core provider verbs. It is not interoperable with the previous rsockets(v1) protocol. There are default settings that limit the message stream (provider memory region size and CQ size). These can be modified by fi_setopt.
The rstream provider settings can be modified via fi_setopt on the endpoint (FI_OPT_ENDPOINT) along with the following parameters:
The rstream provider has extended the current OFI API set in order to enable a user implementation of Poll. Specifically sendmsg(FI_PEEK) is supported which replicates the behavior of the recvmsg(FI_PEEK) feature.
fabric(7), fi_provider(7), fi_getinfo(3)
OpenFabrics.
2020-04-14 | Libfabric Programmer's Manual |