Provided by: libfabric-dev_1.17.0-3ubuntu1_amd64 bug

NAME

       fi_sockets - The Sockets Fabric Provider

OVERVIEW

       The  sockets  provider is being deprecated in favor of the tcp, udp, and utility providers.  Further work
       on the sockets provider will be minimal.  Most applications should instead use the tcp provider instead.

       The sockets provider is a general purpose provider that can be used  on  any  system  that  supports  TCP
       sockets.   The provider is not intended to provide performance improvements over regular TCP sockets, but
       rather to allow developers to write, test, and debug application code even on platforms that do not  have
       high-performance  fabric hardware.  The sockets provider supports all libfabric provider requirements and
       interfaces.

SUPPORTED FEATURES

       The sockets provider supports all the features defined for the libfabric API.  Key features include:

       Endpoint types
              The provider supports all endpoint types: FI_EP_MSG, FI_EP_RDM, and FI_EP_DGRAM.

       Endpoint capabilities
              The  following  data  transfer  interface  is  supported  for  a  all  endpoint   types:   fi_msg.
              Additionally,  these  interfaces  are  supported for reliable endpoints (FI_EP_MSG and FI_EP_RDM):
              fi_tagged, fi_atomic, and fi_rma.

       Modes  The sockets provider supports all operational modes including FI_CONTEXT and FI_MSG_PREFIX.

       Progress
              Sockets provider supports both FI_PROGRESS_AUTO and FI_PROGRESS_MANUAL,  with  a  default  set  to
              auto.   When progress is set to auto, a background thread runs to ensure that progress is made for
              asynchronous requests.

LIMITATIONS

       Sockets provider attempts to emulate the entire API set, including all  defined  options.   In  order  to
       support  development  on  a  wide range of systems, it is implemented over TCP sockets.  As a result, the
       performance numbers are lower compared to other providers implemented over high-speed fabric,  and  lower
       than what an application might see implementing to sockets directly.

       Does not support FI_ADDR_STR address format.

RUNTIME PARAMETERS

       The sockets provider checks for the following environment variables -

       FI_SOCKETS_PE_WAITTIME
              An  integer  value  that  specifies  how  many  milliseconds to spin while waiting for progress in
              FI_PROGRESS_AUTO mode.

       FI_SOCKETS_CONN_TIMEOUT
              An integer value that specifies how many milliseconds to wait for one connection establishment.

       FI_SOCKETS_MAX_CONN_RETRY
              An integer value that specifies the number  of  socket  connection  retries  before  reporting  as
              failure.

       FI_SOCKETS_DEF_CONN_MAP_SZ
              An integer to specify the default connection map size.

       FI_SOCKETS_DEF_AV_SZ
              An integer to specify the default address vector size.

       FI_SOCKETS_DEF_CQ_SZ
              An integer to specify the default completion queue size.

       FI_SOCKETS_DEF_EQ_SZ
              An integer to specify the default event queue size.

       FI_SOCKETS_DGRAM_DROP_RATE
              An  integer  value  to specify the drop rate of dgram frame when endpoint is FI_EP_DGRAM.  This is
              for debugging purpose only.

       FI_SOCKETS_PE_AFFINITY
              If specified, progress thread is bound to the indicated range(s) of Linux virtual processor ID(s).
              This option is currently not supported on OS X.  The usage is - id_start[-id_end[:stride]][,].

       FI_SOCKETS_KEEPALIVE_ENABLE
              A boolean to enable the keepalive support.

       FI_SOCKETS_KEEPALIVE_TIME
              An  integer  to  specify  the idle time in seconds before sending the first keepalive probe.  Only
              relevant if FI_SOCKETS_KEEPALIVE_ENABLE is enabled.

       FI_SOCKETS_KEEPALIVE_INTVL
              An integer to specify the time in seconds between individual keepalive probes.  Only  relevant  if
              FI_SOCKETS_KEEPALIVE_ENABLE is enabled.

       FI_SOCKETS_KEEPALIVE_PROBES
              An  integer to specify the maximum number of keepalive probes sent before dropping the connection.
              Only relevant if FI_SOCKETS_KEEPALIVE_ENABLE is enabled.

       FI_SOCKETS_IFACE
              The prefix or the name of the network interface (default: any)

LARGE SCALE JOBS

       For large scale runs one can use these environment variables to set the default parameters  e.g. size  of
       the address vector(AV), completion queue (CQ), connection map etc.  that satisfies the requirement of the
       particular benchmark.  The recommended parameters for large  scale  runs  are  FI_SOCKETS_MAX_CONN_RETRY,
       FI_SOCKETS_DEF_CONN_MAP_SZ, FI_SOCKETS_DEF_AV_SZ, FI_SOCKETS_DEF_CQ_SZ, FI_SOCKETS_DEF_EQ_SZ.

SEE ALSO

       fabric(7), fi_provider(7), fi_getinfo(3)

AUTHORS

       OpenFabrics.