<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Calibri" size="2"><span style="font-size:11pt;">
<div>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.</div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"> </span></font></div>
<div>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. <b>2.0 aims to simplify</b><b> application and provider implementations</b><b>
long term</b><b>.</b></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"> </span></font></div>
<div>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. <b>2.0 should provide improved guidance on achieving performance </b><b>over</b><b> any provider.</b></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"> </span></font></div>
<div>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.</div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"> </span></font></div>
<div>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.
</div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"> </span></font></div>
<div>- Sean</div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"> </span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"> </span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9006"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/ofiwg/libfabric/issues/9006</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9007"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/9007</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9008"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/900</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>8</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9009"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/900</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>9</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9010"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/90</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>10</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9011"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/90</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>11</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9012"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/90</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>12</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9013"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/90</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>13</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9014"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/90</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>14</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9015"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/90</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>15</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9016"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/90</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>16</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9017"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/90</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>1</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>7</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9018"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/90</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>18</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9019"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/90</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>19</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"><a href="https://github.com/ofiwg/libfabric/issues/9020"><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>https://github.com/o</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>fiwg/libfabric/issues/90</u></span></font><font face="Calibri" size="2" color="#0563C1"><span style="font-size:11pt;"><u>20</u></span></font></a></span></font></div>
<div><font face="Courier New" size="2"><span style="font-size:10pt;"> </span></font></div>
</span></font>
</body>
</html>