[ofiwg] libfabric 2.0 targeting 2024

Hefty, Sean sean.hefty at intel.com
Thu Jun 8 19:53:36 PDT 2023


Please forward to interested parties.  This is discussing breaking API compatibility, which may require updates to applications and providers.  However, be assured that there is focused attention on the impact changes will have on migrating from 1.x to 2.0, as well as the costs needed to support both versions.

libfabric is targeting its 20th major release at the end of this year.  This arbitrarily makes it a good time to evolve to API version 2.  A major theme for 2.0 is API streamlining.  2.0 aims to simplify application and provider implementations long term.

Overall, libfabric successfully defined a low-level network API that's implementation agnostic, yet meets the needs of high-performance applications.  But, the most common complaint against libfabric is that applications must deal directly with provider differences.  2.0 hopes to address this to some degree, while still allowing providers to support advanced communication features.  2.0 should provide improved guidance on achieving performance over any provider.

For the past few months, the ofiwg has held discussions on all aspects of the API, including application use cases.  Through this process, we identified potential changes, some of which would break compatibility if used by apps.  I have opened a series of github issues describing proposed changes in different areas of the API (see links below).  Most issues are small, but I wanted to track their discussions separately.  Note that all topics are open for discussion.  The community is particularly interested in feedback that identifies features in active use by applications.

For many or most users of libfabric, we anticipate that migrating 2.0 will require minimal changes.  As much as possible, the API and ABI will remain unchanged.  We will try to preserve function call signatures, data structure layouts, flag values, etc.  A goal is that an app which has migrated to 2.0 should easily work with a 1.x version of the library.  This assumes that the app is not using a new feature found only in 2.0, or has fallback code in place, similar to upgrading to any newer version of libfabric.

- Sean


https://github.com/ofiwg/libfabric/issues/9006
https://github.com/ofiwg/libfabric/issues/9007
https://github.com/ofiwg/libfabric/issues/9008
https://github.com/ofiwg/libfabric/issues/9009
https://github.com/ofiwg/libfabric/issues/9010
https://github.com/ofiwg/libfabric/issues/9011
https://github.com/ofiwg/libfabric/issues/9012
https://github.com/ofiwg/libfabric/issues/9013
https://github.com/ofiwg/libfabric/issues/9014
https://github.com/ofiwg/libfabric/issues/9015
https://github.com/ofiwg/libfabric/issues/9016
https://github.com/ofiwg/libfabric/issues/9017
https://github.com/ofiwg/libfabric/issues/9018
https://github.com/ofiwg/libfabric/issues/9019
https://github.com/ofiwg/libfabric/issues/9020

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofiwg/attachments/20230609/1a783a51/attachment.htm>


More information about the ofiwg mailing list