<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-calabria-bmwg-ai-fabric-terminology-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="AI Fabric Benchmarking Terminology">Benchmarking Terminology for AI Network Fabrics</title>
    <seriesInfo name="Internet-Draft" value="draft-calabria-bmwg-ai-fabric-terminology-02"/>
    <author initials="F." surname="Calabria" fullname="Fernando Calabria">
      <organization>Cisco</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>fcalabri@cisco.com</email>
      </address>
    </author>
    <author initials="C." surname="Pignataro" fullname="Carlos Pignataro">
      <organization>Blue Fern Consulting</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>carlos@bluefern.consulting</email>
      </address>
    </author>
    <author initials="Q." surname="Wu" fullname="Qin Wu">
      <organization>Huawei</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>bill.wu@huawei.com</email>
      </address>
    </author>
    <author initials="G." surname="Fioccola" fullname="Giuseppe Fioccola">
      <organization>Huawei</organization>
      <address>
        <postal>
          <country>Italy</country>
        </postal>
        <email>giuseppe.fioccola@huawei.com</email>
      </address>
    </author>
    <author initials="S." surname="Reddy" fullname="Sowjanya Reddy">
      <organization>Apple</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>sowjredd@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="June" day="04"/>
    <area>Operations and Management</area>
    <workgroup>BMWG</workgroup>
    <keyword>benchmarking</keyword>
    <keyword>terminology</keyword>
    <keyword>AI training</keyword>
    <keyword>AI inference</keyword>
    <keyword>network fabric</keyword>
    <keyword>RDMA</keyword>
    <keyword>RoCEv2</keyword>
    <keyword>UET</keyword>
    <keyword>collective communication</keyword>
    <keyword>AllReduce</keyword>
    <keyword>JCT</keyword>
    <keyword>TTFT</keyword>
    <keyword>KV cache</keyword>
    <abstract>
      <?line 90?>

<t>This document defines benchmarking terminology for evaluating
Ethernet-based network fabrics used in distributed Artificial
Intelligence (AI) training and inference workloads. It provides a
unified vocabulary consolidating and extending terms from
"Benchmarking Terminology for Network Interconnect Devices" <xref target="RFC1242"/>
and "Data Center Benchmarking Terminology" <xref target="RFC8238"/>, and the
companion AI fabric methodology documents,
establishing precise, vendor-neutral definitions for collective
communication primitives, RDMA transport mechanisms (RoCEv2 and Ultra
Ethernet Transport), congestion control behaviors, AI-specific Key
Performance Indicators (KPIs), and fabric topology concepts.</t>
      <t>This document is a companion to the AI training fabric benchmarking
methodology <xref target="I-D.calabria-bmwg-ai-fabric-training-bench"/> and the
AI inference fabric benchmarking methodology
<xref target="I-D.calabria-bmwg-ai-fabric-inference-bench"/>. Those documents
<bcp14>SHOULD NOT</bcp14> be applied without first consulting the terminology defined
herein. Where definitions herein overlap with the foundational
benchmarking terminology in <xref target="RFC1242"/> or <xref target="RFC8238"/>, this
document provides AI fabric context extensions and refinements;
the foundational definitions in those RFCs remain authoritative
for general network benchmarking.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://fcalabri.github.io/bmwg-ai-fabric-terminology/draft-calabria-bmwg-ai-fabric-terminology.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-calabria-bmwg-ai-fabric-terminology/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/fcalabri/bmwg-ai-fabric-terminology"/>.</t>
    </note>
  </front>
  <middle>
    <?line 116?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
        <?line -18?>

</section>
      <section anchor="scope-and-purpose">
        <name>Scope and Purpose</name>
        <t>This document defines terminology specifically for benchmarking
Ethernet-based AI network fabrics in controlled laboratory
environments. The defined terms cover:
distributed AI training collective communication patterns, LLM
inference serving architectures, RDMA transport semantics (RoCEv2
and UET), congestion control mechanisms, fabric topology
characteristics, and performance metric definitions.</t>
        <t>This document does not define acceptance criteria, performance
requirements, or configuration recommendations. It does not address
benchmarking of live operational networks, intra-node (NVLink/PCIe)
interconnects, or storage networking.</t>
      </section>
      <section anchor="relationship-to-existing-bmwg-work">
        <name>Relationship to Existing BMWG Work</name>
        <t>This document extends the foundational BMWG terminology established
in <xref target="RFC1242"/> (network interconnect benchmarking terminology) and
<xref target="RFC8238"/> (data center benchmarking terminology). Where terms are
defined in those RFCs, this document provides AI fabric context
extensions; the core definitions remain as established. This document
also extends the test methodology framework of <xref target="RFC2544"/> and
<xref target="RFC8239"/> as applied in the companion AI fabric methodology
documents.</t>
      </section>
      <section anchor="relationship-to-companion-documents">
        <name>Relationship to Companion Documents</name>
        <t>This document is one of three companion Internet-Drafts addressing AI
fabric benchmarking:</t>
        <ul spacing="normal">
          <li>
            <t><xref target="I-D.calabria-bmwg-ai-fabric-terminology"/> (this document): Terminology
definitions.</t>
          </li>
          <li>
            <t><xref target="I-D.calabria-bmwg-ai-fabric-training-bench"/>: Benchmarking methodology for AI training
workloads.</t>
          </li>
          <li>
            <t><xref target="I-D.calabria-bmwg-ai-fabric-inference-bench"/>: Benchmarking methodology for AI inference
serving workloads.</t>
          </li>
        </ul>
        <t>Implementers and evaluators <bcp14>SHOULD</bcp14> read this terminology document
before applying the companion methodology documents. Terms defined
here are used normatively in those documents and are not redefined
there unless the specific workload context introduces a substantive
difference, which is noted explicitly.</t>
      </section>
    </section>
    <section anchor="general-benchmarking-terms">
      <name>General Benchmarking Terms</name>
      <t>The following terms establish the general measurement framework
applicable to all AI fabric benchmarking activities.</t>
      <table anchor="tab-gen-bench">
        <name>General Benchmarking Terms</name>
        <thead>
          <tr>
            <th align="left">Term</th>
            <th align="left">Definition</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>AI Fabric</strong></td>
            <td align="left">The dedicated Ethernet backend network interconnecting accelerators (GPUs/XPUs) for distributed AI training and inference workloads. Typically implemented as a non-blocking Clos (fat-tree) topology running RoCEv2 or UET transport. Distinct from the front-end (management/storage) network.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>DUT</strong></td>
            <td align="left">Device Under Test. The network element(s) whose performance characteristics are being measured. In AI fabric benchmarking the DUT is one or more fabric elements: leaf switches, spine switches, NICs, or the complete fabric assembly.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>SUT</strong></td>
            <td align="left">System Under Test. The complete AI compute system including accelerators, NICs, the fabric DUT, and serving/training software, when end-to-end metrics are the measurement objective.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>RT</strong></td>
            <td align="left">Router Tester / Traffic Generator. Test equipment capable of generating and receiving network traffic at specified rates with nanosecond-resolution timestamping sufficient for the measurements defined in the companion methodology documents.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>JFI</strong></td>
            <td align="left">Fairness Index. A scalar measure of flow-level throughput fairness across n flows <xref target="Jain1984"/>: <tt>JFI = (Σxᵢ)² / (n · Σxᵢ²)</tt> where xᵢ is the throughput of flow i. A value of 1.0 indicates perfect fairness; lower values indicate disparity. <strong><bcp14>SHOULD</bcp14></strong> be reported alongside throughput measurements for all multi-flow AI fabric tests.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Offered Load</strong></td>
            <td align="left">The total traffic rate presented to the DUT from test equipment, expressed as a fraction of line rate (0–100%) or as absolute bit/s. Offered load is controlled independently of DUT absorption, enabling characterization of saturation behavior.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Trial Duration</strong></td>
            <td align="left">The time interval over which a single measurement is conducted. For AI fabric tests, the <strong><bcp14>RECOMMENDED</bcp14></strong> minimum is 60 seconds for throughput tests and 300 seconds for soak/stability tests, per the methodology in <xref target="RFC2544"/> as extended herein.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Warmup Period</strong></td>
            <td align="left">A mandatory pre-measurement interval during which traffic is sent but results are not recorded. Ensures adaptive routing tables, PFC watermarks, and DCQCN/UET congestion controllers reach steady state before measurement begins. <strong><bcp14>RECOMMENDED</bcp14></strong> minimum: 10 seconds.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Binary Search</strong></td>
            <td align="left">An iterative test procedure for determining the maximum offered load at which a DUT meets a specified acceptance criterion (e.g., zero packet loss). The search halves the candidate load range at each iteration, converging to a resolution of 0.1% offered load within 10 iterations.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Percentile Latency</strong></td>
            <td align="left">A latency statistic expressing that the specified fraction of all measured latency samples fall at or below the reported value. Denoted Pxx (e.g., P50, P95, P99, P99.9). Tail latency (P99 and above) is especially relevant for AI fabric benchmarking because SLO violations are determined by worst-case, not median, performance.</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="collective-communication-terms">
      <name>Collective Communication Terms</name>
      <t>The following terms define the collective communication operations that
are the primary traffic sources in distributed AI workloads.</t>
      <table anchor="tab-collect-comm">
        <name>Collective Communication Terms</name>
        <thead>
          <tr>
            <th align="left">Term</th>
            <th align="left">Definition</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>Collective Operation</strong></td>
            <td align="left">A coordinated communication pattern executed simultaneously across all accelerators in a training or inference group. Core collectives: AllReduce (gradient aggregation), AllGather (parameter distribution), ReduceScatter (partial reduction + scatter), and AllToAll (expert dispatch in MoE models).</td>
          </tr>
          <tr>
            <td align="left">
              <strong>AllReduce</strong></td>
            <td align="left">A collective in which each participant contributes a tensor and all participants receive the element-wise sum (or other reduction) of all contributions. The dominant communication primitive in data-parallel and tensor-parallel training. BusBW is the primary KPI.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>AllGather</strong></td>
            <td align="left">A collective in which each participant contributes a shard of a tensor and all participants receive the concatenation of all shards. Used in tensor-parallel (Megatron-style) layers to reconstruct distributed activations or parameters.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>ReduceScatter</strong></td>
            <td align="left">A collective combining an element-wise reduction with a scatter, so each participant receives a distinct slice of the reduced result. Used in ZeRO-stage optimizer strategies and as the first half of a ring-AllReduce.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>AllToAll</strong></td>
            <td align="left">A collective in which each participant sends a distinct payload to every other participant and receives a distinct payload from every other participant. The critical collective for Mixture-of-Experts token dispatch. Generates N(N−1) independent point-to-point flows for N participants.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Ring Algorithm</strong></td>
            <td align="left">An AllReduce (or AllGather/ReduceScatter) algorithm structured as a logical ring of participants. Each participant sends to its right neighbor and receives from its left neighbor in 2(N−1) steps. Bus bandwidth efficiency = 2(N−1)/N, approaching 100% for large N. Standard baseline for BusBW calculation.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>BusBW</strong></td>
            <td align="left">The effective data throughput per accelerator during a collective operation, computed as:<br/><br/>BusBW = (data_size × algo_factor) / time<br/><br/>algo_factor is a fixed normalization constant derived from the ideal ring algorithm for each collective type, applied regardless of the algorithm actually selected by the collective library at runtime. This makes BusBW algorithm-invariant: the same hardware moving the same data volume in the same time yields the same BusBW whether the library selects ring, tree, or recursive doubling. The algo_factor calculation <bcp14>MUST</bcp14> conform to the formula specified here.<br/><br/>Collective       algo_factor<br/>AllReduce        2 × (n−1) / n<br/>AllGather        (n−1) / n<br/>ReduceScatter    (n−1) / n<br/>AllToAll         (n−1) / n<br/><br/>n = number of participating accelerators.<br/><br/>Worked example — AllReduce, n=8, data_size=1 GB, time=10 ms:<br/>algo_factor = 2 × (8−1) / 8 = 1.75<br/>BusBW = (1 GB × 1.75) / 10 ms = 175 GB/s<br/><br/>Reports <bcp14>MUST</bcp14> state: collective type, algo_factor value, collective library name and version, and n. The algorithm actually selected by the library <bcp14>SHOULD</bcp14> be reported as diagnostic information when known. Units: GB/s or Gbps; reports <bcp14>MUST</bcp14> state which.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>CCL</strong></td>
            <td align="left">Collective Communication Library. A software library providing optimized implementations of collective operations (AllReduce, AllGather, etc.) over a specific transport. The CCL implementation <strong><bcp14>MUST</bcp14></strong> be documented in the test report.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>SPMD</strong></td>
            <td align="left">Single Program Multiple Data. The execution model underlying bulk-synchronous distributed training, in which all accelerators execute identical computation on distinct data partitions, synchronizing at collective barriers between steps.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Bulk Synchronous Parallel (BSP)</strong></td>
            <td align="left">A distributed computation model structured as alternating compute and communicate phases with a global synchronization barrier between phases. Standard training workloads follow BSP: forward pass → backward pass → AllReduce gradient sync → optimizer step.</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="distributed-parallelism-strategy-terms">
      <name>Distributed Parallelism Strategy Terms</name>
      <t>The following terms define the parallelism strategies used in
distributed AI model training and inference, which determine traffic
patterns and fabric requirements.</t>
      <table anchor="tab-distri-parallel">
        <name>Distributed Parallelism Strategy Terms</name>
        <thead>
          <tr>
            <th align="left">Term</th>
            <th align="left">Definition</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>Data Parallelism (DP)</strong></td>
            <td align="left">A distributed training strategy replicating the full model on each accelerator, partitioning the training dataset across replicas. Gradient synchronization after each backward pass requires an AllReduce across all DP ranks. Memory-efficient for small models; communication overhead scales with parameter count.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Tensor Parallelism (TP)</strong></td>
            <td align="left">A distributed training and inference strategy partitioning individual weight matrices across multiple accelerators. Each rank computes a partial result; AllGather or ReduceScatter collectives are required within each layer to aggregate results. Dominant parallelism within a node (intra-node).</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Pipeline Parallelism (PP)</strong></td>
            <td align="left">A distributed strategy assigning contiguous groups of transformer layers to distinct stages (accelerators or nodes). Each stage processes one microbatch and forwards activations to the next stage. Generates point-to-point inter-stage traffic across the fabric (activations and gradients).</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Expert Parallelism (EP)</strong></td>
            <td align="left">A parallelism strategy for Mixture-of-Experts models distributing expert sub-networks across accelerators. Each token is routed to its designated experts (typically top-K of E total experts), requiring AllToAll communication for dispatch. Wide EP (e.g., 96-way) generates dense inter-node AllToAll at every MoE layer.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>MoE</strong></td>
            <td align="left">Mixture of Experts. A transformer architecture replacing dense feed-forward layers with a set of E expert sub-networks, of which only top-K experts (typically K=2 or K=4) are activated per token via a learned router. MoE enables large model capacity with sub-linear compute, but introduces AllToAll communication requirements proportional to E and sequence length.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>DP Attention</strong></td>
            <td align="left">Data Parallelism applied to the attention computation, where the KV cache is partitioned across data-parallel ranks. Each rank holds 1/DP_SIZE of the KV cache; AllToAll communication exchanges attention outputs. Used in inference to reduce per-accelerator memory footprint for long contexts.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>ZeRO</strong></td>
            <td align="left">Zero Redundancy Optimizer. A memory optimization strategy for data-parallel training that shards model states (parameters, gradients, optimizer states) across DP ranks instead of replicating them. Stage 1 shards optimizer states; Stage 2 adds gradient sharding; Stage 3 adds parameter sharding. Each stage increases AllGather/ReduceScatter communication.</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="network-transport-terms">
      <name>Network Transport Terms</name>
      <section anchor="rocev2-and-rdma-terms">
        <name>RoCEv2 and RDMA Terms</name>
        <t>The following terms define RDMA and RoCEv2 transport semantics as
used in AI fabric benchmarking. UET, PDC, and ROD are included here
for direct comparison with their RoCEv2 counterparts; full UET-specific
terms are defined in Section 5.2.</t>
        <table anchor="tab-rocev2">
          <name>RoCEv2 and RDMA Terms</name>
          <thead>
            <tr>
              <th align="left">Term</th>
              <th align="left">Definition</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <strong>RDMA</strong></td>
              <td align="left">Remote Direct Memory Access. A transport mechanism enabling direct memory-to-memory data transfer between hosts without involving the destination CPU, providing zero-copy semantics and kernel bypass. Implementations include InfiniBand Verbs (native IB), iWARP (RDMA over TCP), and RoCEv2 (RDMA over Converged Ethernet v2).</td>
            </tr>
            <tr>
              <td align="left">
                <strong>RoCEv2</strong></td>
              <td align="left">RDMA over Converged Ethernet version 2. An RDMA transport encapsulating InfiniBand transport layer (BTH) over UDP/IP, enabling RDMA semantics on standard Ethernet infrastructure. Requires lossless fabric operation (PFC or equivalent) for correctness. Standardized in IBTA InfiniBand Architecture Volume 1, Annex A17 (RoCEv2, September 2014) <xref target="IBTA-ROCE"/>; transported over UDP destination port 4791.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>QP</strong></td>
              <td align="left">Queue Pair. The fundamental RDMA communication endpoint comprising a Send Queue (SQ) and Receive Queue (RQ). QPs are connection-oriented in Reliable Connected (RC) mode. Multiple QPs per source-destination pair are used to increase ECMP entropy in fabric load balancing.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>Reliable Connected (RC)</strong></td>
              <td align="left">An RDMA QP transport service type providing reliable, in-order delivery between exactly two endpoints. The primary QP type for AI collective operations via RoCEv2. Requires connection setup before data transfer and maintains per-QP state for retransmission.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>RDMA Verb</strong></td>
              <td align="left">An operation primitive of the RDMA programming model. Key verbs: SEND/RECV (two-sided, receiver must post a buffer), WRITE (one-sided, target memory written directly), READ (one-sided, remote memory read), and Atomic (compare-and-swap, fetch-and-add). AI collectives predominantly use WRITE and SEND.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>UET</strong></td>
              <td align="left">Ultra Ethernet Transport. A transport protocol defined by the Ultra Ethernet Consortium (UEC) Specification 1.0 as a next-generation AI/HPC fabric transport. UET is connectionless, supports native packet spraying (RUD), and integrates multipath load balancing and congestion control. Transported over UDP destination port 4793 (pending IANA verification).</td>
            </tr>
            <tr>
              <td align="left">
                <strong>PDC</strong></td>
              <td align="left">Packet Delivery Context. The ephemeral, lightweight transport endpoint in UET, analogous to but distinct from an RDMA Queue Pair. PDCs are connectionless (no setup handshake), enabling low-latency initiation and reduced per-flow state in the NIC and switch.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>ROD</strong></td>
              <td align="left">Reliable Ordered Delivery. A UET transport service providing reliable, in-order packet delivery, semantically equivalent to RoCEv2 RC mode. Suitable for legacy RDMA applications requiring strict ordering guarantees.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="ultra-ethernet-transport-uet-terms">
        <name>Ultra Ethernet Transport (UET) Terms</name>
        <t>The following terms define UET-specific concepts introduced by the
Ultra Ethernet Consortium (UEC) Specification 1.0
<xref target="UEC-1.0"/>.</t>
        <table anchor="tab-uet">
          <name>Ultra Ethernet Transport (UET) Terms</name>
          <thead>
            <tr>
              <th align="left">Term</th>
              <th align="left">Definition</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <strong>RUD</strong></td>
              <td align="left">Reliable Unordered Delivery. A UET transport service providing reliable delivery without maintaining packet order across paths. Enables native packet spraying across ECMP paths without reorder-buffer overhead at the receiver NIC. The preferred UET service class for AI training collectives.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>RUDI</strong></td>
              <td align="left">Reliable Unordered Delivery for Idempotent operations. A UET transport service optimized for operations safe to execute more than once (e.g., RDMA Writes to non-accumulating targets), allowing simplified retransmission logic with reduced state overhead.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>UUD</strong></td>
              <td align="left">Unreliable Unordered Delivery. A UET transport service providing best-effort, unordered packet delivery with minimal overhead. Suitable for telemetry, speculative operations, or workloads with application-layer loss tolerance.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>UEC Profile</strong></td>
              <td align="left">A defined subset of UET features targeting a specific use case: AI Base (core AI training/inference, mandatory feature set), AI Full (AI Base plus deferred send, exact-match tagging, extended atomics), or HPC (latency-optimized for traditional HPC workloads with fine-grained synchronization).</td>
            </tr>
            <tr>
              <td align="left">
                <strong>LLR</strong></td>
              <td align="left">Link Layer Retry. An optional UEC link-layer enhancement providing fast per-hop error recovery at the Ethernet link layer. LLR detects symbol errors at the FEC level and retransmits the affected frame before it is dropped, reducing the frequency of transport-layer retransmission and improving tail latency.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>Packet Trimming</strong></td>
              <td align="left">An optional UEC link-layer behavior in which a congested switch, rather than dropping the full packet, transmits only the packet header (trimmed packet) to the receiver. Trimming enables the receiver to detect loss and initiate selective retransmission more rapidly, reducing bandwidth waste versus silent drop.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>CBFC</strong></td>
              <td align="left">Credit-Based Flow Control. An optional UEC link-layer buffer management mechanism using explicit credit grants from downstream to upstream devices. CBFC provides backpressure without transmitting PFC PAUSE frames, eliminating the head-of-line blocking and storm propagation risks associated with PFC.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>Entropy Value</strong></td>
              <td align="left">A per-packet field in the UET header used to distribute packets of a single message across available ECMP paths, providing explicit spray entropy independent of the IP 5-tuple. Enables hardware-assisted packet spraying without requiring transport-layer state in the switch.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>GIN</strong></td>
              <td align="left">GPU-Initiated Networking. A communication paradigm in which GPU threads directly initiate network RDMA operations (sends, one-sided writes/reads) to the NIC hardware without CPU involvement, eliminating the CPU-GPU synchronization round-trip. Reduces effective latency by several microseconds for fine-grained operations.</td>
            </tr>
            <tr>
              <td align="left">
                <strong>KVCXL</strong></td>
              <td align="left">KV Cache Transfer Library. A software library providing standardized point-to-point data transfer primitives (register, transfer, notify) for inference engines, abstracting underlying transport mechanisms (intra-node interconnect, RDMA, PCIe, storage interfaces). Enables transport-agnostic KV cache migration in disaggregated serving architectures.</td>
            </tr>
          </tbody>
        </table>
        <section anchor="uet-transport-services-comparison">
          <name>UET Transport Services Comparison</name>
          <table anchor="tab-uet-compare">
            <name>UET Transport Services Comparison</name>
            <thead>
              <tr>
                <th align="left">Service</th>
                <th align="left">Ordered</th>
                <th align="left">Reliable</th>
                <th align="left">Retransmission Complexity</th>
                <th align="left">Primary Use Case</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <strong>ROD</strong></td>
                <td align="left">Yes</td>
                <td align="left">Yes</td>
                <td align="left">Full per-QP state</td>
                <td align="left">Legacy RDMA / ordered AI ops</td>
              </tr>
              <tr>
                <td align="left">
                  <strong>RUD</strong></td>
                <td align="left">No</td>
                <td align="left">Yes</td>
                <td align="left">Reduced (unordered)</td>
                <td align="left">AI training collectives with spray</td>
              </tr>
              <tr>
                <td align="left">
                  <strong>RUDI</strong></td>
                <td align="left">No</td>
                <td align="left">Yes</td>
                <td align="left">Minimal (idempotent)</td>
                <td align="left">RDMA Writes; simple retransmit</td>
              </tr>
              <tr>
                <td align="left">
                  <strong>UUD</strong></td>
                <td align="left">No</td>
                <td align="left">No</td>
                <td align="left">None</td>
                <td align="left">Telemetry, speculative ops</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
    <section anchor="congestion-control-and-fabric-behavior-terms">
      <name>Congestion Control and Fabric Behavior Terms</name>
      <t>The following terms define congestion management mechanisms and
associated fabric behaviors critical to AI workload performance.</t>
      <table anchor="tab-congest-control">
        <name>Congestion Control and Fabric Behavior Terms</name>
        <thead>
          <tr>
            <th align="left">Term</th>
            <th align="left">Definition</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>PFC</strong></td>
            <td align="left">Priority Flow Control (IEEE 802.1Qbb). A lossless Ethernet mechanism in which a receiver transmits a PAUSE frame to its upstream neighbor on a specific priority class when its ingress buffer approaches a configured threshold, temporarily halting transmission of that priority. Required for lossless RoCEv2 operation. PFC operates hop-by-hop and can propagate congestion upstream (PFC storm risk).</td>
          </tr>
          <tr>
            <td align="left">
              <strong>PFC Storm</strong></td>
            <td align="left">A pathological condition in which PFC PAUSE frames propagate across multiple hops, causing widespread throughput degradation or deadlock unrelated to the original congestion source. Detection and mitigation <strong><bcp14>SHOULD</bcp14></strong> be part of soak test evaluation per the companion methodology documents.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>PFC Deadlock</strong></td>
            <td align="left">A circular PFC dependency in which sets of flows mutually pause each other indefinitely, resulting in zero progress for affected traffic classes. Deadlock risk is elevated in non-tree topologies and <strong><bcp14>MUST</bcp14></strong> be evaluated in fabric-level soak tests.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>ECN</strong></td>
            <td align="left">Explicit Congestion Notification (<xref target="RFC3168"/>). An IP-layer mechanism in which a congested router marks packets with the Congestion Experienced (CE) codepoint in the IP ECN field instead of dropping them. The receiver echoes congestion feedback to the sender via the transport protocol, triggering rate reduction. Used with RoCEv2 as part of DCQCN.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>DCQCN</strong></td>
            <td align="left">Data Center Quantized Congestion Notification. An end-to-end congestion control algorithm for RoCEv2 flows, combining ECN marking at congested switches with rate-based sender reduction using an AIMD scheme. Note: PFC serves as a separate, orthogonal backstop to prevent packet loss during DCQCN convergence; PFC is <strong>not</strong> a component of the DCQCN algorithm itself.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>ECN Marking Ratio</strong></td>
            <td align="left">The fraction of packets (expressed as a percentage) that are marked with the CE codepoint in the IP ECN field over a measurement interval. A high ECN Marking Ratio indicates persistent congestion and is a primary Fabric Health Indicator.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Incast</strong></td>
            <td align="left">A traffic pattern in which multiple sources simultaneously send to a single destination, potentially overwhelming the destination's NIC receive buffer and the switch's egress port buffer. Incast is a dominant congestion mechanism in AllReduce and collective operations.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Incast Ratio</strong></td>
            <td align="left">The ratio of concurrent senders to receivers in an incast communication pattern (N:1). The incast ratio determines the oversubscription factor at the destination port and is a primary test parameter for congestion characterization.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Packet Spray</strong></td>
            <td align="left">A load balancing strategy distributing individual packets of a single RDMA message across all available ECMP paths, maximizing link utilization at the cost of potential out-of-order delivery at the receiver. Native in UET (RUD mode); requires NIC reorder buffering for RoCEv2 RC mode.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>DLB / Flowlet</strong></td>
            <td align="left">Dynamic Load Balancing using flowlet detection. A per-flow rerouting mechanism that reassigns a flow to a new ECMP path when the flow has been idle longer than the flowlet gap threshold (typically 500 ns–2 µs), reducing out-of-order packet risk compared to packet spray while improving utilization over static per-flow ECMP.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>ECMP</strong></td>
            <td align="left">Equal-Cost Multi-Path routing. A forwarding mechanism distributing traffic across multiple equal-cost paths, typically via hash of the IP 5-tuple (or entropy field in UET). ECMP imbalance (MMR &gt; 1.0) is a primary fabric efficiency metric for AI traffic.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>MMR</strong></td>
            <td align="left">Max-Mean Ratio. The ratio of the flow count (or traffic load) on the most heavily utilized link to the average flow count per link across all fabric links. MMR = 1.0 indicates perfect ECMP balance; MMR &gt; 1.0 quantifies imbalance that degrades effective fabric bandwidth.</td>
          </tr>
        </tbody>
      </table>
      <section anchor="load-balancing-strategy-comparison">
        <name>Load Balancing Strategy Comparison</name>
        <table anchor="tab-load-balance">
          <name>Load Balancing Strategy Comparison</name>
          <thead>
            <tr>
              <th align="left">Strategy</th>
              <th align="left">Granularity</th>
              <th align="left">Reorder Risk</th>
              <th align="left">Utilization</th>
              <th align="left">Complexity</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <strong>ECMP (5-tuple hash)</strong></td>
              <td align="left">Per-flow</td>
              <td align="left">None</td>
              <td align="left">Low (elephant flow bias)</td>
              <td align="left">Low</td>
            </tr>
            <tr>
              <td align="left">
                <strong>DLB / Flowlet</strong></td>
              <td align="left">Per-flowlet</td>
              <td align="left">Low</td>
              <td align="left">Medium</td>
              <td align="left">Medium</td>
            </tr>
            <tr>
              <td align="left">
                <strong>Packet Spray (RoCEv2)</strong></td>
              <td align="left">Per-packet</td>
              <td align="left">High</td>
              <td align="left">High</td>
              <td align="left">High (NIC reorder buffer)</td>
            </tr>
            <tr>
              <td align="left">
                <strong>Packet Spray (UET RUD)</strong></td>
              <td align="left">Per-packet</td>
              <td align="left">None (transport tolerates OOO)</td>
              <td align="left">High</td>
              <td align="left">Low</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="fabric-topology-and-infrastructure-terms">
      <name>Fabric Topology and Infrastructure Terms</name>
      <t>The following terms define fabric topology architectures and
infrastructure components referenced in the companion methodology
documents.</t>
      <table anchor="tab-fabric-topo">
        <name>Fabric Topology and Infrastructure Terms</name>
        <thead>
          <tr>
            <th align="left">Term</th>
            <th align="left">Definition</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>Fabric DUT Boundary</strong></td>
            <td align="left">The precise measurement boundary for BMWG AI fabric benchmarks. Defined as the NIC Ethernet port (transmit side at source, receive side at destination). All benchmarked metrics (throughput, latency, loss, congestion) are measured at or between NIC Ethernet ports. Intra-node segments (NVLink, PCIe Gen4/5, CXL) are outside the DUT boundary and <bcp14>MUST NOT</bcp14> be included in fabric benchmark results without explicit labelling as a separate measurement component.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Intra-Node Transfer Overhead</strong></td>
            <td align="left">The latency and bandwidth consumed by data movement within a single server node: specifically, the GPU-to-NIC path via PCIe or CXL, and GPU-to-GPU communication via NVLink. Intra-node transfer overhead is a contextual measurement reported alongside fabric benchmarks in end-to-end decomposition tests but is not itself the benchmarked entity in any test in this document</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Clos / Fat-Tree Topology</strong></td>
            <td align="left">A multi-stage switch topology providing non-blocking or oversubscribed connectivity between all leaf-to-leaf pairs. In AI fabric deployments, a two-tier (leaf-spine) or three-tier (leaf-spine-superspine) Clos is standard. Full bisection bandwidth (1:1) is the target for training fabrics; 2:1 or 4:1 oversubscription may be acceptable for inference fabrics.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Rail-Optimized Topology</strong></td>
            <td align="left">A topology in which the NIC ports of each server are distributed across multiple ToR switches (one NIC port per switch), such that collective traffic between adjacent servers traverses different physical paths. Minimizes switch-to-switch traffic during ring AllReduce, maximizing effective BusBW. Requires ECMP-aware collective placement.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Bisection Bandwidth</strong></td>
            <td align="left">The aggregate bandwidth across the minimum cut that divides the fabric into two equal halves. Non-blocking fabrics provide bisection bandwidth equal to half the total edge (server-facing) bandwidth. Limits worst-case all-to-all communication throughput.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Oversubscription Ratio</strong></td>
            <td align="left">The ratio of total edge (server-facing) bandwidth to total bisection bandwidth in a Clos fabric. A 1:1 ratio is non-blocking; higher ratios (e.g., 2:1, 4:1) reduce fabric cost but may bottleneck all-to-all and AllReduce patterns when all server ports are active simultaneously.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>ToR Switch</strong></td>
            <td align="left">Top-of-Rack switch. The first-hop aggregation switch connecting accelerator servers in a rack to the spine layer of the fabric. In rail-optimized topologies, multiple ToR switches serve a single rack, with each server's NICs distributed across ToRs.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Spine / Superspine</strong></td>
            <td align="left">Intermediate and top-layer switches in a multi-tier Clos fabric, providing inter-rack and inter-pod connectivity respectively. Spine switches aggregate multiple ToR switches; superspine switches aggregate multiple spine pods.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>NIC</strong></td>
            <td align="left">Network Interface Controller. The hardware device providing network connectivity for an accelerator host. AI fabric NICs support RDMA (RoCEv2 or UET), hardware offload for collective operations, and, optionally, GPU-Initiated Networking (GIN). NIC model and firmware version <strong><bcp14>MUST</bcp14></strong> be documented in all benchmark reports.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Buffer Occupancy</strong></td>
            <td align="left">The instantaneous or time-averaged fill level of a switch port's packet buffer, expressed in bytes or as a fraction of total buffer capacity. Elevated sustained buffer occupancy indicates congestion. P99 buffer occupancy is a Fabric Health Indicator in the companion methodology documents.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Zero-Impact Failover</strong></td>
            <td align="left">Sub-microsecond automatic path convergence upon a link or switch failure resulting in no measurable increase to JCT or TTFT. Requires pre-programmed alternate paths and hardware-level fast reroute (FRR) with sub-microsecond detection, not relying on routing protocol convergence.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Link Utilization</strong></td>
            <td align="left">The fraction of the nominal link capacity actually used for data transmission over a measurement interval, expressed as a percentage. Reported as mean, P95, and P99 per link. High asymmetric link utilization (low average but high peak) is characteristic of bursty AI inference traffic.</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="training-specific-terms">
      <name>Training-Specific Terms</name>
      <t>The following terms are specific to AI training workload benchmarking
and are used normatively in <xref target="I-D.calabria-bmwg-ai-fabric-training-bench"/>.</t>
      <table anchor="tab-training-specific">
        <name>Training-Specific Terms</name>
        <thead>
          <tr>
            <th align="left">Term</th>
            <th align="left">Definition</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>JCT</strong></td>
            <td align="left">Job Completion Time. The wall-clock elapsed time from the start of a training job (or benchmark iteration) until all participating accelerators complete their work, inclusive of all forward pass, backward pass, and collective communication phases. JCT is the primary end-to-end training efficiency KPI.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Roofline JCT</strong></td>
            <td align="left">The theoretical minimum JCT assuming perfect (zero-contention, zero-queuing) network behavior: <tt>Roofline JCT = computation_time + serialization_delay</tt>, where <tt>serialization_delay = message_size / link_rate</tt>. Provides a reference for evaluating fabric overhead.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>JCT Ratio</strong></td>
            <td align="left">The ratio of measured JCT to Roofline JCT. A value of 1.0 indicates no network-induced overhead. Values &gt; 1.0 quantify fabric inefficiency: <tt>JCT Ratio = JCT_measured / JCT_roofline</tt>. The JCT Ratio is the primary comparative metric for AI training fabric benchmarking.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Gradient Synchronization</strong></td>
            <td align="left">The AllReduce collective operation performed after the backward pass of each training step to sum the locally computed gradients across all data-parallel replicas. The dominant communication event in data-parallel training, occurring once per training step per layer.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Step Time</strong></td>
            <td align="left">The wall-clock duration of a single training iteration (forward pass + backward pass + gradient synchronization + optimizer step). Step time = computation time + communication time, where the communication time is dominated by the AllReduce collective.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Soak Test</strong></td>
            <td align="left">A sustained-load test run for an extended period (minimum 24 hours for stability evaluation) at a defined offered load fraction (e.g., 70% or 90% of maximum throughput). Soak tests detect buffer leaks, ECMP imbalance drift, PFC storm initiation, and long-tail error accumulation not visible in short-duration tests.</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="inference-specific-terms">
      <name>Inference-Specific Terms</name>
      <t>The following terms are specific to AI inference serving workload
benchmarking and are used normatively in
<xref target="I-D.calabria-bmwg-ai-fabric-inference-bench"/>.</t>
      <table anchor="tab-infer-specific">
        <name>Inference-Specific Terms</name>
        <thead>
          <tr>
            <th align="left">Term</th>
            <th align="left">Definition</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>TTFT</strong></td>
            <td align="left">Time to First Token. The elapsed time from receipt of an inference request by the serving system to emission of the first output token. Encompasses prompt processing (prefill), KV cache generation, optional KV cache transfer (in disaggregated architectures), and the initial decode step. Interactive serving target: TTFT &lt; 500 ms at P99.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>ITL</strong></td>
            <td align="left">Inter-Token Latency. The elapsed time between successive output tokens during the autoregressive decode phase. Measured at P50, P95, P99, and P99.9 to characterize tail latency behavior. Interactive serving target: ITL &lt; 50 ms at P99.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>TPS</strong></td>
            <td align="left">Tokens Per Second. Aggregate throughput of the inference serving system, measured as the total number of output tokens generated per second across all concurrent requests. Reported separately for input-side (prefill) TPS and output-side (decode) TPS.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>KV Cache</strong></td>
            <td align="left">Key-Value Cache. The intermediate attention state (key and value projection matrices from multi-head attention layers) computed during the prefill phase and reused during each decode step to avoid redundant recomputation. KV cache size scales with: <tt>layers × attention_heads × head_dim × sequence_length × precision</tt>. The attention head configuration <strong><bcp14>MUST</bcp14></strong> be reported in all benchmark results.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Prefill Phase</strong></td>
            <td align="left">The compute-bound phase of LLM inference in which the entire input prompt is processed in parallel to generate the KV cache and the first output token. Characterized by high arithmetic intensity (200–400 ops/byte), high accelerator utilization (90–95%), and large activation tensors. Prefill latency dominates TTFT for long prompts.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Decode Phase</strong></td>
            <td align="left">The memory-bandwidth-bound phase of LLM inference in which output tokens are generated autoregressively, one token per forward pass, by reading the KV cache. Characterized by low arithmetic intensity (60–80 ops/byte), lower accelerator utilization (20–40%), and memory-bandwidth-limited KV cache reads. Decode throughput limits TPS.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Disaggregated Serving</strong></td>
            <td align="left">An inference serving architecture in which the prefill phase and decode phase are executed on physically separate groups of accelerators (workers), connected by a network fabric. Allows independent scaling of prefill and decode resources (xPyD) but introduces KV cache transfer as a fabric-critical data movement.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>xPyD Ratio</strong></td>
            <td align="left">The allocation ratio of x prefill workers to y decode workers in a disaggregated serving cluster. Example: 3P9D denotes 3 prefill nodes and 9 decode nodes. The optimal xPyD ratio depends on model size, prompt/output length distributions, and TTFT/ITL SLO targets.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Continuous Batching</strong></td>
            <td align="left">A dynamic inference scheduling technique that inserts new requests into an active decode batch as slots become available (without waiting for the current batch to complete), improving accelerator utilization compared to static batching. Generates variable batch sizes that affect fabric traffic burstiness.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>PagedAttention</strong></td>
            <td align="left">A KV cache memory management technique storing attention keys and values in fixed-size, non-contiguous virtual pages (typically 16–64 KB), inspired by OS virtual memory management. Reduces memory fragmentation and enables efficient KV cache sharing across requests with common prefixes.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Prefix Caching</strong></td>
            <td align="left">Reuse of previously computed KV cache segments for inference requests sharing a common prompt prefix (e.g., a fixed system prompt), eliminating redundant prefill computation. Prefix cache hit rate is a secondary KPI for inference serving efficiency.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Normal Dispatch</strong></td>
            <td align="left">An AllToAll MoE dispatch communication mode optimized for the prefill phase. Payload sizes are variable (depending on token-to-expert routing), generating dynamic tensor shapes incompatible with static graph capture. Maximizes throughput for large batches at the cost of higher per-dispatch latency.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Low-Latency Dispatch</strong></td>
            <td align="left">An AllToAll MoE dispatch communication mode optimized for the decode phase. Payload sizes are padded to fixed maximum dimensions (compatible with static graph capture), enabling lower kernel-launch overhead at the cost of slight bandwidth inefficiency. Target: &lt; 200 µs per dispatch round trip.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Expert Choice Routing</strong></td>
            <td align="left">A token routing strategy in which experts select which tokens to process, rather than tokens selecting experts. Each expert accepts its top-C tokens by affinity score, producing perfect load balance but non-uniform AllToAll message sizes across EP ranks.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Auxiliary Loss Top-k</strong></td>
            <td align="left">A top-k routing variant that adds a load-balancing auxiliary loss during training to encourage uniform token distribution across experts. Produces near-uniform  AllToAll traffic in inference and reduces hot-spot risk on the fabric.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Top-k with Token Drop</strong></td>
            <td align="left">A top-k routing variant in which tokens destined for  overloaded experts are dropped or redirected to a fallback. Reduces worst-case dispatch traffic volume at the cost of model output quality under load.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>T_dispatch</strong></td>
            <td align="left">The dispatch payload per accelerator per MoE layer, computed as: T_dispatch = (B * k * H_model * P_bytes) / N where B = batch size (tokens), k = top-k routing count, H_model = hidden dimension, P_bytes = bytes per element (BF16=2, FP8=1), N = EP group size. Used as the canonical traffic volume parameter in the MoE test matrix (see Section 7.1 of the companion inference benchmarking draft).</td>
          </tr>
          <tr>
            <td align="left">
              <strong>SLO</strong></td>
            <td align="left">Service Level Objective. A quantitative target for an inference serving KPI. AI inference SLOs typically specify maximum TTFT (e.g., &lt; 500 ms P99) and maximum ITL (e.g., &lt; 50 ms P99) under a specified request arrival rate.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Speculative Decoding</strong></td>
            <td align="left">An inference acceleration technique using a small draft model to generate candidate token sequences verified in parallel by the target model. Reduces effective ITL but generates bursty, variable-length KV cache traffic; noted as a future benchmarking area not fully specified in the current companion documents.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>S_KV</strong></td>
            <td align="left">The total size in bytes of the KV cache state generated by a single inference request across all transformer layers and all context tokens, computed as: S_KV = 2 x L x H_kv x D x C x P_bytes. Where: L = number of transformer layers; H_kv = number of KV attention heads per layer (H_kv &lt;= H_total for GQA/MQA); D = per-head key/value dimension (head_dim), typically model_dim / H_total; C = context length in tokens (prompt + generated tokens); P_bytes = precision in bytes per element (FP16/BF16 = 2, FP8/INT8 = 1); Factor 2 accounts for both K and V tensors, each of shape [H_kv, D] per layer per token.</td>
          </tr>
        </tbody>
      </table>
      <t>See Section 7.1 of <xref target="I-D.calabria-bmwg-ai-fabric-inference-bench"/> for the MoE test matrix referenced by T_dispatch above.</t>
      <section anchor="inference-phase-characteristics">
        <name>Inference Phase Characteristics</name>
        <table anchor="tab-infer-character">
          <name>Inference Phase Characteristics</name>
          <thead>
            <tr>
              <th align="left">Phase</th>
              <th align="left">Compute Bound</th>
              <th align="left">Arithmetic Intensity</th>
              <th align="left">Accelerator Util.</th>
              <th align="left">Primary KPI</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <strong>Prefill</strong></td>
              <td align="left">Yes</td>
              <td align="left">200–400 ops/byte</td>
              <td align="left">90–95%</td>
              <td align="left">TTFT</td>
            </tr>
            <tr>
              <td align="left">
                <strong>Decode</strong></td>
              <td align="left">No (memory BW bound)</td>
              <td align="left">60–80 ops/byte</td>
              <td align="left">20–40%</td>
              <td align="left">ITL, TPS</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="kpi-classification-terms">
      <name>KPI Classification Terms</name>
      <t>The following terms define the three-tier KPI taxonomy used across both
companion methodology documents.</t>
      <table anchor="tab-kpi-class">
        <name>KPI Classification Terms</name>
        <thead>
          <tr>
            <th align="left">Term</th>
            <th align="left">Definition</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>Primary KPI</strong></td>
            <td align="left">A top-level performance indicator directly representing end-user experience or training efficiency. In training: JCT Ratio and BusBW. In inference: TTFT and ITL. Primary KPIs are the principal reporting metric and the basis for comparative benchmarking across DUT implementations.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Secondary KPI</strong></td>
            <td align="left">A fabric-level performance indicator providing mechanistic explanation for primary KPI values. Examples: collective operation throughput (BusBW), KV cache transfer goodput, AllToAll dispatch latency, ECMP imbalance (MMR), and link utilization. Secondary KPIs enable root-cause analysis of Primary KPI deviations.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Fabric Health Indicator (FHI)</strong></td>
            <td align="left">An operational metric characterizing fabric stability and anomaly conditions rather than peak performance. FHIs include: PFC event rate, PFC storm occurrence, ECN marking ratio, packet loss rate, buffer occupancy (P99), and retransmission rate. FHIs <strong><bcp14>SHOULD</bcp14></strong> be continuously monitored and reported throughout all test categories.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Goodput</strong></td>
            <td align="left">The application-useful data delivered per unit time, excluding retransmissions, protocol overhead, and padding. Benchmark reports <bcp14>MUST</bcp14> specify the qualified Goodput metric (e.g., Inference_Goodput or Fabric_Goodput) to avoid ambiguity. <br/><strong>Fabric_Goodput:</strong>  RDMA message payload bytes successfully delivered per unit time at the DUT boundary, excluding transport headers, framing overhead, padding, and retransmitted bytes.  This is the numerator quantity in KV_xfer_bandwidth and EP_alltoall_bandwidth. Units: GB/s or Gbps; reports <bcp14>MUST</bcp14> state which.<br/><strong>Inference_Goodput:</strong>  Output tokens successfully delivered per unit time, counting only requests that complete without preemption, eviction, or error.  Corresponds to TPS_output over successfully completed requests only.  Units: tokens/second.<br/>The two planes <bcp14>MUST NOT</bcp14> be conflated.  KV_BW measures Fabric_Goodput; it does not measure Inference_Goodput.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Zero Packet Loss</strong></td>
            <td align="left">time, excluding retransmitted packets, protocol.  A test acceptance criterion requiring that no packets are dropped by the DUT during the measurement interval. For RoCEv2 and UET transports, zero packet loss is the target operating condition. The binary search procedure in the companion methodology documents determines the maximum offered load satisfying this criterion.</td>
          </tr>
        </tbody>
      </table>
      <section anchor="kpi-tier-summary">
        <name>KPI Tier Summary</name>
        <t>The examples below are illustrative and non-exhaustive; the companion methodology documents may add KPIs at each tier as appropriate to their specific workload focus, provided the tier semantics described above are preserved.</t>
        <table anchor="tab-kpi-tier">
          <name>KPI Tier Summary</name>
          <thead>
            <tr>
              <th align="left">Tier</th>
              <th align="left">Training Examples</th>
              <th align="left">Inference Examples</th>
              <th align="left">Purpose</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <strong>Primary KPI</strong></td>
              <td align="left">JCT Ratio, BusBW</td>
              <td align="left">TTFT, ITL, TPS</td>
              <td align="left">Direct end-user experience / business impact</td>
            </tr>
            <tr>
              <td align="left">
                <strong>Secondary KPI</strong></td>
              <td align="left">AllReduce BusBW, MMR, Link Utilization</td>
              <td align="left">AllToAll dispatch latency, KV transfer goodput</td>
              <td align="left">Root cause analysis of Primary KPI deviations</td>
            </tr>
            <tr>
              <td align="left">
                <strong>Fabric Health Indicator (FHI)</strong></td>
              <td align="left">PFC events, ECN ratio, packet loss, buffer P99, retx rate</td>
              <td align="left">PFC events, ECN ratio, packet loss, buffer P99</td>
              <td align="left">Ongoing fabric stability and anomaly detection</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="referenced-standards-abbreviations">
      <name>Referenced Standards Abbreviations</name>
      <t>The following abbreviations refer to normative and informative IETF
documents referenced throughout this document and the companion
methodology documents. Expansions for technical acronyms used
across the companion documents are listed in the Acronyms appendix
(<xref target="tab-acronyms"/>).</t>
      <table anchor="reference-standard">
        <name>Referenced Standards Abbreviations</name>
        <thead>
          <tr>
            <th align="left">Reference</th>
            <th align="left">Definition</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>RFC 1242</strong></td>
            <td align="left">"Benchmarking Terminology for Network Interconnect Devices" (Bradner, 1991). Defines foundational benchmarking terms (throughput, latency, frame loss rate, back-to-back frames). The baseline terminology reference for BMWG work. Where terms in this document overlap with RFC 1242 definitions, this document contextualizes and extends those definitions for AI fabric benchmarking.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>RFC 2544</strong></td>
            <td align="left">"Benchmarking Methodology for Network Interconnect Devices" (Bradner &amp; McQuaid, 1999). Defines test methodologies for throughput, latency, frame loss rate, and back-to-back measurements. The AI fabric methodology documents extend RFC 2544 procedures for AI-specific traffic patterns and test durations.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>RFC 8238</strong></td>
            <td align="left">"Data Center Benchmarking Terminology" (Bitar et al., 2017). Extends RFC 1242 with data center-relevant terms including forwarding table scaling, congestion, and VM/SDN. Incast, ECN, and buffer occupancy concepts in this document align with RFC 8238 definitions.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>RFC 8239</strong></td>
            <td align="left">"Data Center Benchmarking Methodology" (Bitar et al., 2017). Defines test methodologies for data center network functions including incast, ECN marking, and lossless behavior. The AI fabric companion methodology documents extend RFC 8239 for distributed AI collective traffic patterns.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>RFC 2119 / RFC 8174</strong></td>
            <td align="left">"Key words for use in RFCs to Indicate Requirement Levels" (Bradner, 1997; Leiba, 2017). Define the normative requirement language: <bcp14>MUST</bcp14>, <bcp14>MUST NOT</bcp14>, <bcp14>REQUIRED</bcp14>, <bcp14>SHALL</bcp14>, <bcp14>SHALL NOT</bcp14>, <bcp14>SHOULD</bcp14>, <bcp14>SHOULD NOT</bcp14>, <bcp14>RECOMMENDED</bcp14>, <bcp14>MAY</bcp14>, and <bcp14>OPTIONAL</bcp14>. RFC 8174 clarifies that these terms are normative only when in uppercase; lowercase uses are not normative.</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document is a terminology document and has no IANA actions.</t>
      <t>Note that the UET UDP destination port 4793 referenced in <xref target="tab-rocev2"/> is expected to be assigned through the Ultra Ethernet Specification <xref target="UEC-1.0"/>; this document does not request any IANA assignment.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document defines terminology and does not specify any protocol mechanism. It therefore introduces no new protocol-level security considerations beyond those of the underlying technologies it references. The considerations below follow the BMWG convention established in <xref target="RFC8238"/> and apply to any benchmarking activity conducted using the terms defined herein.</t>
      <t>Benchmarking activities as described in the companion methodology documents are limited to technology characterization of AI fabrics using controlled stimuli in a laboratory environment, with dedicated address space and the constraints specified in those documents.</t>
      <t>The benchmarking network topology will be an independent test setup and <bcp14>MUST NOT</bcp14> be connected to devices that may forward the test traffic into a production network or misroute traffic to the test management network. This isolation requirement is particularly important for AI fabric benchmarking because the lossless transport modes referenced in <xref target="tab-congest-control"/> (PFC, DCQCN, CBFC) propagate congestion hop-by-hop and can extend the blast radius of a misconfigured test beyond the immediate DUT.</t>
      <t>Benchmarking is performed on a "black-box" basis, relying solely on measurements observable external to the DUT or SUT as defined in <xref target="tab-gen-bench"/>.</t>
      <t>Special capabilities <bcp14>SHOULD NOT</bcp14> exist in the DUT specifically for benchmarking purposes. Any implications for network security arising from the DUT <bcp14>SHOULD</bcp14> be identical in the lab and in production networks. In particular, RDMA memory-region permissions and KV cache telemetry exposure are properties of the deployed configuration, not of the benchmarking methodology, and <bcp14>SHOULD</bcp14> reflect production posture during testing. Synthetic inputs <bcp14>SHOULD</bcp14> be used for the inference benchmarks referencing the KV Cache and S_KV terms in <xref target="tab-infer-specific"/> so that no production prompt content is processed in the test environment.</t>
    </section>
    <section numbered="false" anchor="acronyms">
      <name>Acronyms</name>
      <t>The following acronyms are used in this document and in the companion
methodology documents
(<xref target="I-D.calabria-bmwg-ai-fabric-training-bench"/> and
<xref target="I-D.calabria-bmwg-ai-fabric-inference-bench"/>).
Substantive definitions for protocol- and benchmarking-relevant
terms are provided in the body of this document; the table below
provides expansions only.</t>
      <t>Acronyms specific to only one companion methodology document are
expanded on first use within that document and are not duplicated
here.</t>
      <table anchor="tab-acronyms">
        <name>Acronyms</name>
        <thead>
          <tr>
            <th align="left">Acronym</th>
            <th align="left">Expansion</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">AI</td>
            <td align="left">Artificial Intelligence</td>
          </tr>
          <tr>
            <td align="left">API</td>
            <td align="left">Application Programming Interface</td>
          </tr>
          <tr>
            <td align="left">ASIC</td>
            <td align="left">Application-Specific Integrated Circuit</td>
          </tr>
          <tr>
            <td align="left">BGP</td>
            <td align="left">Border Gateway Protocol</td>
          </tr>
          <tr>
            <td align="left">BTH</td>
            <td align="left">Base Transport Header</td>
          </tr>
          <tr>
            <td align="left">BusBW</td>
            <td align="left">Bus Bandwidth</td>
          </tr>
          <tr>
            <td align="left">CBFC</td>
            <td align="left">Credit-Based Flow Control</td>
          </tr>
          <tr>
            <td align="left">CCL</td>
            <td align="left">Collective Communications Library</td>
          </tr>
          <tr>
            <td align="left">CDF</td>
            <td align="left">Cumulative Distribution Function</td>
          </tr>
          <tr>
            <td align="left">CMS</td>
            <td align="left">Congestion Management Sub-layer (UET)</td>
          </tr>
          <tr>
            <td align="left">CRC</td>
            <td align="left">Cyclic Redundancy Check</td>
          </tr>
          <tr>
            <td align="left">CV</td>
            <td align="left">Coefficient of Variation</td>
          </tr>
          <tr>
            <td align="left">DCQCN</td>
            <td align="left">Data Center Quantized Congestion Notification</td>
          </tr>
          <tr>
            <td align="left">DLB</td>
            <td align="left">Dynamic Load Balancing</td>
          </tr>
          <tr>
            <td align="left">DMA</td>
            <td align="left">Direct Memory Access</td>
          </tr>
          <tr>
            <td align="left">DSCP</td>
            <td align="left">Differentiated Services Code Point</td>
          </tr>
          <tr>
            <td align="left">ECMP</td>
            <td align="left">Equal-Cost Multi-Path</td>
          </tr>
          <tr>
            <td align="left">ECN</td>
            <td align="left">Explicit Congestion Notification</td>
          </tr>
          <tr>
            <td align="left">EP</td>
            <td align="left">Expert Parallelism</td>
          </tr>
          <tr>
            <td align="left">HBM</td>
            <td align="left">High Bandwidth Memory</td>
          </tr>
          <tr>
            <td align="left">HOL</td>
            <td align="left">Head-of-Line</td>
          </tr>
          <tr>
            <td align="left">HPC</td>
            <td align="left">High-Performance Computing</td>
          </tr>
          <tr>
            <td align="left">ICRC</td>
            <td align="left">Invariant CRC</td>
          </tr>
          <tr>
            <td align="left">INT</td>
            <td align="left">In-band Network Telemetry</td>
          </tr>
          <tr>
            <td align="left">JCT</td>
            <td align="left">Job Completion Time</td>
          </tr>
          <tr>
            <td align="left">MAC</td>
            <td align="left">Media Access Control</td>
          </tr>
          <tr>
            <td align="left">ML</td>
            <td align="left">Machine Learning</td>
          </tr>
          <tr>
            <td align="left">MoE</td>
            <td align="left">Mixture of Experts</td>
          </tr>
          <tr>
            <td align="left">MTU</td>
            <td align="left">Maximum Transmission Unit</td>
          </tr>
          <tr>
            <td align="left">NIC</td>
            <td align="left">Network Interface Controller</td>
          </tr>
          <tr>
            <td align="left">NOS</td>
            <td align="left">Network Operating System</td>
          </tr>
          <tr>
            <td align="left">OFED</td>
            <td align="left">OpenFabrics Enterprise Distribution</td>
          </tr>
          <tr>
            <td align="left">OOO</td>
            <td align="left">Out-of-Order</td>
          </tr>
          <tr>
            <td align="left">OSPF</td>
            <td align="left">Open Shortest Path First</td>
          </tr>
          <tr>
            <td align="left">PDC</td>
            <td align="left">Packet Delivery Context</td>
          </tr>
          <tr>
            <td align="left">PDS</td>
            <td align="left">Packet Delivery Sub-layer (UET)</td>
          </tr>
          <tr>
            <td align="left">PFC</td>
            <td align="left">Priority Flow Control</td>
          </tr>
          <tr>
            <td align="left">PSN</td>
            <td align="left">Packet Sequence Number</td>
          </tr>
          <tr>
            <td align="left">QP</td>
            <td align="left">Queue Pair</td>
          </tr>
          <tr>
            <td align="left">RDMA</td>
            <td align="left">Remote Direct Memory Access</td>
          </tr>
          <tr>
            <td align="left">RoCEv2</td>
            <td align="left">RDMA over Converged Ethernet version 2</td>
          </tr>
          <tr>
            <td align="left">RTT</td>
            <td align="left">Round-Trip Time</td>
          </tr>
          <tr>
            <td align="left">SES</td>
            <td align="left">Semantic Sub-layer (UET)</td>
          </tr>
          <tr>
            <td align="left">SUT</td>
            <td align="left">System Under Test</td>
          </tr>
          <tr>
            <td align="left">TCAM</td>
            <td align="left">Ternary Content-Addressable Memory</td>
          </tr>
          <tr>
            <td align="left">TSS</td>
            <td align="left">Transport Security Sub-layer (UET)</td>
          </tr>
          <tr>
            <td align="left">UEC</td>
            <td align="left">Ultra Ethernet Consortium</td>
          </tr>
          <tr>
            <td align="left">UET</td>
            <td align="left">Ultra Ethernet Transport</td>
          </tr>
          <tr>
            <td align="left">VLAN</td>
            <td align="left">Virtual LAN</td>
          </tr>
          <tr>
            <td align="left">VOQ</td>
            <td align="left">Virtual Output Queue</td>
          </tr>
          <tr>
            <td align="left">XPU</td>
            <td align="left">accelerator processing unit (generic)</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This work has benefited from the discussions that occurred during the joint IPPM and BMWG meeting and on the BMWG mailing list. Thanks to Carsten Rossenhoevel, Mohamed Boucadair, and Sowjanya Reddy for valuable review and comments.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="UEC-1.0" target="https://ultraethernet.org">
          <front>
            <title>Ultra Ethernet Transport (UET) Specification 1.0</title>
            <author>
              <organization>Ultra Ethernet Consortium</organization>
            </author>
            <date year="2025" month="June"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC1242">
          <front>
            <title>Benchmarking Terminology for Network Interconnection Devices</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="July" year="1991"/>
            <abstract>
              <t>This memo discusses and defines a number of terms that are used in describing performance benchmarking tests and the results of such tests. This memo provides information for the Internet community. It does not specify an Internet standard.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1242"/>
          <seriesInfo name="DOI" value="10.17487/RFC1242"/>
        </reference>
        <reference anchor="RFC8238">
          <front>
            <title>Data Center Benchmarking Terminology</title>
            <author fullname="L. Avramov" initials="L." surname="Avramov"/>
            <author fullname="J. Rapp" initials="J." surname="Rapp"/>
            <date month="August" year="2017"/>
            <abstract>
              <t>The purposes of this informational document are to establish definitions and describe measurement techniques for data center benchmarking, as well as to introduce new terminology applicable to performance evaluations of data center network equipment. This document establishes the important concepts for benchmarking network switches and routers in the data center and is a prerequisite for the test methodology document (RFC 8239). Many of these terms and methods may be applicable to network equipment beyond the scope of this document as the technologies originally applied in the data center are deployed elsewhere.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8238"/>
          <seriesInfo name="DOI" value="10.17487/RFC8238"/>
        </reference>
        <reference anchor="RFC2544">
          <front>
            <title>Benchmarking Methodology for Network Interconnect Devices</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <author fullname="J. McQuaid" initials="J." surname="McQuaid"/>
            <date month="March" year="1999"/>
            <abstract>
              <t>This document is a republication of RFC 1944 correcting the values for the IP addresses which were assigned to be used as the default addresses for networking test equipment. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2544"/>
          <seriesInfo name="DOI" value="10.17487/RFC2544"/>
        </reference>
        <reference anchor="RFC8239">
          <front>
            <title>Data Center Benchmarking Methodology</title>
            <author fullname="L. Avramov" initials="L." surname="Avramov"/>
            <author fullname="J. Rapp" initials="J." surname="Rapp"/>
            <date month="August" year="2017"/>
            <abstract>
              <t>The purpose of this informational document is to establish test and evaluation methodology and measurement techniques for physical network equipment in the data center. RFC 8238 is a prerequisite for this document, as it contains terminology that is considered normative. Many of these terms and methods may be applicable beyond the scope of this document as the technologies originally applied in the data center are deployed elsewhere.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8239"/>
          <seriesInfo name="DOI" value="10.17487/RFC8239"/>
        </reference>
        <reference anchor="RFC3168">
          <front>
            <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
            <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3168"/>
          <seriesInfo name="DOI" value="10.17487/RFC3168"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="Jain1984" target="https://www.cs.wustl.edu/~jain/papers/ftp/fairness.pdf">
          <front>
            <title>A Quantitative Measure of Fairness and Discrimination for Resource Allocation in Shared Computer Systems</title>
            <author initials="R." surname="Jain">
              <organization/>
            </author>
            <author initials="D." surname="Chiu">
              <organization/>
            </author>
            <author initials="W." surname="Hawe">
              <organization/>
            </author>
            <date year="1984" month="September"/>
          </front>
          <seriesInfo name="DEC Technical Report" value="TR-301"/>
        </reference>
        <reference anchor="IBTA-ROCE" target="https://www.infinibandta.org">
          <front>
            <title>InfiniBand Architecture Specification Volume 1, Annex A17: RoCEv2</title>
            <author>
              <organization>InfiniBand Trade Association</organization>
            </author>
            <date year="2014" month="September"/>
          </front>
        </reference>
        <reference anchor="I-D.calabria-bmwg-ai-fabric-training-bench">
          <front>
            <title>Benchmarking Methodology for AI Training Network Fabrics</title>
            <author fullname="Fernando Calabria" initials="F." surname="Calabria">
              <organization>Cisco</organization>
            </author>
            <author fullname="Carlos Pignataro" initials="C." surname="Pignataro">
              <organization>Blue Fern Consulting</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Giuseppe Fioccola" initials="G." surname="Fioccola">
              <organization>Huawei</organization>
            </author>
            <date day="21" month="April" year="2026"/>
            <abstract>
              <t>   This document defines benchmarking terminology, methodologies, and
   Key Performance Indicators (KPIs) for evaluating Ethernet-based AI
   training network fabrics.

   As large-scale distributed AI/ML training clusters grow to tens of
   thousands of accelerators (GPUs/XPUs), the backend network fabric
   becomes the critical bottleneck determining job completion time
   (JCT), training throughput, and accelerator utilization.

   This document establishes vendor-independent, reproducible test
   procedures for benchmarking fabric-level performance under realistic
   AI training workloads, covering RDMA/RoCEv2 transport, the Ultra
   Ethernet Transport (UET) protocol defined by the UEC Specification
   1.0 [UEC-1.0], congestion management (PFC, ECN, DCQCN, CBFC), load
   balancing strategies (ECMP, DLB, packet spraying), collective
   communication patterns (AllReduce, AlltoAll, AllGather), and scale/
   soak testing.

   The methodology enables direct, reproducible comparison across
   different switch ASICs, vendor implementations, NIC transport stacks
   (RoCEv2 vs. UET), and fabric architectures (2-tier Clos, 3-tier Clos,
   rail-optimized).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-calabria-bmwg-ai-fabric-training-bench-01"/>
        </reference>
        <reference anchor="I-D.calabria-bmwg-ai-fabric-inference-bench">
          <front>
            <title>Benchmarking Methodology for AI Inference Serving Network Fabrics</title>
            <author fullname="Fernando Calabria" initials="F." surname="Calabria">
              <organization>Cisco</organization>
            </author>
            <author fullname="Carlos Pignataro" initials="C." surname="Pignataro">
              <organization>Blue Fern Consulting</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Giuseppe Fioccola" initials="G." surname="Fioccola">
              <organization>Huawei</organization>
            </author>
            <date day="21" month="April" year="2026"/>
            <abstract>
              <t>   This document defines benchmarking terminology, methodologies, and
   Key Performance Indicators (KPIs) for evaluating Ethernet-based AI
   inference serving network fabrics.  As Large Language Model (LLM)
   inference deployments scale to disaggregated prefill/decode
   architectures spanning hundreds or thousands of accelerators (GPUs/
   XPUs), the interconnect fabric becomes the critical bottleneck
   determining Time to First Token (TTFT), Inter-Token Latency (ITL),
   and aggregate throughput in tokens per second (TPS).  This document
   establishes vendor-independent, reproducible test procedures for
   benchmarking fabric-level performance under realistic AI inference
   workloads.

   Coverage includes RDMA-based KV cache transfer between disaggregated
   prefill and decode workers, Mixture-of-Experts (MoE) expert
   parallelism AllToAll communication, request routing and load
   balancing for inference serving, congestion management under bursty
   inference traffic patterns, and scale/soak testing.  The methodology
   enables direct, equivalent comparison across implementations, NIC
   transport stacks (RoCEv2, UET), and fabric architectures.

   This document is a companion to [TRAINING-BENCH], which addresses
   training workloads.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-calabria-bmwg-ai-fabric-inference-bench-01"/>
        </reference>
        <reference anchor="I-D.calabria-bmwg-ai-fabric-terminology">
          <front>
            <title>Benchmarking Terminology for AI Network Fabrics</title>
            <author fullname="Fernando Calabria" initials="F." surname="Calabria">
              <organization>Cisco</organization>
            </author>
            <author fullname="Carlos Pignataro" initials="C." surname="Pignataro">
              <organization>Blue Fern Consulting</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Giuseppe Fioccola" initials="G." surname="Fioccola">
              <organization>Huawei</organization>
            </author>
            <date day="21" month="April" year="2026"/>
            <abstract>
              <t>   This document defines benchmarking terminology for evaluating
   Ethernet-based network fabrics used in distributed Artificial
   Intelligence (AI) training and inference workloads.  It provides a
   unified vocabulary consolidating and extending terms from RFC 1242,
   RFC 8238, and the companion AI fabric methodology documents,
   establishing precise, vendor-neutral definitions for collective
   communication primitives, RDMA transport mechanisms (RoCEv2 and Ultra
   Ethernet Transport), congestion control behaviors, AI-specific Key
   Performance Indicators (KPIs), and fabric topology concepts.

   This document is a companion to
   [I-D.calabria-bmwg-ai-fabric-training-bench] and
   [I-D.calabria-bmwg-ai-fabric-inference-bench].  Those documents
   SHOULD NOT be applied without first consulting the terminology
   defined herein.  Where definitions herein overlap with RFC 1242 or
   RFC 8238, the AI fabric context definition in this document takes
   precedence.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-calabria-bmwg-ai-fabric-terminology-01"/>
        </reference>
      </references>
    </references>
    <?line 540?>

<section numbered="false" anchor="appendix-a-term-cross-reference-to-companion-documents">
      <name>Appendix A: Term Cross-Reference to Companion Documents</name>
      <t>The following table identifies which terms from this document are used
in each companion methodology document.</t>
      <table anchor="tab-cross-ref">
        <name>Term Cross-Reference to Companion Documents</name>
        <thead>
          <tr>
            <th align="left">Term Category</th>
            <th align="left">Used in Training Bench</th>
            <th align="left">Used in Inference Bench</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">General Benchmarking Terms (§2)</td>
            <td align="left">All terms</td>
            <td align="left">All terms</td>
          </tr>
          <tr>
            <td align="left">Collective Communication (§3)</td>
            <td align="left">AllReduce, AllGather, ReduceScatter, AllToAll, BusBW, CCL, Ring Algorithm, BSP, SPMD</td>
            <td align="left">AllToAll, BusBW</td>
          </tr>
          <tr>
            <td align="left">Parallelism Strategies (§4)</td>
            <td align="left">DP, TP, PP, EP, MoE, ZeRO</td>
            <td align="left">EP, MoE, DP Attention</td>
          </tr>
          <tr>
            <td align="left">RDMA / RoCEv2 (§5.1)</td>
            <td align="left">RDMA, RoCEv2, QP, RC mode, RDMA Verb</td>
            <td align="left">RDMA, RoCEv2, QP, RC mode, GIN, KVCXL</td>
          </tr>
          <tr>
            <td align="left">UET Terms (§5.2)</td>
            <td align="left">UET, PDC, ROD, RUD, RUDI, UUD, LLR, Packet Trimming, CBFC, UEC Profile, Entropy Value</td>
            <td align="left">UET, RUD, GIN</td>
          </tr>
          <tr>
            <td align="left">Congestion Control (§6)</td>
            <td align="left">PFC, PFC Storm, PFC Deadlock, ECN, DCQCN, ECN Marking Ratio, Incast, Incast Ratio, Packet Spray, DLB/Flowlet, ECMP, MMR</td>
            <td align="left">PFC, ECN, DCQCN, Incast, Packet Spray, ECMP</td>
          </tr>
          <tr>
            <td align="left">Fabric Topology (§7)</td>
            <td align="left">Clos, Rail-Optimized, Bisection BW, Oversubscription, ToR, Spine, NIC, Buffer Occupancy, Zero-Impact Failover, Link Utilization</td>
            <td align="left">Clos, Bisection BW, ToR, NIC, Buffer Occupancy, Link Utilization</td>
          </tr>
          <tr>
            <td align="left">Training-Specific (§8)</td>
            <td align="left">JCT, Roofline JCT, JCT Ratio, Gradient Sync, Step Time, Soak Test</td>
            <td align="left">Soak Test</td>
          </tr>
          <tr>
            <td align="left">Inference-Specific (§9)</td>
            <td align="left">—</td>
            <td align="left">TTFT, ITL, TPS, KV Cache, Prefill, Decode, Disaggregated Serving, xPyD, Continuous Batching, PagedAttention, Prefix Caching, Normal/Low-Latency Dispatch, SLO</td>
          </tr>
          <tr>
            <td align="left">KPI Classification (§10)</td>
            <td align="left">Primary KPI (JCT Ratio, BusBW), Secondary KPI, FHI, Goodput, Zero Packet Loss</td>
            <td align="left">Primary KPI (TTFT, ITL), Secondary KPI, FHI, Goodput, Zero Packet Loss</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section numbered="false" anchor="appendix-b-term-taxonomy-summary">
      <name>Appendix B: Term Taxonomy Summary</name>
      <t>The following table provides a concise summary of all defined terms
organized by category, with the section reference for the full
definition.</t>
      <table anchor="tab-taxo">
        <name>Complete Term Taxonomy</name>
        <thead>
          <tr>
            <th align="left">Section</th>
            <th align="left">Term(s)</th>
            <th align="left">Category</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">2</td>
            <td align="left">DUT, SUT, RT, JFI, Offered Load, Trial Duration, Warmup Period, Binary Search, Percentile Latency, AI Fabric</td>
            <td align="left">General Benchmarking</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">Collective Operation, AllReduce, AllGather, ReduceScatter, AllToAll, Ring Algorithm, BusBW, CCL, SPMD, BSP</td>
            <td align="left">Collective Communication</td>
          </tr>
          <tr>
            <td align="left">4</td>
            <td align="left">Data Parallelism, Tensor Parallelism, Pipeline Parallelism, Expert Parallelism, MoE, DP Attention, ZeRO</td>
            <td align="left">Parallelism Strategies</td>
          </tr>
          <tr>
            <td align="left">5.1</td>
            <td align="left">RDMA, RoCEv2, QP, Reliable Connected (RC), RDMA Verb, UET, PDC, ROD</td>
            <td align="left">Transport — RDMA / RoCEv2</td>
          </tr>
          <tr>
            <td align="left">5.2</td>
            <td align="left">RUD, RUDI, UUD, UEC Profile, LLR, Packet Trimming, CBFC, Entropy Value, GIN, KVCXL</td>
            <td align="left">Transport — UET</td>
          </tr>
          <tr>
            <td align="left">6</td>
            <td align="left">PFC, PFC Storm, PFC Deadlock, ECN, DCQCN, ECN Marking Ratio, Incast, Incast Ratio, Packet Spray, DLB/Flowlet, ECMP, MMR</td>
            <td align="left">Congestion Control</td>
          </tr>
          <tr>
            <td align="left">7</td>
            <td align="left">Clos/Fat-Tree, Rail-Optimized, Bisection Bandwidth, Oversubscription Ratio, ToR Switch, Spine/Superspine, NIC, Buffer Occupancy, Zero-Impact Failover, Link Utilization</td>
            <td align="left">Fabric Topology</td>
          </tr>
          <tr>
            <td align="left">8</td>
            <td align="left">JCT, Roofline JCT, JCT Ratio, Gradient Synchronization, Step Time, Soak Test</td>
            <td align="left">Training-Specific</td>
          </tr>
          <tr>
            <td align="left">9</td>
            <td align="left">TTFT, ITL, TPS, KV Cache, Prefill Phase, Decode Phase, Disaggregated Serving, xPyD Ratio, Continuous Batching, PagedAttention, Prefix Caching, Normal Dispatch, Low-Latency Dispatch, SLO, Speculative Decoding</td>
            <td align="left">Inference-Specific</td>
          </tr>
          <tr>
            <td align="left">10</td>
            <td align="left">Primary KPI, Secondary KPI, Fabric Health Indicator, Goodput, Zero Packet Loss</td>
            <td align="left">KPI Classification</td>
          </tr>
          <tr>
            <td align="left">11</td>
            <td align="left">RFC 1242, RFC 2544, RFC 8238, RFC 8239, RFC 2119/8174</td>
            <td align="left">Referenced Standards</td>
          </tr>
        </tbody>
      </table>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8V9W3MbyZXmO35FjTq8A7QBUFSruyXK8pgEKYluXiBe1LZn
JuQCUCSrBVTBVQWScHdv+Gljn2cmYl83dh/2fSIm9t37vv9h/Uv2fOeSmVUA
JPZ4I9YRbklAISvz5MlzvnPNXq/XqtJqmuxEj/aSbHwzi4sPaXYdXSTFLM3y
aX69jK7yIto9jE6S6i4vPkSv4lGRjstHrXg0KpJb+iV9KR9Gm8Z41BrHVXKd
F8udKM2u8lZrko+zeEbvnRTxVdUbx1OMEPdGs7vrXpz2rnjAXuXH6D1+0ioX
o1lalmmeVcs5/fjw4OJVK50XO1FVLMrqyePHz+mpbDEbJcVOa5xnZZKVi5K/
Tlo01y9acZHENOfTeVLEFQ1URnE2iY7jLL5OZklWPWphlddFvpiDKMffvn7U
+pAs6cPJTivqRaNgifh3MEP8k2hRFXGa6bf0T1pvUtCPEvw7UyLK8vDJ2f7x
Lv+ZDw5un+BvlwcX+GOcT6fJuEpvE/rrbLbI0jFPmIedTs+SyULG/PWAn7+4
eMV/fvMuGsfjm6TVuk2yRUKTjq7T6mYxouVcKZ23NpP5ET0/pc0qK3r+pqrm
5c7Wlv2uLyP10/wjI2w9eEv7N9Vs+qjVihfVTV5gpkQh5opXSZHRvuTRQEeh
7yIiJW3lq379w7y43okGaTnO+Z/jfJFV4LPLLK2SSXReYTH8VTKL0+lOZIv5
1Rg/6hNxgxcP4mKal9Ewvc7iKi5y/95Bv/Epv3hvukh4ttGAeGkxrXjjHzSP
Mb/qVyMagTgk64/DAWw+b9Ms+nbhZ/G2b//k179ZxHdJWn/h4CbN4vBFo3Q6
7d8tfnXDDzcW/DpdlMl8TotI8zHxXEDp1/36hxvfeFjF02X4xmsdtH+lv1//
7vP87rs4W8YRMfNk6V983g8+4bfuzufT5IF0LWnUgn7+q2v8m1/ZyvJiFuMs
gckuDwa97f7jHf6Rib/LKZ3b6KC6oa1IquiiiLNynhdV1Kbz2InO58k4vdIj
GNGvH/GvPefifz2ZbGMoMAYNlC5m/NiE5rsTPXn85Mve469kCnFxnYTHbYEB
Ev19n8akMwKxGazh1yRjtp8/e1pbxC91HrvR20Wc0Yf8eHScxOWiSKL8iuR0
SmOWIvT2if+LlA6jLIrG19+fJWW+KMYJ5EyuSyY+PL8h4Tmh9czmCzrF0fmy
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
ifjj9HJOq5xf9aOfHA7EdOJ0cXeET/cV9Ki4O4WIokGMMmDBWr69E3QflXHK
DCbquk77su3pFSbopbjibKBS/nyRckKjGCvJdUxLFVw6V5wvNVRm6gMrj5HD
htgp/ft6QZCZtjMpQ6gN5wwArSDstciYAfVnG0+jNvj4NIgO4amrTPeGrx3c
1k8+uK3vv9eWJD/++FBYe9nY4Mss/yu22Csvg62mNbjpgOy6sIAabDjrMIrV
YbBBWOjDrKL5F278IuHheiLyvdtVkx6deiD+NpWJLjlYIBZlSxlP4RBuVGeF
QtudiMv9w09RjMc5nCSzeV5xYcLcp3JuoqWPs+HHgdYu4ys24S2cxKUfZDAj
hIRcEPFNMZd+i3RWljEonSFDfzEzZCxqj9sjGE+WiLNpuUJNf0uiiJhaJjRE
Vhh1nYJS7rnMir+Of0YksOFcp2+70cIN0RATMiVOKdZUcplMTSJUnDVVsVCh
A8IEqOEgzgLwISZxmnnR0RN7Ycqe0xyekswnM9HxQjjxKp1aZp8pW9SRid8N
a71KYi5PVroLBnZnHhof2ag7YLY9YM8214AGrLcVBHV81rgOCwWATMfD6BXM
3baNMp8uWMgIeyN/pyvgsTdjR3MVX19z0NKlrMcMYcAWRBOo97Yqj16dHyu4
QNTLhsca5AMJeteYOt5bD7843Xp0dMY0Q5FxdMREPsM+9QUa6uigMGmyD7oN
SXYD+gcltdKTo+SEnd5NPo9otZLWkTOP6MF3YhODmQeWpsDBMaSFlMvZiMAS
/7q0X73C27kMRjSmHotKnOgxJw9JAvXMpcGnXLUwIbNhLnCRTowLcxXiiVy6
UAIOgK6tceoYCc14kXxgfa60QydyHC4IPAMje1i9nnZWoBHEqA1CJabouygo
kcwZkii8iFqITk5gN/KEELfxjZPROIKwryvMyp3ZjrlQTQD33bSdc7gmnxFU
4Z2RkyewkPFLogkVXNFQJxnLwiKep5PpMqC8TzG7I0ZJ2INAJ6NMGVJgkS5J
Yu+VAL4B/TitenvcBeEV0NHAEObHKCxKxxcRBk6fRanxDq4bjcb8AvgSucII
sG+S3yGFNIk5r2gx179PpE9QP8LkfB05Qpec1A8BYNrPtoUlDNwNw93L8wPh
TxJ0JDelK5duKfYKERoOkrnSSoZ9FdKb4E2Pr9XNnpaIzWg3KA3e4R0uUKSm
8jskzlh4KEH6LPPFFRK1DF1CJiqjmN3tg3HKMqVkkbqioLKE99SCQ7d0HljG
ewwQOr0cnRkyBGa8T8JUS/NwGH3ZI/w8TTzqsFS0HoKBfDqaAMTDDYOVzdNc
Q9N1FP368ITp83p42TtUpp6YZ5adCk0nCjy+k/R65o8u/Zbr5CFzzVr1J8SK
EcWRFqTicBJnN3LmLFu8SbnFA7lDCvDv0vFsqQN6ozgdEy1Na3ATPdDDtJrx
9gItHXq0ufO+BobLIO/SrJMR/JO3UgaNWGhYj1XTJyF6Enp+827wG0lu+uZd
NOD4y4V5Kh6W1VSGXrdGJLXu+fB9rqJ2kVyDO4qu+5rrSdKrpTj2fMglya7R
iKXrOqXhpUFy0fpmWUEzjrDoWtBdN0Jjjq5rw8FPXMVjCTObSHVM6ZLKXIhq
ll4XrgUfnT4Xd5+sb60SWkcLOgtqGj3E/BFL6TM+9v6Bc4F9pTSHYH8+jBT9
mHbTjMsAXP/AGCEQ+QMuPL5HHJHMdHV/XRL4GQABBeZN+P+aLftbmoH9l/FT
zZ1F+CQwKbcig6KEsfJ5GdWtppPcjXSmQLnt0GsHEnG9MaEhUBZVDbMiGPJY
gW47daZEx5zlAvVfCIgP9GLVQOY8nP4nw+ouNsHjsr7dPfVquW3/1FZaKZRz
0agCZfXi2voqIvm0kRz4etapV0YIrUA7uTiTto3z2fwk44JKqFrR18Ns5KFi
BOI2pHoua/ggah8eHBxEzx4/6W+/HY3g7PMhAXdKPCwIsJjHPg5cxaECt3QH
hwxcaj3Qojcn5jYvMWI5czRlj8I18IKhFMuqT6TlnXQVgi4mrVIiFE1iDXxG
ojIl3XITaye48PSxDo0r90rnSJ5o6FgXbs0YTHT3GZzIP6Fv83lvtGT0zn69
OHPQo7bzbuUcShGMAlzi/XX08Tk+dukppLuszgH6JDWBJ0RvQqTgtc2UKJoc
yW9UGIr+Jww2104ormZgArflRBO+4LmPJwBVJOkL9MPxiQRELFIIMidbnAQn
UD9ZqQOevew042tLfA3r1xHg5ArsPP6gVePaSBN4IfFdHR7QGgBk2NfJWl1O
WkAYFEwiA03sRFTSlYrQpHhlttBk5zmXYHJGl5TVAHLxUUoEk1tHQRpIqmvh
5E/U2eIsKktZYhaG7rHp8X5zcSgKQjUMBPcGEvqtC4gVJoWpwkod+YH2zxHT
zlHQ0eNgIADtwFBkIMZO8so72dpS/P3F9lfPfvyxw7bB4VAB4Noz7u0tSY+J
uPTaIV7XJTF4IWcDoSwG2mRw0KExaD/Mn6wQlmbsELZLdAjNt5l4u5yMocnl
Eu6x9yCDCEaF8SigIhoqpLElXDYCC4A96fW1eFELSdjTmjRNO+HlmO+0dCzL
NeYuCQf/8Nk32vZU+gz/kbsCryU90zpoBLKml1u9/kWnwezaDerqQDnXQKda
MYhNOWN92hRPCeML8EQkIGn08Hg/KscIB/Qx22SHjw/gFDiSaxUTYPmKa0/o
RF6zGQmykzTjTlkkVG7Zu+Grzq32iEllJeRgiBc8PB2Gzz8n3ElElN6lpNm9
fSM/8rQgTZBMrwJOj4519WcgrKuMCovCjT3bjW4Uc6lA5y45rAe4fCfmShDP
ygef4FgtAVjX/gDa84aUXLQyz3orELbSsirkAvYY8CQVFCrmeJOQIrvxjWKN
EofZOC4rlX4mfqyU2Z1gpw6sxrpR2wzekMp+tVuD0BPZpwzapKIdqybVPJ2t
SeH425JNMCtYNYUtnWKVMemZRAQnH0p5Bl2DsAxZeVDK68FTKJWCJGc+Qmui
xHXyNHiEn5HCj2y8KIpEywR9USwLGyntBhV5jPXV4u2TnW1tr6DPyegueV0c
RDk7b0boMDoXsSXlOuqwW4n0rbCB9JFwKVqSgOFlR6PHScPVdg6Ibl0W6gFJ
l9dWy28Ncq7XeTUYuzddG0gXXeve4P4WUgPCXkx6hasI1PWPEfDGiTVOQyIg
XDyNXIJGOISkVWw1uED2CMZyeK3zwmfFC0vKQMJu7Hv1stWF5FSyH+2RwQRw
PE3kYO0vsxghcrTHifYc6UR+XsmD6vYTEe+Dk0Vi3Us8B7PIQbIG0n+5VJJ7
UuQcrb7zpBMIzD5MPHATo1gGoHgyTTi90fyd9gimcR3PPRQOM2G/fPw4ysq/
/Omfn0R//jfJIlY/Y43UKr8ZrqjtxJIh9CRBqNAUvJc33FEWi9zCY+zJgDV5
2X0sGTkHfyD+6g2w9Zzy0hti0UovUFHzguvUq/FpI0XcibmEh2auUib0hAAy
IFrerHrSuCLZfG7O8Qd/QF92JZ3JwaEnj4/Pol8iWtmpn1PrZuaLgrW9qg/K
4SuXRn0s0YTj+L53nCCCDir262LKsQAnCfIsbeE4zR0YUtxIBuu9SchyRD4G
7wm6oeDMWSYwPFXXtdGAufmR4BxbzlAqRSO01Jcb+lgxWZQoLyJHlOgPDISu
gGg90Zjxxdio+dLM6DV/d72qiYVcz9CRK2x6uIGuAe/G6XVZpg03jn38Aypx
MtgS4qQ5UxFyhpPxQ3QZsPwPNXfOR3w3TK22cRuYUFKthnZOnH/jiP7RJlth
fhNrpX00SuOyo19tklQ2ECSBPhkdJxME2/1fVjSDJd/5yehp/yF6AxRT/6O9
KlA7aweFREZ2zOqovMi2h+YSoARfnZ6edvz7ZKnGCuD1nuMl4YNPb6o4dJQx
LqzdIpjlsJYL+QBnTrMdf83PyJ6cenqlR7VI5FCn6sf739Ua0j7Eq/PKNSGM
9rgHcbF0OEdvR6h3uNKHpNsAGhWvyW5mw1UCwtokA3vu3EDiJ3WuOm5Ch8x3
xpYul819HoAb2JrTqX9R4lshtr1Domve9S7bEWHHa6nicJ2erKmTZBiuTBL5
wd4ZXSbXUm2hLaLFFY1apKdbX3ajwW+OZHRSQNpXTxrcOZLxzVjaoV0ayGum
t0+zdCtzDc4sDuFCOwSQcN8HTK/QsqrtkmMcj2OxjBMsw8UITjVzwO23xSQw
Tx885OsQZpKPw0GBWS6hEF+KprCODT4p+tqpNVyXbnWI+5DZCiozPIEiZQrS
FhDxJAlOH0JApQ6Y8bTQvbYpLkLhUl70LgvOVFs0usuu6X64wrvYjcDCniRM
zFKOjzTP4wodaTYudiWvL+RKoNBqKQaAgu+VmwQ09oqOriSF46p3AV+OiRjr
lcfIRkooxALy8sMHcmo9YvMiNBdGXNwsyXO3mJNxOxQ1WqViodwyFTnBZaMB
Kxmw03ypbdhj5N72KlQvt/mX3Fq1I71Uae4rX/XKBaxUeYoXihZ+GnTqS9hh
RBJmrJXRxnLt7Z3tjuuQKamqmn8R3kZSvoie7Gzj9U/xR9NEmsVLvuRDGt1Z
YkzzthGf0kS2R+/U5Xs09sER3dnEJtYkvZNglnQIlDPAhRa1hkh1gHmRn3lP
C9Js3VCSsc1fdZA+ym+q174beHM7OfkuHosRWrDdSQ/gT5TmaS9nGvZmWbI/
WFPNOKxCKy31ZWADYzAdX/0vVilozQwCe8xjMO5NESRUA6r04ru41rksQvEe
n0Tf/dB2f89234kjXxHrOSOo5bRml2MkADAyTCVFICj0TDMAVySMA9Br50L4
qILjYjc8aIrBWoaUn9NY3Oapct1Nkwkdy7aQvXfFhYmdEIcepRzP8J33cOpA
6Xilms2rL9dVtcnQG7wQD5kKA3h+bt3yWIjz+RRiwHiiI6ivYEnnCfaCXVPw
BOLb0lLv6CR2cQ47VmXn2v2X0rGTj2NeEewiWfQhJIS2llOfjCvSZ/OVG5TJ
mZKD5qowk4YTypWR09E6Z0YWUuVzWKdncPFaPsKFte2S2ItvnGcidn2fb3e+
mF5F6DTmHtPiADeDSylJ4rSAZPGZZN5b390gEPg9Xq/iTV3xLAYyRrxl5Tox
Q4M5sXbOU9uKzp0oZrLw5QLcAVIbWaAEVlM4bBq8TFFALNkDDgmTTqTwl8lh
aeyE1fOG2im4raX0s+9H57Wm3MFRX0uQF5FXJB/9kTxB73bLJxJJBDi8iwz5
Amb3TRMt6HGZH5J5FGpX/W1tPRy3yWrsgUq1fqA8eXu0AEB8Xu1ae3aS7+6l
+dWV9Ger3TZWy9eMkchoOVgAVZsSaaL268MTgspQKVJHyrX1aTHjV1kl2eaO
MnGIsa3Fju+twm7Z0/F4MY+t+6r4L7k5l5xHBgXpLOmpywDvZ8CB0JP4AuWo
Yey/tVCQ2oNh/2eazmgJ005bPNc89CrSZEZWWd2PDixIVi7KStJnLDHaZh34
Irx10EeP1jWP4rUb/Og/sRs56oZ7h/TouEJH8ilAizTpWYx6QQIQ7tzKZ+IE
iwWEW/QjWsw58M1Ol9yOKzqCT6VCPgg1ZrnCX4Y/rsaLpNavBxf4MW65DbQ2
+jFb+RGjZGl6k2i2OdjIJYnJVnIOqngpSf28Ojvr+ML2cD3OvdnVds2SASR5
UjxdV7gTrNUlzWKtgctkbbiGm0Sw738qxHGl9q4nFWfdWQV2I6a/ORyz0o7c
B4D6elemfEM/zrTjL19PRcxk7rG++CTicjlTh96KL7sNL4152KAxOQQ0T+IP
jIXrlydgwaMFqbBl7XqT0D9ofg+7noXUjrk9HurOEOfHhV3sYqUWH/N1QML4
tlZ5LffHZZ/ULt+ym0zW3XryE6+ceaDTg5ifOejX+Uhdb9LUSPv3JdEd0MmY
A+/JNJ5zriba7rl+gyRWJKgbtO79jkZrhzeL+ebVnQjdAaf15qyr14i46ySk
tBvk6oqXoNQiQfauBh2guvVePt1mRKsRdNJeUzj8jda0gcXrFhQ4oYPOtWd5
fsWZs0bFC77GIMmLRDKNDJjjLTSnBYf6zOHb1rrsTDs2SLPx3h8WyYIRq79R
UFywO9HvwxdGL8MeFO95U37OF9q6LpHvSeHFy99bf4rfr/mSRtHokzSn3OLD
+B5ulN/3UdmgN6N6r1vjylZX5dyoBMEMN6B053PCM1zP5Vf1kQsfSIIrSXpp
Jrl1/qXv5NaHmst86W0fv3+4nsKmRounv79389nifxY6nd/LAfBPN/hEYjoS
NVuJTGy8KtSlAFsPifN6sqwjlzcD1oEgy1qDtOVuVux2qTWzMjs86L2VcIIB
ekJzG8Jcwjiuc6nrpxFGMBotS1x3rYvNraIlf2GlTbTvkQdAUUjX2Uy6kDRm
ObfmSg6741NIJUefQDBN7AaKMLLqBnSiJ2rXOsb9vEGvn9d7xIUJzD9vNIvr
oEwfxMShq53DSM9hw6KlD8MuMavfcsUIUzPoE7mOBRxBkLOEW2rUK+PwXU/6
InMXxEVm4NwV+Mz5+omobaLpyVMC66Q9pX+Zu/HCp5J14BqOXVlT7XIChznU
8v368c8ApZ7jjyt3G4O350E3l2tl5R0KMqek3UlqN6KDkyK9quSiCsn28zWs
IuHhvexxbYyU/fgitzxjfHWblqlAPtwZWlQ9xy0u48vggdOhXmsLSNig9gUT
HLo72P6doGD1RktDB/WLGz+CDn76fcAPgwcAxXLiUkk/fcUtvi/Q7Ulrn1dA
AQct5gIJwq5DXPkED8hSs8tkrXpJFAoaa0ml1k5c+hhJgynktbPY5a5pBJNn
88raqLG1h1pOMq7InHRZ7r5i3ZuM/lvnNG+v5MDXYlIdd8O2cuCU3eGIhXDz
SDamzRmjK7N72EHE6BecNjDjwjJcf2HRiIsj74ToMV3tLo819HUdPhfcXoY1
QkAelyfGAWoymwpJEOLexjJbxj3oXujDPo27ORSu959jS4JsmKRWgRZc9vOx
pdPyeOWrC78YnqtTiic+pC04Z/uIEIDzZtSvhBLiN8+K8E83iGSVgVvSNzGu
E8patkn3MrM0vdYL8pmUb8vAwLFIk16gm2Y0MpfTeA6MaIFypzG/V7+VXeAv
fe2KVKxI+Uqy7DGUkc8sGyp0ULkGX1Ke0MY10dyLmH9Gh+E7dWq63o58KsV5
pZXQNoS0iet4BBDwjy5EOEarH1ny6DOMLYIzwGk3t3kqfQXQDEyuInKqse9P
HUPNoA8mgTLtWIfm6Da99zdc3EQf4S/vJ+kMf7dWbu+llRs+kugs/UIhm18g
r7d+YW7o63FBsDWeHu08qeF4JcYQxHAQRMnW47CmEoo47ejoOODTWpQE0+LG
VtxgXuRXWrpOkDwRj5dyx6b13nImidYJyEFwYhlIsOkcc+pnIj2l+bJZ0vHt
J49xbdhTkkv5vNyCbwl+OH4+8OXVDPPn+MXzL3+m8lDa+fkeknpjRgnTQShm
8sLATSni0PWVEyI4Qu8LQ9XprO2xnJf+gQSvn3hoTn/q69IRLkREnqSL4Vyy
AkPLUtq82NGwjVhDbXZcrCX2V6Dcsxqp5cK6jbR+IrtjtF6hAqrvsBbHF1zD
h4QDpmEgPKcSfAmkzn5N1Z2LLHV3bn30iu06R6+KiVDTMNXdNUBsd0vsjTNl
NVzve6vWbxIFCoJ46pq7WUgcN24k50QIlCCEtZ0QLmxfXLkZBnPDpVuSvdu+
Hy73O81Gk6vwQPytAqZcIVEtB8AoiwEbli86LFivSjOC7928dJk47kuboH3G
cYf1pXlwhXB7zQPpuL8TfTF8vo9moDlO2RdufO48y6t/bsPzRyIr2bChtfC0
LeF2zjd9+P7fxN1dPalbeqpU+ob3KKnPBed7C4of13BpmwlXXo2Ouhl31N1D
BwLHdNFEM0MD3qMNmCymAp3HN1lKcl/Cm2lWcndS5HiadpYAJ4chqgDvaEPd
MiqnOdIVoJCSILu2bUkld3FaWTYrm2iq/WUAQCH1SKHnnUvX3HR2w3xPzeAc
6XrDlr18BwamIW8pOQgtefRXermlNVeSMDfcnKn0ibM8setkUu9huhtUeEqL
qqBezlMS5pSUPJiyJCRReijBzMdXj/Rk/xH5DDoi36ZFJVnN3O/YZ4Vuf0Vi
66un0TfcHjAr51wNRgf39Nz9aGVivjDYWpAW8bVv+c/3UGtJq2+57fEEieGg
K4zjCfa/w9jmDmMJVlNX6feMs4wLzwBwVGQQtuV8fgeN/Mss+ameQ+Fe6ibj
36x2Cr9QTWW71kXNH3mmU6+p9kDKznINTukKZFYknqUEJ5VUKABavWirMVET
IN4n5iKEfMUM2thzv+PgniFpOotGvu6es7oPA4Ki0bJmRTvQjPXqJWF0jsDZ
CWiL1NFICCti9sJKx2KNjBB9gut3TWTolV9E9zlzLR++io1+CcDIAbwu4vkN
IiHSr/FYcjf4wPkLbt29Qnwik7KZVq8Bf6RjO0o0mnIc5Xc9NeH+X5KybsCt
UnIeTyYicISxzPtCsBkQhIv/H0KZRvMwWqz0Ce1N4wWuQGw2VDLKlNz6rJZK
EXLYhVqEv4gIdSJvnmGWIwG3CIikRUCt7fjgJkcI+kwYwKUgAadZuMwVXvj7
w7R9tfQJMbQiOJArrBhu11ud6NfaWiSzzuTWn1kZUVKoSi6nRZ7AwH4HYHLF
fhRCNmjewwpT6wLM5R9UjEhcCzKVdp6vEnK8YeUgurfa6crdPKC3qC3uSd3g
hB9JnsO898EnaPU+OOroPUuqViYTufjL5f+ypHJjhcVmvhkzukyOCTBhUjZb
d+GZU/82U0e3ocEpNPV2y/TrdJfZhojTN6ZDVTDZzfNcayg0Nd9An6W4YK3M
zOI82S/y+Ufp4NGrukw4p1YPGnM3qJP4TvKcCCHNfOS6KOm2kWiZF65EhSPZ
a7Agx8nxt61Vb7FqnB2990KQFRKswEXcHYK3yi32/SSUJ+yBtxfYrXbNW8vw
b9dyvn5LWeTHw1VKe9Hn0Qf6/5v3Mp3Po+F7zjfAvUon6r3eoyc9WCG1z0Qk
mfGBvqgTnIsium64lyQ7SUJlXiB17QUYc6m1EHbHIc3n1fZXL590o1fDZy+3
6Q0n9BidArYW+O1aYxq7C3jzTOr767T2pV6aoABysH+cPST3SBVLXAPor/vb
5mvyiQyePWsO2Qm9qHKl5wR3JX9B21cccVbAqb+DflcDU5XEjIJsznidzcWB
xpp7mN5QBuU34kZeOknPhrXCC+duHD5/3tFurfIUkHnwkHtG2C28wswctrim
BzdRQ8r6XCrfKoLtzbXmo2NEcQ0Y9NRyWb0uhalo19gELg9/o7LIGnP8lNqp
s+EtUbeytXOVbrGr3WawfEhef2eD5A50HRTpqWkTGoHgpxeRXGsspuCCTeG6
f57sbw45oFHWMiCkJcaoSeH5aiUp5vz9N+8a18bzOfOpP/UbAdQJ6P0abB9r
BGzV9R44ONdcY2J3pmrGuArIhszADPlytvvoiP7/5v2HW/pjn/4/oP/rge5H
30Ja7NAj4T1yq+98IQOED9Hwdf9d6aOBUZsf/8VL+plQB6fn9dvdreO3u50X
NI2X0gUO+ITMmS1xijqJE7XNk9gJ69iYWdi/uGUDv6DlvHSUUI5IHUpoK6b/
eUB6FYUvAqnmHJN+A2si7tVw+6styDlQlCXd1uHJBd90R+O8ksLWJzhGkKVi
cYxy8CZv1jtzt3W138KVgODoH/4edOpG+//wjwHx3D0dYcyLmWQl4LUppoWI
1/mqtPyp0ScHapuiOKjtIU4O9BPfCd7n6jM3N/ESBj44ZAOVCGzJF1JMhmws
rueBcPKeuUPnmfuBm/WbvkRqVT/oJAT76WOFaOrnDBoJrXpV6UPzm+JoQ0yH
3k7ry9NW03fvWymUQflW02vI44tbEFGji6MuBxqa++niNisbup5oEsnEWgfo
t+H7WzzsxrKg5gFjVPF9nuUzTTJToQO+bX0qN/CB/Xf83gRQT7Lwgm4+ljvi
7o3ga+SRvgbpwn0HJz2aYiFQjztsRGFtRWi/HGbu850gJwTHUBP+DwPNp0E/
Tia7OOqH3CSAUhNJMmQ/TTUOIdW5nEhiHv5RXKalZsL6bJO61tF7Ti4vmhcy
OqUSOgOUYLX+J+tp5rN+rWQY5wbFV7HW11/lRXiht/qNnEey3FmfuhLY222m
XRiudR7X6zyfcAWbsxeaBvdKsgBKiS0w0Ugp7Ec1KpTqTSKwmgOqL9h3HU+X
IDcJtPD0Iwm6TtBNCbDtV28OXcd/t152d/GuBtHUIDvIJ12wAqaDE7PfSXsV
lTUrFTmQtY5VEb3T3dUh3UYk/UZ6jPjECcm5kQayYcsTnmS31m1EfrqS/NsG
TuzWG6FKwF6QIc+k3qNo7Py9rGbpPOccouUhNPam7AAnLAMTqANkfKFfiXfX
vRZ28D71oEEv7R5BLnHHa4MDDeyS0Vlp9k1yDxKJWy2cvHSNlHxb823IIuFR
YYftXjMBXO9YVfyNg8pGG4M9najtuUJtJ3/f2/fEL8JH9knHR1Dj2Si9XnAC
9y9GRbT1S+M5e3aH6FDvHWH2n6AMTRAQILqBJGaEhoWZIZl8UbE06iRCoUcW
e+gcnZRGDa6oBIoyEpRboDV3jmCe6lk1hdhp88279/dEnvdBcRONdjB8T/xQ
5fSf90Eh0U+7+9bIt0J/puBpLUL4EKJ1xawVNyXrE/X6amWaZq1aVIGUTTKb
S/IJaik0DaWQZCUizgBXvxCV9WZ10uXv1Q0g3R/CKdnoE/9WzIFGUZrIOrbE
+atLZ0PiLke9GTqohEW3iItzUzIagbaAYIfmUJQNznyBlsaTPJE6T31olaXD
zH67MAHOKT6zGw9h5burBkeRprQrokCLFiHfEXhD+ppd+Sbx2BhuNNdcJfTW
qEkIBg8SG9a3GXrlu5iA+Wr9ycuudioLZGS9JFOFPXs9VG5LeG2UZnL1OCKo
4nicaAz1AbUSzd43ZsPXkvBKenF5JV1EcdQclUKY/2Ge9qQboALCTVgPSBD/
+0zg4AUw3fliBm0oMFAv+EYsTYLdtJgpYpEKTvgqbBLKyf0NqVV89OJBS0VR
HAkThUiV5q6mGntFq0KCGuIN0KRwZ7S4ZPorGs11AU4EQvEQ/i6nSWKlwGxS
iOsckLC4pYPA+BM/+MGl+js0w1lahqKDD4eLYp6vbzW6Fq068NjVu+rFJOgG
aN4uE1sHULdIMZccAwTeQ/XMRpTn0kf5PV00FelGzQISeXATwiJc1kRkCJQR
aooeipoeDJocdikFoawiEwdKOFONRMi9xLx+6m/RWja7zj8JwlypTuMkMU8F
Byk8JWJKnXlD1i70KqPd0ahwZGkaVXH4pRjCcnGD5nnaDb/u34cHF698k4vQ
dA4QVb3O3swKdxZbG0q0Du7pewkayRUKcN3BtwprI1vO5DbqVlCDvMapFUmr
5TK4nH3Xfk4HGtG++1b7++9BVRsXTRRxCB39Pm4JntG2bz95KpfGPdoL7aIL
FpyyMqyhVvaoCSU0NHetfUSGSBFPMnjIt58/Rxsy6dqB5QMZKY6vGV5iBa9v
tiHtWkMwTYyIeCb3V5RWo9rrDC0FufqhCiZcr7bg5iKYvPrV9NUrbRQ4eBHP
teuikiaaOPKheVPtB743hISaEGXnRHHsKWRa8FsrbvhITQNe+eTLp0/X7MZx
wGcP343oP0TH47eLOJ3wvjwP9kW8Rm7UNFFOfdBuSFuPYEcCTKB5MX6l69WV
0CmyJXvVboQKfGr1XoJCZ56/paKXIQWfPfnimVAw7Ie5ibdBrJRQSIQb0Keo
Pn+8/TW6bOk+OjZgpmATaZxImTI3UOWcEOEmg2ZBszBpFqHJVGH3GKHhu+Ot
8/0T6znIkleJ27Qdg1uNmjJpml5nnmWx+pDtGpR5/gnKBHy2iTKf4KCARD7R
bJGN5RB4KqV+zWZLW0WC9jz2KdJ1hvoUEgpYCyu2O6hdaXv9Pr8md9UO4/b2
cwIMPNL213oucYMerUo76y/4vmo8wgaI6uXECmF5iziS1RSSX7+gz9NR3KCr
1p6akgruZqbzmF0vyFbdYSuk62wRXLH39vLw7GC/G52/2T060j/kO3En2J/2
/OD0+PjgZB8/Od79rRD+dHhxeHqye9R3C0b34EJ6p7GdQHMrk6AQw8+TjTlp
lI0u0yhrJbn8QjIgOJS7KBP7UeV/aBjbCeyeuynUbg77JBLQMhLcQYcrvQi5
Fh4ihEeFU3tCNVFT7OhqSIYQjyNlOfCnogmtWzybNZvvw6t31hLFLNeg/fgj
d1y+n7vAN9rJcNtFjzfkDfXbAOpXkgXXkb1oiAFnXrpYVbbUtfBrOEkMdCKc
u+BGch+n1cSdck8uzgC195j3Bu9xDiDXHJFkGlOs0Ct9fG4olyHeuZ9YC2mb
1bg2KyLTMmfQlZfuasvw2gcAK5M+yOCyHVAttDIaTC7BjDwUIwOuEpd4WQIc
S5DrxrYQzakhUmkDGdjO53zHO6+64UbWbg6wIha8yxKmZRsqcPjLbcxpRpux
t2aAVPocezPrgZauYEVJaIaFZ4RZrnRkBRmdMC11lmNrYYGba9AMJZXc2SlZ
eYXclZVktymBTLm6RLRhIsJuAsOTO+mS+TNOApiM63hwX13ZjOYyOArCFhc3
Dbe8qQ7XLeku5QIDifX7RGXWQnJ/Y7Mpms965ruQ5H4FPsqwlS1DXfanrIJ0
Gs5LkewjKYPTueCC97SUBgX2tLZt0SCcyxPVn/TNe5drRV0oz+2Ke24TjzI0
3BVQxXpr/HqoiAxcthulAFU1ZXD7CScrrxNEjfaVxNC4A6Ar7a27fDdSZ/2l
AWsuF1AVyyGWqbQanqQLbc1LNApvQ+CaNTvG6NVqpTj7lxfNQ5CWQWEu96Z4
ROMT0Bzl948kmtN1HR+IqKgg4iPh4WeUj+CMYOCFaRaZ9FsyTxaR9vzyQs6Y
u75cSHSdZEF9H4te3DAQz8W2xdH0WpQGT0vXjxsjh33qJNQcLm0ubg7cWJjx
XvurNfGs8ZgThLFe9ewaBeAV+np0/AP3s0mpM6CTqibuGtaVZmye27rm/OaS
CFzDIyXR5tPnkXxMya44gQbL2Xkpbh+47ZgsKpmlx1vSKBmSPh15o7WdRutM
lAkE0fUR/3LiYbAQXESMF5sjkhUwWU7ny4yGlVoRslrKgESuRUe98C3oz2fn
JChMGbgKIc7UcJaicEg92k9nqMy9BzWYrGQ3aG+ClQolJzACkcq62cx7gkSS
0JFMXj66iqdlAozT8Hc4V4CVtK6aBtmq+ljvsYAb4Se1x+Aeoz81baHTb50v
RtzaR0oM6saxgwRiAgWM4mytlseezkmpKxzlE7kUMCTBC3Uyc40AlH/LXf+W
eBcNRwFaLedcCeuLGdjm2acUMKbU4iEnIrmktgySWntbSmO5cGsMDE8WIguS
SQvQgP03Ohe5QkPm2XDekH5AQgZf6AAxBU/AlGxBcfrggSE/4eN8SCh114H7
7lX87PnhoP6wT1w5tMukJ9EAd5rolUh7r4f0iz1pvvuavr4jpTo0IMhPXLzB
EwD//qKjN3JpHX+v3ts9rmax0BW+4Yv6PnKHoDw0OOIUFWfJDcI08NIuLpNn
91/hWa1sR85dmHj7Ss1TefT4nId16u/Ya3W0VtJEKr6bi58/46kux0Q5zpdD
xQFZ7IMb9KbjJ97xgL7ugrj0HZLl3DvliomfeIGH/PJob3NbeH6AxLzzhx9L
gswuB8Xk6/PBkL/X5o6pr2eT26hQTMgXT+BpzhfY1C5dHjh5yK0v/OhQnkRW
+FCTENFVHd+92Tu21sueMXTy/P0ptv6NXr54BLOZPx4O9Ge9YZCSIVlMRpBD
2bDDzBKa+d/44uSCP+cKQedgc9d78TOIPaxt9sPfHu8OtLl1bDQOGfb4iNur
o14G2a1xkdmckMaF68nuWcURexxo7jR/eXEpbdklSTXMG0Dckp854eP7sc50
8tjpefDYqQu6nUsRDR45fXWwD/c+4etXaiEcYLh5gf7NtWPDj5+e4mnp28/X
zcnH58NXOkp0jq4R0HbMJdIAAc8M9zHnDRfD6xPna55YdwiHLC/W3yfG35+f
+JHONRE2OpGkSTzwFtzor4vnz87k7JwR3wGtbjpCGvXU5znsPNC+YxNvyFur
vCfym4sLDgPhXseLIp17Hjo/OOccaIm3rV0s4OsPtmeXnHaMRib83cVgF0fn
ArDXqJlVvV2xz1gPBufo4vxcInXuFjoFn+tei6taf2j6J4I71OWZi9Vn/Ph4
5N3RLvbinVay8b/w8enb4FNNLJANwde/GeIQ1BLzfdsKzi5ocyZpOu4EsSaH
kdSXZBpePEa74w8ZGtRPpB5tE+hKuSLhg956kRFokRuLFZZPyNpZKGpmHa+J
QrVmAN+xCD0cDo8l4w1uh1mi91hnE6vNkM/jVIqHUvSAvLhB1QqQyCAucEcP
cQ3hyOwmh9+kS6LjJoaxtJcvxvGEWFeBdH73XZwtY2ikiVgj3JGGc7bIFE7u
tL/XzCxwghXs02fKaHQp2t2RdMIB4lQ9H1TCdBwe2nco8gGwVbCYWC/sWNRi
EsZ1StQahlV020Iv7ViKvT6Cw3wG5EBSoJCfeqno2IWk2eYMvvBxaf2m1QxD
S83pdDWMUEbtP/+PJx2JAusyan9vbcYo+OkXnTDSzNl6rzlfravJ9+djdkz7
PL6uhaMJANFDKbdU1sup6LvzYTc6Hx7vB3FpFyiHJAxUrd5RgF2gmTzFTPaH
CKF3oyH9/2AI9jroRr9LziDl3b/3h5ErmfWScsskIY31ZX/bbtbs6sddkrFd
u+FG7c93STH6+GOvD08QRB/85sjJF0f1L/tMd/qsC2VCvzrd7+KeB/7PYTe6
xF+Pjs66Jvntxmxxd3Sj4Pb5blS7ftnG5dFoErqPK1d90DS+6kj8XJIF+fJE
+avduKdxHXW0rFzE1XXhn/CKKDdnvsKiC6C3pfdrSN4mpyPYm8MX2Gj13wt0
o0U0GzbSCr7GCtCSl9Zba11OjOO7ahPHNftId9FbtysteLsAIeC0ek9XcM9q
o9K1aRQyg/obefwNA68O0fphTYdJWuCzjuSNdGu98rphKkmtn1w3cv3SupHr
FAal6//eCtJZai97jpf95U//spKX0nX+ha619+hqs4lutLahRJfbCnSjNWX/
2N+wdL0b1QuyiWpcjby1rpy2y70FsIQ1aUy0hO3HnUYKf7uZddPp1jOCu0hf
7Vr2pux6mMTWHM+R5qcP5G/kYa1Ey3Z9xh6uqxQCmKLbU0V3Yan3lrP1YJU2
970eEawFWi5lDOu2af5GVgytvLimKWnbE83XXXb9rX92CuqpDFzBuZhOW955
0pc7n9WC5WW0+XoerwFX1Bng6v4looP4zxmOwisi+qnmxcGO7EJaoprdefG+
jYvZYo5WU2nOooEh5jmn5nXxMaK+uI7ryBIHdg9N3GzQoJjLF3Ur/nTu2o39
RLW4ogoDNQmNyMrxIy4Dns1TM8MDRUmkkBL52mfDdC6JJ7VPVy3aNUrTqdQN
2hgTIRW6XjXaTd4DF95onw06gUbt1lViDeFDLtW1tbyL7ZeG5qxpx4+p0Zrm
rOvsxqvZPqAXfvX/VWWu0eOY1Neqg7bsBpWPqkPzS6xqRZuNvz5AVeSW75z/
12vLph7HCp79NDUXtOjcqPFW9Sle9Pwhyk1KpUzFuX9tVnQ2yb9C3QUqbqPi
60brqm+jtfoci91+XFdeqwprfWrmx7XhGs3LL+NTr0lHXZcf1XXJPe5vz/Xb
7e3nW5ys8cP6rMmgPycpN39tnaba19QeKbf/CwCqiKR61gAA

-->

</rfc>
