How does Jeff Geerling afford so many Mac Studios?
Can't you just put a real PCIe NIC in an eGPU enclosure with a fan? I bet you can solve this problem for like $150 and two craigslist transactions.
Dang, here I was feeling slick with 10Gb between my MBP and Mac mini and NAS. That’s the thing, it could always be bigger / faster / more. It’s enough for my workflow, but it’s fun to see people push further.
> I can edit 4K video straight off my NAS over the network,
Nothing against Jeff Geerling and I love his YouTube channel and I'm glad he's one of us HNer but this crop of circular "I make YouTube vids about big tx speeds and big NAS because I make vids hence I need big tx speeds and big NAS so I can speak about big tx speeds and big NAS because I make YouTube vids about big tx speeds and big NAS" videos is a bit tiring IMO.
I'm not into cryptocurrencies but, I don't know, host a full Ethereum node, host a Plex/Jellyfin server serving thousands of movies, host LLMs, etc.
I mean: talk about something else than editing vids because you make vids about vids.
To be fair he also talks about NTP and RPis.
I'm using the sonnet at work. Work paid for it. Yes it's more expensive. I have gotten over 25 gbps bidirectional, but not by much. Maybe 27. A big downside is that it only supports 15W upstream power which I didn't think to check, so since that laptop only has 2 usb-c ports for power input, it's a bit limiting.
The upside, though, was that I plugged it in, got my throughput, and never had to worry ever again. Remember that engineering time is mucho $$. So troubleshooting overheating, divising a solution, manufacturing it, etc, that all eats into the savings.
The $400 dock would be cool though. It seems smaller than the sonnet and fixes my charging problem. Weirdly I didn't think I'd care about not including transceivers but they did actually come in handy, so that is a downside. Might try to get one of these if I need another one in the future.
>I'm using the sonnet at work.
I initially read this as SONET[1] and was seriously questioning your technical choices.
[1] https://en.wikipedia.org/wiki/Synchronous_optical_networking
hey. hey. not everyone’s on board with this packet switching fad, buster.
what a man does in his own homelab, even if it does involve ATM, is none of our business.
Somewhat off-topic: has anyone implemented USB C based networking?
So for instance you have two or more machines that have USB 4 ports at 20 to 80 Gbps and you plug in the appropriate USB C cables to connect them.
What do you need to make the connections appear as a (point to point) part of a regular TCP/IP network? Seems much cheaper than Ethernet if you already have the ports.
With USB 4, very strictly speaking: It's iffy. USB 4 doesn't require hosts to be able to switch roles and talk to other hosts. It can support this, but support is optional.
But for all certified Thunderbolt 4 and 5 ports, this kind of networking support is a requirement. (It is optional with Thunderbolt 3.)
The rest is up to the operating system.
Your so-called appropriate USB C cable is just two USB-C to Ethernet adapters plus an Ethernet cable. It’s very common on laptops without native Ethernet ports. But in my experience USB isn’t a very good protocol; it generally uses way more CPU than plain PCIe Ethernet. This is especially the case if the chipset is using ECM rather than NCM.
You're limited in your network topology because there is no USB Switch. This HN post used two USB4 connections to create a 3-node cluster: https://news.ycombinator.com/item?id=39003469
I used to have a thunderbolt ring network for a ceph backend on my k8s cluster. On Linux load the thunderbolt_net kernel module and they show up the same as any other Ethernet interfaces. Just directly connect them and configure the network settings on each end using your normal tools.
Latency was an order of magnitude higher than twisted pair but the throughput was greater than 10Gbps and I didn’t have to spend on 10GbE capable servers and network equipment. I vaguely remember that they had to be proper Thunderbolt not just USB-C but that could have changed it’s been quite a while.
Yes, there are a few standard(ish) mechanisms for doing this, like [RNDIS][1] and NCM. If you have two Thunderbolt-equipped Macs and connect their ports together, you can use Bonjour/zeroconf for network discovery between them.
Yup, totally doable. Of course, it’s a point to point link so if you want to build a whole cluster that way then you’ll need a lot of usb-c ports or you’ll need to make more of a mesh topology.
I believe MacOS supports it via the usual network control panel. I’ve used it for transferring data from an older laptop to a newer one. The cable is more expensive than fiber, last time I checked.
I have also used a USB 4 cable to network two MacBook Pros to one another and can confirm that it was very simple to connect and it was fast as heck. The USB 4 cable I used was rated for up to 40 Gbps.
USB-4 is basically Thunderbolt right? Thunderbolt networking is pretty automatic on Macs at least: https://support.apple.com/en-gb/guide/mac-help/mchld53dd2f5/...
USB4 includes standardization of Thunderbolt 3. It allows tunneling USB data, DisplayPort, and PCIe. It also adds 40Gbps and 80Gbps speeds.
Thunderbolt 4 is profile with USB4 tunneling, 40Gbps speed, and 100W power. Thunderbolt 5 is 80Gbps and 240W power.
As mentioned in the blog post's footnote, the bottleneck may just be on the NAS side:
> this real-world speed limitation could also be related to my use of my lower-power Arm NAS (running on Ampere Altra, with 32 fairly-slow CPU cores). I was testing writing to an array of fast enterprise NVMe SSDs, so they shouldn't be the bottleneck here.
He was only getting 1 Gigabyte of throughput out of the built in 10 Gigabit Ethernet connection and moving to the 25 Gigabit connection only made a marginal impact on throughput, after all.
You're an order of magnitude off there. The 10 Gigabit connection was providing ~ 1 Gigabyte per second of throughput.
Fixed, thanks.
What are typical use cases for needing 25Gbps?
Author talks about 4k video, but AI tells me that for "4K production mastering (ProRes 422 HQ, 4:2:2, 10-bit)" the rate is under 2Gbps.
I'm not saying it's not needed, - just curious.
We refurbish laptops and hence distribute .iso / ipsw images to various refurbishing stations. (or also, think of PXE/network boot situations). More images x more laptops refurbished at once = more bandwidth.
Obviously it's possible to move this to a NAS, not use a mac, etc. etc. - but just wanted to chime in with my little use case of moving multi-gig-files around. :-)
I was just looking for a thunderbolt-sfp solution. Super timely!
Running local LLMs split across machines. Pretty sure the author has some other posts about doing that.
Edit: https://www.jeffgeerling.com/blog/2025/15-tb-vram-on-mac-stu...
The primary use case is the same use case as having 388 hp in a Porsche Carrera. It's cool and it's fun to go fast.
If you're editing video you're not just streaming in real time one copy. You have many streams that you're going to want to work around quickly.
> Author talks about 4k video, but AI tells me that for "4K production mastering (ProRes 422 HQ, 4:2:2, 10-bit)" the rate is under 2Gbps.
That'd be the rate for 1 stream at 1x playback. Multiple streams because of overlays/crossfades/etc... along with playback at >1x (such as during rendering in particular) will change that significantly.
NAS stuff can benefit greatly and straightforwardly.
A typical NVMe SSD can easily do sequential reads at 7GB/s, which outpaces a 25Gbps connection by more than 2x. NAS is more typically backed by SATA HDDs, but there's some relatively easy way to put an NVMe disk in front of them as a cache.
Do you ever _need_ it? Perhaps not, but there's plenty of common activities just stemming from NAS usage which see a linear speedup, and would continue to get faster up to 100Gbps even.
What if it’s uncompressed footage at 60fps? And dealing with many shots. And on top of that maybe working with multiple projects in parallel.
Normal 4K editing workflows are fine with even 2.5 Gbps wired networking (wired to make latency like when scrubbing not-horrid)... 10 Gbps more necessary if editing ProRes RAW and doing multicam (4-8 streams simultaneously).
I'm in a never-ending pursuit of cutting time when transferring large files though — AI models is one thing, but I have 100-200 GB projects I transfer across for backup or import (using an external TB5 drive capable of 3-5 GB/sec), and if I can do that in 1 or 2 minutes per project instead of 3 or 4, that's a noticeable speedup.
Definitely overkill for 98% of my workflow though. 10 Gbps is fine.
It’s crazy that the Ethernet chips consume more power (presumably - because of the heat) than the processor in the computer. How is driving 25Gb/s such a hot task compared to driving multiple 40Gb/s Thunderbolt ports?
Something like 5 percent of AI datacenter usage is just optics.
They’re not that bad, but even a couple watts of power with no way to dissipate is going to get hot enough to burn you. Forced air cooling over a heatsink is really effective. 15W under load is much lower than a high end desktop CPU that can pull 150-200W.
See also NVMe drives? They draw enough idle power to drain a laptop battery overnight, and will easily hit 60+C in a bad enclosure. That’s only a 10Gbps module. The USB4 enclosures are all heatsink.
is 10W a lot of power? I absolutely don't believe the cpu is using less than that while pushing 25Gb out
you can look up the rated power use of a connectx4 card, they do a lot of offloaded computation, too
It's distance. 25GbaseT is good for 30m+. Thunderbolt is good for 1m without active cables. Making the much more rugged signal is a much more intense job.
And your computer already speaks the PCIe and thunderbolt. It has that probably on CPU. Here we have to receive USB, convert it to Ethernet. On much less up to date process nodes than your CPU.
Third, until very recently for even 10Gbit it meant using a usb4<->pcie bridge chip which itself was hot, to provide a generic pcie connection, which then talked to a conventional network chip, so it was a double hop: USB <-> pcie <-> nic. I don't know if 25Gbit to USB direct convert is available yet but we've seen a wave of vastly cheaper 10Gbit adapters come out that are single chip USB<->nic, probably not pcie at all, that are much much cooler. 25Gbit is probably still not here yet, maybe?
Maybe the NIC does a lot? In past experience, a whole Xeon CPU couldn't keep up with a 10gig NIC if it was sending/receiving min-size UDP packets. Even with Intel DPDK iirc.
> It’s crazy that the Ethernet chips consume more power (presumably - because of the heat)
The NIC in this setup was released 12 years ago. It's built on a very old process.
Ethernet is isolated through transformers on the physical layer and they're always sinking power. Thunderbolt is just pushing current directly through.
With ethernet it's for lots of reasons but a big one is not creating ground loops between distant equipment. If you didn't isolate the network cable would be sinking potentially amps of current between distant devices and that just isn't sustainable. You don't have this problem attaching USB between two devices.
A Mac Studio is over 100 W while a 25G NIC is under 25 W (that's the power limit for a normal PCIe slot).
A normal x16 PCIe slot has always been able to supply up to 75w since the beginning.
A normal non-GPU PCIe x4/x8 slot that you'd use for a NIC provides 25 W.
As I understand it, it takes a bit of anger to get electromagnetism to wiggle that fast over copper. Imperfect transistors using their full operational envelope to control a sort of chaotic thing? Fields and stuff.
can confirm. anger causes loud fast communication that can be heard over background noise. I've heard anger using light-based signalling like sign language might be more efficient.
They get hot using fiber as well.
is thunderbolt not copper?
It doesn't get as long! Long copper.
One of the YouTube comments pointed out the issue is most likely the lack of support for SMB Direct (RDMA) in macOS. Would be nice to repeat the test on a Windows/Linux laptop.
This is a ConnextX4 on a thunderbolt bridge. This is well trodden territory. Unless some hero of open source has come to bat recently, MacOS doesn't support RDMA with this card or over Ethernet at all for that matter. It's only supported over Thunderbolt.
His iperf3 results show that it's able to go full beans on a single 25g port. A cross platform SMB file copy is kind of a meaningless benchmark in this context.
IMO a pretty cool product would be a network switch providing native thunderbolt interfaces to multiple upstream hosts. That wouldn't magically fix this RDMA issue, though. This is just a separate thought. Seems like the kind of thing Mikrotik should make.
I have a 25GbE setup using Thunderbolt, kinda similar to the author's. Except that my fan is held together by a piece of string, not a 3D-printed enclosure.
I found that SMB on macOS is just bad. If I try to heavily load it (e.g. by doing mass conversions in my Audible library), it can cause stalls and disconnections.
I managed to find a set of parameters (in /etc/nsmbd.conf) that makes it work more-or-less reliably by trial-and-error: dir_cache_off=yes, file_ids_off=yes, notify_off=yes, mc_on=no.
It's still terrible, though. It's so bad that Linux in a Parallels VM works _better_.
https://developer.apple.com/documentation/technotes/tn3205-l...
MacOS has supported RDMA over thunderbolt since March 19th.
That is just RDMA itself and seems to be aimed directly at distributed inference (no surprise there!). Now they need to update the SMB driver to make use of it.
For the record this is officially called "SMB Direct":
* https://learn.microsoft.com/en-us/windows-server/storage/fil...
Yeah, raw RDMA is one thing, making sure other protocols can use it is another... hopefully Apple gets there, but right now SMB with RDMA is probably a tiny, tiny niche.
I do wonder what Apple's custom-built servers are running for networking. I wish they still made Mac Pro-level chassis specifically for better IO. Thunderbolt 5 is nice, but far inferior to a PCIe x16 slot (which can hit 400 Gbps networking) nowadays.
I'd suspect that (from Apple's perspective) any form of file sharing (other than iCloud) is now considered 'extremely niche.'
If they were focused on the needs of the kind of person who moves enough terabytes of files around to need this kind of speed, we'd see them still making either computers with slots, or first-party 25Gbps networking.
I'm not really trying to criticize them for it -- Tim Cook's bean counters clearly did the math and they're certainly free to optimize their Mac R&D spend for things that'll sell college students MacBook Neos and Airs, rather than worrying about the MKBHDs, Linus Sebastians and Jeff Geerlings of the world (this is just a list of people I've seen using extremely fast networking).
Is RDMA something worth looking into for connecting two random Linux computers? I've been extremely underwhelmed by the stability and performance of my NFS shares.
NFS 4.1 / 4.2?
Yes, nfs with rdma will increase your performance significantly.
If your storage devices are native PCIe and your network is actually fast enough and your nics and switches have the proper hardware and driver support and your switches are properly configured and your nfs client and server configurations are tweaked just so, and you hold your face in just the right position
The perf is amazing
I do have stable diffusion running on a non-Nvidia GPU, so I'm familiar with the manner of rituals required before contemplating installing system updates or even suspending the system.
Now, I'm off to determine if an eMMC M.2 module is a native PCIe device…