---
title: "Nathanael FETUE (@nathanael-fetue) | Hashnode"
description: "From Cameroon to Cloud Engineering at ISAE-SUPAERO/ENSEEIHT |DeepTech & Distributed Systems. Read the latest articles by Nathanael FETUE on Hashnode."
url: "https://hashnode.com/@nathanael-fetue"
---

@nathanael-fetue

# Nathanael FETUE

@nathanael-fetue · Toulouse · Joined December 2025

From Cameroon to Cloud Engineering at ISAE-SUPAERO/ENSEEIHT |DeepTech & Distributed Systems

### [Three threads, two queues, and what each feature of an XDP agent costs](https://pegasus-nathanael-tech.hashnode.dev/three-threads-two-queues-and-what-each-feature-of-an-xdp-agent-costs?utm_source=hashnode&utm_medium=feed)

Three std::jthreads and two lock-free queues get slow RDMA requests out of the kernel without stalling it. Then every feature gets a measured price.

6 min read · [pegasus-nathanael-tech.hashnode.dev](https://pegasus-nathanael-tech.hashnode.dev/three-threads-two-queues-and-what-each-feature-of-an-xdp-agent-costs?utm_source=hashnode&utm_medium=feed)

[10h ago](https://hashnode.com/posts/three-threads-two-queues-and-what-each-feature-of-an-xdp-agent-costs/6af852df9704bfa829574b94)

### [Pairing a RoCE request with its ACK, and why the queue-pair number is not enough](https://pegasus-nathanael-tech.hashnode.dev/pairing-a-roce-request-with-its-ack-and-why-the-queue-pair-number-is-not-enough?utm_source=hashnode&utm_medium=feed)

An RC packet carries only its destination QP, so a write and its ACK name different QPs. The key that pairs them in XDP, and the ACKs not to trust.

4 min read · [pegasus-nathanael-tech.hashnode.dev](https://pegasus-nathanael-tech.hashnode.dev/pairing-a-roce-request-with-its-ack-and-why-the-queue-pair-number-is-not-enough?utm_source=hashnode&utm_medium=feed)

[3d ago](https://hashnode.com/posts/pairing-a-roce-request-with-its-ack-and-why-the-queue-pair-number-is-not-enough/6af44489a4d949f08425e1af)

### [Busy polling or events ? Timing one RDMA write, and why perftest says half](https://pegasus-nathanael-tech.hashnode.dev/busy-polling-or-events-timing-one-rdma-write-and-why-perftest-says-half?utm_source=hashnode&utm_medium=feed)

Building AgentXDP, part 13. Part 12 gave the testbed four links. This part gives it a stopwatch. In part 6, 20 ms of ACK delay left every RDMA error counter at zero. A delay shows up in one place: how

5 min read · [pegasus-nathanael-tech.hashnode.dev](https://pegasus-nathanael-tech.hashnode.dev/busy-polling-or-events-timing-one-rdma-write-and-why-perftest-says-half?utm_source=hashnode&utm_medium=feed)

[3](https://hashnode.com/posts/busy-polling-or-events-timing-one-rdma-write-and-why-perftest-says-half/6af159d1709e0bfcfc8f45f1) [5d ago](https://hashnode.com/posts/busy-polling-or-events-timing-one-rdma-write-and-why-perftest-says-half/6af159d1709e0bfcfc8f45f1)

### [Four rails on one VM: a multi-link RDMA testbed without losing SSH](https://pegasus-nathanael-tech.hashnode.dev/four-rails-on-one-vm-a-multi-link-rdma-testbed-without-losing-ssh?utm_source=hashnode&utm_medium=feed)

One NIC per rail, four rails on one VM: computed names, a priority collision a test caught, and one slow link that sped the others up.

5 min read · [pegasus-nathanael-tech.hashnode.dev](https://pegasus-nathanael-tech.hashnode.dev/four-rails-on-one-vm-a-multi-link-rdma-testbed-without-losing-ssh?utm_source=hashnode&utm_medium=feed)

[Nov 5](https://hashnode.com/posts/four-rails-on-one-vm-a-multi-link-rdma-testbed-without-losing-ssh/6aebe0b832bf0a32a58bea5b)

### [My RoCE testbed passed. It was lying.](https://paper2architecture.hashnode.dev/my-roce-testbed-passed-it-was-lying?utm_source=hashnode&utm_medium=feed)

Why I'm building this When a server in a GPU cluster dies, everyone knows within seconds. The failures that hurt more are the quiet ones: a link that still works but has become a bit slow, a NIC that

6 min read · [paper2architecture.hashnode.dev](https://paper2architecture.hashnode.dev/my-roce-testbed-passed-it-was-lying?utm_source=hashnode&utm_medium=feed)

[Nov 2](https://hashnode.com/posts/my-roce-testbed-passed-it-was-lying/6ae84b659e96b554c5331890)
