
What is Intel’s Thunderbolt 3 dual port controller’s total bandwidth? - roger-
https://communities.intel.com/message/560462
======
fallous
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.

~~~
scarface74
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.

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

~~~
scarface74
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.

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

------
pkaye
> 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.

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

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

------
wmf
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).

~~~
kev009
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.

~~~
daurnimator
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?

~~~
wtallis
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.

~~~
dogma1138
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.

------
l1k
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.)

~~~
solarkraft
> 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.

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

------
djsumdog
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](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.

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

~~~
rayiner
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...

~~~
userbinator
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...

~~~
solarkraft
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.

------
kbumsik
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.

~~~
solarkraft
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.

~~~
kbumsik
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.

------
dryst
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.

------
Quequau
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.

~~~
izacus
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?

~~~
nirv
> _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.

~~~
solarkraft
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.

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

~~~
raverbashing
But does it do 22Gbps?

~~~
solarkraft
You're giving me an idea.

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

