<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC8279 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8279.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8296 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8296.xml">
<!ENTITY RFC7761 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7761.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-bier-inc-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title>BIER and In Network Computing</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>HPE</organization>
      <address>
        <email>zhaohui.zhang@hpe.com</email>
      </address>
    </author>
    <author initials="T." surname="Przygienda" fullname="Tony Przygienda">
      <organization>HPE</organization>
      <address>
        <email>antoni.przygienda@hpe.com</email>
      </address>
    </author>
    <author initials="Z." surname="Zhang" fullname="Zheng Zhang">
      <organization>ZTE</organization>
      <address>
        <email>zhang.zheng@zte.com.cn</email>
      </address>
    </author>
    <author initials="X." surname="Xu" fullname="Xiaohu Xu">
      <organization>China Mobile</organization>
      <address>
        <email>xuxiaohu_ietf@hotmail.com</email>
      </address>
    </author>

    <date year="2026" month="November" day="02"/>

    <area>Routing</area>
    <workgroup>bier</workgroup>
    <keyword>bier, in network computing, in network collectives, inc</keyword>

    <abstract>


<t>In-Network-Computing/Collectives (INC) is an important element in Collective Communication
for AI/ML. A multicast tree is typically set up for broadcasting in the
forward direction and in-network computing/reduction in the reverse direction.
BIER is a multicast technology that removes explicit multicast trees,
and this document describes how INC can be done with BIER that does not
use pre-established multicast trees.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>In Collective Communication, a communicator defines a specific group of
processes/GPUs participating in a communication pattern, essentially
acting as a communication channel or context where all members must
act together (collectively) to perform operations like broadcasting,
gathering, or reducing data, ensuring synchronized data movement among them.</t>

<t>Each communicator can be mapped to an IP multicast group with a set of trees,
each of which rooted at a participant, used for broadcasting in the forward direction
and in-network computing/reduction in the reverse direction.</t>

<t>The trees can be set up by the PIM protocol <xref target="RFC7761"/> or other means.
However, tree setup/maintenance has long been considered a burden
and scaling/convergence limit, and BIER <xref target="RFC8279"/> removes the trees
while still providing efficient replication.</t>

<t>On the other hand, the pre-established tree is important for INC.
It allows a transit node to send its reduction result upstream
once it has received all downstream reduction results instead of
relying on a timer. A theoretical stateless reduction not using the
tree relies on a timer at each hop (because it does not know if all
downstream results have been received) introduces a fixed delay at
every hop.</t>

<t>Nonetheless, BIER can still be integrated with INC and provide
additional INC-specific benefits, as described below.</t>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

</section>
<section anchor="mode-of-operation"><name>Mode of Operation</name>

<t>Essentially, the forward direction broadcasting does not need
a pre-established explicit tree. BIER forwarding is used for that.
The tree for INC purposes is established data-driven when the first
packet traverses the network.</t>

<t>We first assume that each GPU is an edge BFR and allocated with a
BFR-ID.</t>

<section anchor="forward-direction"><name>Forward Direction</name>

<t>Packets associated with INC carry the Communicator ID in the entropy
field of the BIER header <xref target="RFC8296"/>. The (BFIR-ID, Entropy) tuple from the packet
uniquely identifies a (source, group) tree (INC-tree).</t>

<t>The BIFT-ID field indicates that additional INC-related handling is
needed, besides the regular BIER forwarding.</t>

<t>When an incoming BIER packet matches the INC-relevant BIFT (INC-BIFT),
the (BFIR-ID, Entropy) tuple is used to look up the corresponding
INC-tree. If it is found, packets are forwarded accordingly, with
necessary processing related to INC. Notice that this is different
from the bit-by-bit lookup with regular BIER forwarding.</t>

<t>If the tree is not found, it is created instantly on the node with
the following information:</t>

<t><list style="symbols">
  <t>upstream node and incoming bitstring</t>
  <t>downstream BFRs with their respective BFRs</t>
  <t>INC-specific information</t>
</list></t>

<t>The downstream information is built from the bit-by-bit lookup
for the regular BIER forwarding. The incoming bitstring
is not expected to change in the life of the communicator barring
routing changes.
For simplicity, considerations for routing changes are
deferred to <xref target="change"/>.</t>

</section>
<section anchor="reduction-direction"><name>Reduction Direction</name>

<t>Packets are also encoded in BIER. The BFIR-ID and Entropy field
are set according to the corresponding forward direction packets.
In particular, the BFIR-ID identifies the destination and
not the sender of the packet. The initial bitstring only
identifies the sender itself.</t>

<t>Another INC-BIFT ID is needed to indicate that this is for INC
in the reverse direction. The corresponding INC-tree is
identified from the (BFIR-ID, Entropy) tuple, and the
INC processing kicks in.</t>

<t>The INC state includes a bitstring that identifies all the
BFERs from which the reduction packet has been received.
It is the logical OR of the bitstring from all the corresponding
reduction packets. The reduction result is sent to the upstream
node when the bitstring matches the incoming bitstring saved
in the tree state, or when a timer fires. The bitstring is
encoded into the BIER header.</t>

<t>The BFIR can determine which BFER has not sent back the reduction
result based on the received bitstring - this is an additional benefit
provided by BIER.</t>

</section>
<section anchor="change"><name>Routing Changes</name>

<t>Naturally, routing changes happen because of link/node failure/recovery
and congestion situations (when adaptive routing is used).
When this happens, the INC tree state also changes. How that impacts
the reduction will be discussed in a future revision, but it may not
be much different from the existing tree-based multicast case.</t>

</section>
<section anchor="leaf-switches-as-edge-bfrs"><name>Leaf Switches as Edge BFRs</name>

<t>The above discussions assume that GPUs are edge BFRs. In a scaled
setup, it may be that the edge BFRs are leaf switches, not GPUs.
In this case, the leaf switch for the source of the reduction packets
needs to identify the BFIR-ID.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>To be added.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>No IANA action is needed.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors thank Duncan Roweth and David Hewson for their collaboration on this topic.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC8279;
&RFC2119;
&RFC8174;
&RFC8296;


    </references>

    <references title='Informative References'>

&RFC7761;


    </references>



  </back>

<!-- ##markdown-source:
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
4zcykhSnsiN+c40poOu/CDHglBgYAAA=

-->

</rfc>

