Networking for SI

Networking for SI, Part 4: Ultra Ethernet Against RoCE

What Ultra Ethernet changes against RoCEv2: its own transport, packet spraying and congestion control, and which products are sampling, in market or qualifying.

On this page 6 sections

RDMA over Converged Ethernet (RoCE) carries the InfiniBand transport across Ethernet and depends on a network that does not drop packets. Version 1.0 of the Ultra Ethernet Specification is dated June 11, 2025. It replaces that transport with one that expects drops, recovers from them, and can spread each flow across every path through the network.

RoCEv2 against Ultra Ethernet: one lossless path held by pause frames, and one connection sprayed across every path with drops allowedA two-panel schematic. Left, RoCEv2: a sender, two switches and a receiver in a row on one copper path; a queue of teal bars fills above the second switch, and dashed copper arrows labeled pause run backward under the path toward the sender. Right, Ultra Ethernet: a sender on the left fans out over four switches stacked in a column to one receiver on the right; a small teal packet rides each path and one packet on a lower path is cut short.GUIDE / NETWORKING FOR SI, PART 4No drops, or every pathROCEV2 · ULTRA ETHERNET01 ROCEV202 ULTRA ETHERNETpausepauseone path, no dropsevery path, drops allowed

That difference decides how a storage network for an SI cluster is built and tuned. Part 1 showed why RoCEv2 networks lean on pause frames and what those pauses cost at scale. This part compares the two transports on loss recovery, path use, and congestion handling. It then sorts the products that cite the Ultra Ethernet specification by what each maker says about them today.

What RoCEv2 expects from the network

Remote direct memory access (RDMA) lets one machine read or write another machine’s memory without that machine’s CPU copying the data. RoCEv2 is the routable version of RoCE. On September 16, 2014, the InfiniBand Trade Association announced RoCEv2, which let RoCE traffic cross Layer 3 networks using standard IP address routing. Each packet travels inside a User Datagram Protocol (UDP) datagram. The IANA port registry lists UDP port 4791 as roce and assigns it to the InfiniBand Trade Association.

Inside that wrapper sits the transport InfiniBand clusters use. Mittal and colleagues at UC Berkeley describe it in their SIGCOMM 2018 paper Revisiting Network Support for RDMA. A receiver that gets a packet out of order discards it and sends a negative acknowledgment (NACK). Its sender then retransmits every packet sent after the last one acknowledged, and that scheme is called go-back-N. RoCE kept the design, and operators made the network lossless with Priority-based Flow Control (PFC) so those retransmissions would rarely happen.

What RoCEv2 expects from the network

RoCEv2 wraps the InfiniBand transport in UDP and expects no drops

The header stack on the wire, and what go-back-N does when one packet is lost.

Top panel: a packet drawn as five header blocks from left to right, Ethernet, IP, UDP on port 4791, the InfiniBand transport, and the payload. A note below says the network is kept lossless with Priority-based Flow Control, IEEE 802.1Qbb. Bottom panel: a sender on the left and a receiver on the right. The sender sends packets one to eight; packet four is lost. The receiver keeps packets one to three and discards five to eight because they arrived out of order. A dashed arrow from the receiver back to the sender is a NACK. The sender then resends packets four to eight, which is go-back-N.01 THE PACKETEthernetIPUDPport 4791InfiniBandtransportpayloadThe network is kept lossless with PFC (IEEE 802.1Qbb)so the go-back-N retransmissions below stay rare02 ONE LOST PACKETsenderreceiversentkeptresent12345678NACK: resend from packet 4packetlostdiscardedresentNACK
Figure 4.1 · A RoCEv2 packet carries the InfiniBand transport inside UDP on port 4791. After one loss, the receiver drops every later packet and the sender resends them all. Eight packets and the fourth lost are a drawing choice. Source: InfiniBand Trade Association; IANA port registry; Mittal et al., SIGCOMM 2018.

PFC is the amendment IEEE 802.1Qbb adds to bridged networks. According to the same Berkeley paper, PFC brings head-of-the-line blocking, congestion spreading, and occasional deadlocks. Large RoCEv2 deployments also use Explicit Congestion Notification (ECN), which RFC 3168 defines for IP, so senders slow down before PFC has to pause a link. The DCQCN paper sets switch thresholds so ECN always fires first, and Part 1 covers that history.

AMD adds a second limit in a May 6, 2026 post on its networking transport. By its account, RoCEv2 keeps each connection on a single path, so equal-cost multipath (ECMP) routing cannot spread one connection’s traffic, and go-back-N resends the whole window after a single loss. A maker is describing a rival design here, though its go-back-N account matches the paper’s.

A transport built to lose packets

The Ultra Ethernet Consortium (UEC) wrote the Ultra Ethernet Transport (UET) as a replacement. In the specification’s words, UET “sets out to address the shortcomings of RoCEv2” in semantics, the transport layer, wire operations, implementation complexity, and scale limits. Applications reach it through the libfabric programming interface instead of the InfiniBand verbs RoCE uses.

UET still rides on ordinary IP. It runs over UDP and may also run directly over IP as an experimental option. A path-choosing entropy value goes in the UDP source port so existing switches can hash it. When version 1.0 was published, IANA had not yet assigned UET a UDP port or an IP protocol number, so both fields stay configurable.

Four sublayers make up the transport. A semantic sublayer turns sends, reads, and writes into packets. Reliability and ordering belong to the packet delivery sublayer. A congestion management sublayer paces traffic and picks paths, and an optional transport security sublayer encrypts and authenticates it.

A transport built to lose packets

UET splits the one RoCE transport into four sublayers

RoCEv2 and the Ultra Ethernet Transport drawn on the same rows, from the software interface down to Ethernet.

Two columns of stacked layers on matching rows. Left, RoCEv2: a verbs interface on top; one tall InfiniBand transport block that spans four rows and notes go-back-N recovery and one path per connection; UDP on port 4791; IP; and Ethernet, which must be lossless with PFC, outlined in copper. Right, the Ultra Ethernet Transport: a libfabric interface; a semantic sublayer; a packet delivery sublayer with the modes RUD, ROD, RUDI and UUD; a congestion management sublayer with NSCC and RCCC; an optional transport security sublayer drawn dashed; UDP with no port assigned at version 1.0; IP; and Ethernet, where LLR and CBFC are optional.01 ROCEV202 ULTRA ETHERNET TRANSPORTverbs interfaceInfiniBand transportgo-back-N recoveryone path per connectionUDP, port 4791IPEthernet, losslesswith PFClibfabric interfacesemantic sublayerpacket deliveryRUD, ROD, RUDI, UUDcongestion managementNSCC and RCCCtransport security(optional)UDP, no portassigned at v1.0IPEthernet, LLR andCBFC optionaltransportinterface or networkoptionalmust be lossless
Figure 4.2 · Where RoCEv2 has one InfiniBand transport and a lossless Ethernet, UET has semantic, delivery, congestion and optional security sublayers over ordinary Ethernet. Source: Ultra Ethernet Specification v1.0, sections 1.6 and 3.2; InfiniBand Trade Association; IANA port registry; Mittal et al., SIGCOMM 2018.

Reliability comes in four delivery modes, which differ in ordering, duplicates, and congestion control:

Mode Order Delivered once Under UET congestion control
Reliable, unordered (RUD) Any order Yes Yes
Reliable, ordered (ROD) In order Yes Yes
Reliable, unordered, idempotent (RUDI) Any order Can repeat No
Unreliable, unordered (UUD) Any order No guarantee No

Section 3.2.2 of the Ultra Ethernet Specification v1.0 defines these modes.

RUD carries the bulk data. Its packets may arrive in any order, and the delivery sublayer drops duplicates so each one touches memory only once. ROD keeps message headers and other ordered traffic in sequence, and RUDI suits tiny messages that can safely be written twice. Because RUDI and UUD skip UET congestion control, the specification asks that they not share a traffic class with the other two.

UET also groups features into profiles. A high-performance computing (HPC) profile has the most, and the AI Full and AI Base profiles are subsets of it for the messaging AI training clusters use. Its first target is the backend scale-out network, and its listed workloads include storage traffic next to AI and HPC work.

Spraying packets over every path

A data center fabric has many equal paths between two servers. Switches choose among them with ECMP, hashing header fields so that every packet of one flow follows one path. According to the Ultra Ethernet specification, single-path transports such as RoCE handle this badly when two large flows hash onto the same link, and it cites several research papers for that finding.

UET keeps ECMP in the switches and moves the choice to the sender. Its congestion management sublayer sets the entropy value in each packet. Switches are expected to send packets with the same entropy value down the same path, so changing the value changes the path. Under UET, a connection carrying unordered traffic may use all paths to the destination at once. Spreading packets this way is called packet spraying, and it is why RUD accepts any arrival order.

Spraying packets over every path

Hashing pins a flow to one path; spraying uses all of them

The same fabric twice: per-flow ECMP on the left, UET packet spraying on the right.

Two panels, each a small leaf-and-spine fabric with four spine switches on top, two leaf switches below, a sender under the left leaf and a receiver under the right leaf. Left panel, one path per flow: two flows, one solid and one dashed, both hash onto the second spine, which is circled and labeled two flows, one link; the other three spines are idle. Right panel, sprayed: one connection's packets climb all four spines, with a small packet on each path, and converge on the right leaf. Under the receiver a row of eight bitmap squares has one hollow square, labeled SACK bitmap, resend the gap.01 ONE PATH PER FLOWtwo flows, one linkleafleafsenderreceiverECMP keeps a flow on one spine02 SPRAYEDentropy value picks each pathleafleafsenderreceiverSACK bitmap:resend the gappath in usesecond flowidle linkpacketgap
Figure 4.3 · With per-flow hashing, two flows can share one spine while others sit idle. UET varies the entropy value per packet, uses every path, and resends only the gap a selective acknowledgment marks. Four spines are a drawing choice. Source: Ultra Ethernet Specification v1.0, sections 1.5.3.4, 1.6 and 3.5.11.14; AMD.

Spraying changes how loss is found. A RoCE receiver treats a gap as a loss and triggers go-back-N. Under UET, an acknowledgment can carry a 64-bit selective acknowledgment bitmap with one bit per packet sequence number, so the sender resends only what is missing. On cost, the specification is frank. Packets on a congested path can arrive much later than their neighbors, so counting out-of-order arrivals is a weak loss signal, and probing every path to find a loss costs more.

For a storage network this is where the two designs part most. Checkpoint writes and dataset reads are bulk transfers, which is the traffic RUD exists to carry unordered. The specification also expects incast. It says random events where many customers read one storage server “regularly occur,” and Part 1 covers incast from the storage side.

Congestion control without pause frames

PFC works link by link. Lossless mode, as the specification lays it out, starts when a switch’s receive buffer passes a threshold. That switch sends a PFC pause out the port the packet came in on, and the upstream switch stops sending. Loss stays near zero, but pauses can spread upstream, saturate whole trees of switches, and in the worst case deadlock.

UET moves the control to the endpoints. Network-signal based congestion control (NSCC) runs mainly at the sender and reads only round-trip time and ECN marks. Receiver-controlled congestion control (RCCC) runs at the receiver, which watches incoming flows and grants them credit. According to the specification, RCCC is expected to work best on nonblocking fat trees and pairs with NSCC where the tree is oversubscribed.

Congestion control without pause frames

PFC pauses links hop by hop; UET paces from the endpoints

One congested queue under lossless PFC, and the same path under UET congestion control.

Top panel, lossless mode with PFC: a sender, three switches and a receiver in a row, joined by a copper data line. The last switch has a full queue drawn as stacked bars and the middle switch a partly full one. Dashed copper arrows labeled pause run backward under each hop, from the congested switch toward the sender. Bottom panel, UET: a sender, one switch and a receiver. The switch marks ECN as packets leave its queue and trims one packet it cannot buffer, drawn as a short stub. Two feedback lines run from the receiver back to the sender: a dashed one for acknowledgments carrying ECN marks and timing, read by NSCC at the sender, and a dotted one for credits granted by RCCC at the receiver.01 LOSSLESS, WITH PFCsenderswitchswitchswitchreceiverqueue fullpausepausepausethe pause spreads upstream, one hop at a time02 ULTRA ETHERNET TRANSPORTtrimmedECN marked on dequeuesenderNSCCswitchreceiverRCCCACKs carry ECN marks and timing to NSCCcredits granted by RCCC at the receiverdataPFC pauseACK feedbackcreditqueue
Figure 4.4 · Under PFC a full queue pauses the switch before it and the pause spreads back toward the sender. UET marks ECN as packets leave the queue, may trim a packet, and lets NSCC at the sender and RCCC at the receiver set the pace. Source: Ultra Ethernet Specification v1.0, sections 1.6.3, 3.2.3 and 4.1; Mittal et al., SIGCOMM 2018.

Switches help in two ways. UET asks them to mark ECN as a packet leaves the queue rather than when it enters. A switch may also trim a packet it cannot buffer. It cuts the packet short, changes its differentiated services code point (DSCP), and forwards the stub to the receiver as a congestion signal. Trimming is optional in switches, but every endpoint must accept trimmed packets.

Lossless operation stays available. On a lossless network, UET should put requests and acknowledgments in two separate traffic classes so that pausing requests cannot deadlock the replies. Link Layer Retry (LLR) handles errors on a single link instead of end to end. Credit-Based Flow Control (CBFC) is the other link-layer addition, and the specification leaves every link-layer feature optional for compliance, LLR and CBFC included.

Version 1.1 arrived on October 12, 2026 with Congestion Signaling (CSIG). Switches update this 4- or 8-byte Layer 2 tag with the congestion each packet met, and both NSCC and RCCC read it. That release also adds programmable congestion management and a verbs mapping for the AI Base profile, so applications written for verbs can be ported with fewer changes.

Sampling, in market, or being qualified

Three network cards cite the Ultra Ethernet specification by name. Each maker uses its own label and gives its own status:

Product Maker’s Ultra Ethernet wording Latest status in the maker’s words Date of that statement
AMD Pensando Pollara 400 “UEC-ready” Racks built with it “in market”; validated at scale in AMD labs June 12, 2025; May 6, 2026
AMD Pensando Vulcano 800 (800G) “UEC 1.0 compliant” “Currently being qualified” for Instinct MI400 clusters May 6, 2026
Broadcom Thor Ultra (800G) “Fully feature compliant with UEC specification” “Now sampling” October 14, 2025

Each row comes from AMD’s blog posts of June 12, 2025 and May 6, 2026, or from Broadcom’s news release of October 14, 2025.

In a June 12, 2025 post, AMD called Pollara the industry’s first UEC-ready AI network interface card (NIC) and said racks built with Pollara 400 cards were in market. The same post previewed Vulcano as the next-generation card, UEC 1.0 compliant and set to support 800G of network throughput.

AMD’s May 6, 2026 post on its networking transport says Pollara has been validated at scale in AMD labs with Instinct MI350 and MI355 clusters, co-validated with OpenAI, running a transport called Multipath Reliable Connection (MRC). The same post says Vulcano is still being qualified. It describes MRC as spraying packets, resending only lost packets, and using NSCC based on the UEC 1.0 specification.

Broadcom announced Thor Ultra as sampling on October 14, 2025, listing packet-level multipathing, out-of-order delivery, selective retransmission, and programmable congestion control. Its March 12, 2026 OFC release still calls the card UEC-compliant and gives no newer availability statement. On the P1800GO product page, Broadcom describes the same features on its PCIe 6.0 x16 card as advanced RoCE.

Sampling, in market, or being qualified

Three cards cite Ultra Ethernet, each at a different stage

Each card's own compliance wording and the latest status its maker states, with the date of that statement.

A band across the top reads: compliance is self-attested; UEC lists no tested products. Below it, three columns, each with a drawing of a network card with gold edge fingers and a port cage. Column one, in market: AMD Pollara 400, wording UEC-ready, statement dated June 12, 2025, racks in market; its three-step track is filled through in market. Column two, sampling: Broadcom Thor Ultra, 800G, wording fully feature compliant, dated October 14, 2025; its track is filled through the middle step, sampling or qualifying. Column three, qualifying: AMD Vulcano 800, set for 800G, wording UEC 1.0 compliant, dated 2026, being qualified; its track is also filled through the middle step.Compliance is self-attested; UEC lists no tested products01 IN MARKETAMD Pollara 400“UEC-ready”June 12, 2025announcedsampling orqualifyingin marketracks in market02 SAMPLINGBroadcom Thor Ultra800G“fully featurecompliant”October 14, 2025announcedsampling orqualifyingin marketnow sampling03 QUALIFYINGAMD Vulcano 800set for 800G“UEC 1.0compliant”2026announcedsampling orqualifyingin marketbeing qualifiedstage the maker statesnot yet statednetwork card
Figure 4.5 · AMD calls Pollara UEC-ready and says racks with it are in market, Broadcom says Thor Ultra is sampling, and AMD says Vulcano is being qualified. UEC publishes checklists for self-attestation and no list of tested products. Source: AMD blog posts, June 12, 2025 and 2026; Broadcom news release, October 14, 2025; UEC compliance page and readme.

UEC publishes no list of tested products. Its compliance page offers a test-bed guide, profile matrices, and checklists, and the accompanying readme says they are provided for self-attestation. Every compliance label in the table is therefore the maker’s own.

Each maker’s status stays its own. By AMD’s account, racks with Pollara are in market and its MRC transport uses NSCC from the 1.0 specification. Thor Ultra, whose spraying and selective retransmission Broadcom’s product page calls advanced RoCE, is sampling, and Vulcano is still being qualified. On this guide’s reading, the specification’s mechanisms are reaching buyers piece by piece inside network cards, and no maker in these sources says it sells a full UET stack end to end, with libfabric on the hosts and switches that trim packets.

What to watch

Storage is the gap for this series. UEC’s 1.0 specification schedules its storage services for a future release. October’s announcement of version 1.1 lists scale-up support, collectives, and congestion signaling but no storage services. Until that work appears, NVMe over Fabrics keeps running over RoCE or TCP as Part 1 describes. In these sources, Ultra Ethernet’s mechanisms reach a storage network as features of network cards, with Pollara in market, Thor Ultra sampling, and Vulcano still being qualified.

What to watch

UET storage services are still to come; four pieces to watch

A storage path from host to switch: what holds today and what would change it.

Four columns joined at the top by a copper line, each with a small drawing: a host, a network card with gold edge fingers, a strip of packet headers for the wire, and a switch. Under each, a solid box headed today and a dashed box headed watch for. Host: today NVMe-oF runs over RoCE or TCP; watch for UET storage services, scheduled for a future release. NIC: today spraying and selective resend as features of network cards; watch for a volume production statement. The wire: today no UDP port assigned to UET at version 1.0; watch for an IANA port for UET. Switch: today trimming is optional; watch for switches that trim packets in production.01 HOSTNVMe-oFTODAYNVMe-oF runsover RoCE or TCPWATCH FORUET storageservices due ina future release02 NICTODAYspraying andselective resendas NIC featuresWATCH FORa volumeproductionstatement03 THE WIRE?TODAYno UDP portassigned to UETat v1.0WATCH FORan IANA portfor UET04 SWITCHTODAYtrimming isoptionalWATCH FORswitches thattrim packetsin productionstorage pathholds todaywatch for
Figure 4.6 · NVMe over Fabrics still runs over RoCE or TCP. UET storage services are scheduled for a future release, spraying and selective resend arrive as network card features, UET had no assigned port at v1.0, and trimming is optional in switches. Source: Ultra Ethernet Specification v1.0 and v1.1 announcement; AMD; Broadcom.

Next, look for a maker statement that Thor Ultra or Vulcano has reached volume production, an IANA port for UET, and switches that trim packets in production fabrics. Photon Fabric tracks the co-packaged optics switches built for the same fabrics.

KEEP GOING / NEXT CHAPTERContinue to Part 5

Sources

Primary is the original paper, standard or datasheet. Secondary is a review, a vendor summary or a news report. Measured is my own test data.

Show all 15 sources, 15 primary