Hacker News new | past | comments | ask | show | jobs | submit login
What is Intel’s Thunderbolt 3 dual port controller’s total bandwidth? (intel.com)
111 points by roger- on Aug 13, 2018 | hide | past | favorite | 55 comments



Thunderbolt, and Intel's "management" of that interface spec, is an excellent contrasting example of IEEE interfaces vs closed systems. I actively worked on a project building around TB2 (and then 3) for over two years and eventually we gave up on the entire thing due to the obscurity of the protocol, the absence of details of the Intel implementations (the only game in town at the time), and a myriad other roadblocks. By contrast I have some historical familiarity with Sony's Firewire iterations and once it became IEEE-1394 (and variants) it exploded in both popularity and transparency.

If Intel treated the original USB in the same way they do ThunderBolt, we'd still be using ADB, serial, parallel, and PS/2 interfaces on all our machines.


Did FireWire actually "explode" in popularity? It was standard on Macs, Sonys, and most business Dell's at the time but it never got widespread consumer use.

The "problem" with Thunderbolt is the same as with Firewire, it's overkill for most of the consumer market. I don't think that's a deal breaker, people who are willing and able to pay for computers with Thunderbolt and devices have plenty of options.


Firewire certainly exploded in popularity post-IEEE 1394 compared to when it was a Sony controlled interface with special dispensations for Apple. The number of vendors offering Firewire peripherals as well as the innovative software built around it made it a mainstay in market segments such as video editing and external storage.

Hey, I'm willing to pay for Thunderbolt on an AMD Threadripper (because PCIe lanes matter) and I'm happy to build devices based on it (as noted, that was what I working on for a couple of years). Feel free to show me the options available to achieve that goal absent being a special preferred Intel vendor.

Amusingly, I have some history with Intel... I worked there. I've also seen how they mismanage or abandon anything that isn't core x86.


At least with Thunderbolt the port can be used for other purposes since it's backwards compatible.


Which makes the situation worse. You can't tell what the port actually supports. For instance only two of the four "Thunderbolt 3" ports on the pre-2018 MacBook Pros with Touch Bar supported the full speed of Thunderbolt.

The Macbook has one port that looks the same but it isn't a Thunderbolt 3 port and only supports speeds up to 5Gbps.


That's more the idiocy of USB-C than Thunderbolt itself.


> Thunderbolt* is customized by each system manufacturer differently on their platforms. For this reason, our recommendation is that you can contact your system manufacturer to receive accurate information about their products the Thunderbolt* 3 implementation.

This means ask your system manufacturer to give the bad news.


You were patient enough to read the article? ;) I just skipped to the comments because I assumed it's full of marketing lies.


The link goes to a forum post, not an article.


Thunderbolt is a quite under-documented protocol. I realize it's proprietary (for now) but even by those standards there is almost nothing publicly available. Maybe Intel doesn't want people to know that a dual-port "40 Gbps" Thunderbolt controller only has 32 Gbps of PCIe bandwidth total and according to this question each port only supports 22 Gbps. This may explain why real-world benchmarks don't show performance anywhere near 40 Gbps (although TB3 is generally still faster than any other consumer protocol).


Without an IOMMU it's a gigantic security risk. I don't know that withholding documentation does anything to slow that down in practice but I wonder if it's somehow part of the obscurity.


As far as I know nearly all recent Intel chips have an IOMMU: are you saying thunderbolt bypasses it?

Also, there is the thunderbolt authorization protocol (see: boltctl on Linux): is that broken in any way?


Intel continued to use the IOMMU feature for product segmentation on mainstream desktop and laptop processors launched as late as 2015, and they've continued to launch Atom-based processors lacking an IOMMU as recently as one year ago. Most systems new enough and powerful enough to support Thunderbolt should at least be free of Intel's arbitrary restrictions on IOMMU capability, but that doesn't mean the firmware and OS actually set it up to provide real security.


No systems with TB have any of these restrictions as VT-d was supported by all platforms that support TB since DMA and Interrupt remapping is required for TB to operate.


I don't think this is right. I've come to understand the 40gbps number to be the total bidirecional bandwidth with overhead taken into account on a single port.

Which adds up, because, a single port maxes at 22gbps FULL DUPLEX shave off a 10% overhead factor, and double it = 40gbps.


If that's true, how it's possible for TB3 to drive dual 4k monitors at 24 bpp 60 Hz and have enough bandwidth on top to drive gigabit ethernet etc. peripherals?

(3840 * 2160 * 3B * 2 * 60)/s in Gbit/s = 23.887872 Gbit/s

So two 4k monitors at 60 Hz alone should require almost 24 Gbps, not counting audio streams, etc.


Simple, it's not doing what you think. Actual 4k monitors do not consume that maximum theoretically calculated bandwidth. Indeed, in most cases they only consume about 40% of the maximum possible bandwidth of 8 lanes of DP (which is the same as a single TB3 port.)

And yes, despite the generic support claims of 2x4k displays, it is possible to get 2 4k displays you can't run simultaneously on one TB3 port. It's just fairly unlikely.

In practice you'll have 2 4k displays using about 17.28Gbps of the bandwidth leaving the rest for other things. And there's a good reason for that. It enables MST at 4k 60hz. An example is the Dell P2415Q. It supports MST daisy chaining and you can use two of those same monitors together (not with macOS but with Windows) from a single DP1.2 port. That's only possible because the display doesn't actually demand over 8.5-ish Gbps bandwidth.


Apple's implementation of TB3 on the MacBook pro (my only experience) can only do one 4k monitor at a time.


Really?

There are many TB3 docks available like https://mymantiz.com/products/md-01-zeus that offer dual 4k @60 Hz and as far as I know, they work just fine on Macbook Pro.

Are you sure you're not confusing it with USB-C, which can only drive one 4k@60Hz monitor per connector? USB-C connectors are compatible with TB3.


Hmm, I might be confusing the two, honestly. This looks interesting. Thanks.


MBP have supported 2 5k monitors since late 2016: https://9to5mac.com/2016/10/27/4k-and-5k-displays-with-new-m...


I meant on one port. I plug three monitors in now :)


Not on the same port.


A Thunderbolt controller contains a Converged I/O switch (CIO) plus a PCIe switch. The Downstream Ports on the PCIe switch are attached to the CIO switch and represent so-called PCIe adapters which encapsulate PCIe datagrams into Thunderbolt datagrams.

The PCIe throughput is thus the minimum of the CIO switch's capacity, the PCIe switch's capacity and the PCIe adapter's capacity. The PCIe 4 lane interface is only how the Upstream Port on the PCIe switch is attached to the CPU or PCH.

It is very unlikely that Intel will answer this question satisfactorily because they'd reveal details of the controller's internal architecture.

Note that a PCIe tunnel may pass through a Thunderbolt controller without being terminated on it. The CIO switch must then handle that tunnel's traffic in addition to any tunnels terminated on it.

(Disclosure, I've authored a couple of commits in the Linux kernel's Thunderbolt driver.)


> It is very unlikely that Intel will answer this question satisfactorily because they'd reveal details of the controller's internal architecture.

Amazingly dense. It's like they don't want anyone to use Thunderbolt.


They want you to use it as a black box. It works, just don't ask how it works.


Level 1 Techs does a great video on getting Thunderbolt via USB-C working on Ryzen Threadripper. You can run Thunderbolt on Threadripper, but not Ryzen 7.

https://www.youtube.com/watch?v=uOlQbP63lDQ

I think the reason this question so so hard to answer for Intel is because Thunderbold on Intel goes through the chipset, after which it's on a shared PCIx4 lane to the processor. The main reason for this is hotplugging PCI-E is difficult.

On Threadripper, the Leve1Tech use a lot of hacks to get an Intel Thurnderbolt controller connected directly to the PCIE lanes that go straight to the processor.


The first response posted is absolutely hilarious and perfectly summarizes basically every educated person's attempt to get tech support from any large company.


I tried to get my static IPv4 and IPv6 addresses from Comcast the other day. The customer rep asked me what I meant by "static IP address." And I'm like--wait, how much do I actually explain about what a static IP is? I might as well have been talking to the cat that hangs out on my porch, but that cat was the only one who could kick me up to someone who knew what she was talking about...


It's rather sad that customer support for an ISP would not know what a static IP is. Then again, they're probably usually telling more "average" users to reset their modems and asking if things are turned on and plugged in...


They usually don't need to know what a static IP address is. A good rep will know that this is above their league and connect you right to somebody who knows what you mean. The availability of such a person depends on the quality of the customer service.


Oh, you have no idea.

I worked for a large telco and the new Manager of IT had to stop her first "all hands" meeting to ask what IPv6 is.

Seriously.


You probably didn't get on Comcast forums and start being a passive aggressive all-caps jerk about it, though.


Did they give you static addresses? I would love one, but figure it would be a no.


Their residential fiber service gives you two hand offs, each with 1 static IPv4 and a /48 block of IPv6. Support goes through their residential line until they kick you over to the Metro Ethernet team, so the initial interactions are pretty funny. ("Uh, I can't see your cable modem, is it plugged in?")


If you still haven't gotten your IP assignments yet, you will probably have a lot more luck contacting the "Small Property Account Specialist" who (in my case at least) was the one who guides through finding out whether your location can do gigabit pro. It's also worth practicing the magic lines that get you to metro E support. I've been using "can I speak to fiber optic internet support".


Yes, I finally emailed her and got them right away.


> kick me up to someone who knew what she was talking about...

Obligatory reference: https://xkcd.com/806/, which the other day I had occasion to pass along to a really-great [seriously] AT&T U-Verse TSR who'd never heard of it (XKCD). This one is in the running for greatest XKCD of all time.


I had never seen this one, thanks for sharing.


I had an issue with AWS. First, I went to our contracted AWS support company.

<rant> They are completely clueless, you can tell that they a bunch of on prem net ops people who took a class in AWS and just translated our AWS architecture to exactly what they would have done on prem. This was before either my AWS savvy manager or I were hired. You ask them about anything that involves anything about AWS besides EC2 instances, security groups and subnets they just shrug. I’ve spent the last few months cleaning up things to try to save the company money. </rant>

Then I went to AWS directly. Thier online chat might as well been a chatbot. They just regurgitated the FAQ.


AFAIR Intel alway is like that. Intel hardly open their documentations to the public because they only communicate with big PC/motherboard manufacturers, not individuals.

Intel did the same thing to hobbyist communities when Intel tried to enter consumer IoT market with Arduino101/Edison/Curie. They did open sourced the code (more than a year late since released the hardware though) but never provided good enough public documentations about the chips. Intel eventually gave up the market.


It's always amazing to me when a company has garbage developer support and then wonders why nobody wants to use their stuff or does anything good with it.


Intel actually is a chip manufacturer that has the best dev support for organizations. e.g. Intel is the biggest contributor for the Linux ecosystem. It is just their business model didn't work well for open-source consumer IoT device market which is driven by hobbyist and relatively small companies.


I think Intel has good NDA support for paying customers. It's just the public they don't care about.


The answer is, it depends. PCIe is not a streaming interface, so the effective bandwidth depends on transaction type, latency, packet size, address depth, etc. etc. The only certainty is that it will not be anywhere close to 32gbps, that is line rate.


I'm still pretty disappointed that AMD's alternative to Intel's Thunderbolt, which I think they called something like "Lightning Bolt", never went anywhere. It struck me then as a cheaper open alternative which could do most of the things people would really want to use Thunderbolt for but without the costs.


https://www.youtube.com/watch?v=hjOg0z2XzPE This was it but never took off. If they re launched it next year or 2020 it could be a game changer as an AMD only protocol. DP, PCIe, USB-C and Power Delivery. Intel is never going to let AMD in on Thuderbolt. Not Officially.


What would the benefit be though? It seems that while not as fast, USB 3.0 pretty much covers all the usecases and is actually widely deployed due to its lower cost. Would AMD's port fare any better than TB?


> What would the benefit be though? It seems that while not as fast, USB 3.0 pretty much covers all the usecases

Foremost, eGPU and external RAID storage units. However, only native Thunderbolt 3 implementation makes sense in order to meet compatibility standards.


Exactly this. The exposure of PCIe is way more powerful than what USB can deliver.

But Intel seems to have - for the third time, with the conditions better than ever - really messed up the Thunderbolt launch/promotion.


Same here dude.


Meanwhile, the bandwidth of a single-port 9-pin Atari controller is almost well understood.


But does it do 22Gbps?


You're giving me an idea.


What if they told you their products are so fast they don’t need a total bandwidth?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: