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

_______________________________________________
ofiwg mailing list
[email protected]
https://lists.openfabrics.org/mailman/listinfo/ofiwg

Reply via email to