Thunderbolt Performance

Apple’s 2011 Macs were the first to enjoy Thunderbolt, an interface co-developed with Intel that carries PCIe and DisplayPort over a single cable. As it derives most of its revenue from mobile, Apple wasted no time in bringing its Thunderbolt Display to market. A single Thunderbolt cable could bring Gigabit Ethernet, Firewire 800, high-speed mass storage, external audio and display to an otherwise IO-deprived MacBook Air.

At a high level, Thunderbolt is pretty easy to explain. The current implementation of Thunderbolt pairs four PCIe 2.0 lanes with DisplayPort, offering a maximum bandwidth of 2GB/s in either direction in addition to DP bandwidth. The Thunderbolt interface itself can deliver 10Gbps of bandwidth in each direction, per channel. The physical Thunderbolt port is compatible with mini DisplayPort to allow for the use of mini-DP displays as well as Thunderbolt chains. Each Thunderbolt port can carry up to two Thunderbolt channels, although one channel is typically reserved for DisplayPort duties.

In the past we measured a maximum of 1GB/s of unidirectional bandwidth for a single Thunderbolt channel in addition to video bandwidth over DisplayPort. There’s no shipping device that will deliver this sort of performance, I needed to outfit a Promise Pegasus with a handful of SSDs to truly saturate the bus.

In the 2012 Macs Apple, like the rest of the PC industry, has switched to using Intel’s 2nd generation Thunderbolt controllers codenamed Cactus Ridge.

The Retina MacBook Pro uses a four-channel Cactus Ridge controller and drives two Thunderbolt ports with it. Each port can drive a mini-DP display or a Thunderbolt chain with a mini-DP/Thunderbolt Display at the end of or in it. The rMBP can actually drive a fourth panel (counting the integrated Retina Display) via the integrated HDMI port although that’s not an officially supported configuration.

Unlike most other implementations, Apple hangs the Cactus Ridge controller off of the Ivy Bridge CPU rather than the PCH. The GeForce GT 650M in the system only gets the use of 8 PCIe 3.0 lanes instead of the full 16, but with PCIe 3.0 this is not an issue (it wouldn’t be an issue with PCIe 2.0 either to be honest).

I performed the same test as before to test if maximum bandwidth has gone up since switching to Cactus Ridge. Initial results remained unchanged, I was able to get north of 900MB/s to an array of SSDs in the Pegasus connected to a single Thunderbolt port. Now with two Thunderbolt on the rMBP however I was able to create a second chain of devices. I only have a single Pegasus so I resorted to chaining a LaCie Little Big Disk (SSD) and Elgato Thunderbolt drive. The combination of the two isn’t anywhere near as fast as the SSD array in the Pegasus but it allowed me to push the limits of the controller even more:

1380MB/s, over copper, to the rMBP. I suspect if I had another Pegasus SSD array I’d be able to approach 1800MB/s, all while driving video over the ports. Apple may limit the internal storage expansion of the rMBP but you still have a path to expansion for storage of large media files and other archives. And it’s very fast.

Unfortunately Thunderbolt behavior is still not perfect, although it is improved compared to previous Macs. If you write to Promise’s Pegasus for long enough while playing audio through Apple’s Thunderbolt Display you will still drop audio frames. Subjectively it seems to take longer to trigger this phenomenon but it does still happen. On my early 2011 MacBook Pro the problem has gotten so bad that I’ll even drop other USB packets for devices connected to the Thunderbolt Display. If I’m writing to the Pegasus I’ll miss keystrokes and the mouse will jump around until the high-speed write is complete. So far I haven’t had anything this bad happen on the Retina MBP but it took a while for this behavior to manifest on my early 2011 model so we’ll see what happens. I’m not sure what the fix will be for these types of issues as it seems there’s no good quality of service assurance for PCIe devices residing on Thunderbolt. As Thunderbolt was supposed to be as transparent as possible, it’s not surprising that even QoS overhead is nonexistent but it’s something that is clearly necessary. I’m not sure this is Apple’s fault as I’ve seen similar behavior under Windows. I suspect it’s something that Intel is going to have to figure out a way to address.

 

All Flash Storage Vastly Improved Thermals
Comments Locked

471 Comments

View All Comments

  • Super56K - Saturday, June 23, 2012 - link

    Maybe talking paper specs on the software side it's 'the same' but really that's not even close. Dpi scaling is flaky in Windows anyways.

    And it's really not the same. It's rendered at double the resolution on a screen that actually has 4x's the pixels at the native 1440x900 res. Nobody else does that. Hell, it's rare to even find a 16:10 Windows laptop.

    I don't own a MacBook anything, but some of you sound ridiculous in here going on about Sony laptops with 1080p screens
  • Spunjji - Tuesday, June 26, 2012 - link

    What if I, the user, don't want my laptop rendering the display at a pointlessly high resolution just to scale it back down again? I understand the theory but the execution is utterly ridiculous.
  • UpSpin - Saturday, June 23, 2012 - link

    You're right, it wouldn't sell, because the issue is that Windows DPI scaling doesn't work so well. It also doesn't work perfectly in Mac OS (Chrome best example, they had to update it). And so will many older programs, which don't receive further updates, like Adobe Creative Suite <6 don't scale right (assumption)

    That's one reason that Apple released only one MacBook with a retina display, because the software isn't ready for DPI scaling yet. Apple was brave enough to do the step and force programers to integrate scaling in high res images in their programs because future MacBooks will have retina displays only.

    No PC manuafcturer could have done such a step, they would have been blocked by the lack of proper scaling of Windows, rendering a high res display useless because of display errors. So Microsoft should have made Windows 7 resolution independent (just as all mobile OS are, which rely on DPI instead of absolute pixels), then PC manufacturers could have included high res displays which the customer could have used.
  • EnzoFX - Saturday, June 23, 2012 - link

    MS Should have with Win7? Hardly. That was too long ago and there were no retina screens yet. Even 1080p screens were scarce. Remember that 99% were getting 1366x768 in their laptops.

    You're right in that Apple can sort of force developers to update apps for support. I do give them credit for usually implementing a solid stopgap. Their scaling for older apps is usually good enough without it being a bad experience. Forcing them to update is a good thing though, having that ecosystem of active developers is good. It's further easier on them to target simple hardware configurations. The benefits of vertical integration at its best. Now for these retina displays to trickle down to all their displays =P.
  • ananduser - Saturday, June 23, 2012 - link

    Win7 scales perfectly well for a screen this res. Such an absurd panel jump however is meant as bragging rights. It also serves as differentiation. Instead of going "post PC" like W8 transformer devices at Computex, it adds a huge panel. There's nothing special about the hardware that hasn't been done before, except the impressive panel.
  • Ohhmaagawd - Saturday, June 23, 2012 - link

    Exactly what would constitute "special"?
  • dagamer34 - Sunday, June 24, 2012 - link

    Mobile operating systems aren't resolution independent. The iPhone supports 2 resolutions, Windows Phone currently supports 1 resolution, but will support 3 in WP8, and Android supports a variety of resolutions, but is NOT resolution independent.
  • garcondebanane - Saturday, June 23, 2012 - link

    Frankly, yes I think so. See "the software side of retina" and "Achieving retina".

    I don't think any other PC manufacturer can realistically be expected to do it this seamlessly.
  • UberApfel - Saturday, June 23, 2012 - link

    Apple didn't think of the idea. The screens are simply now available and Apple has the resources and reason to push it to market first. Apple also has their own operating system and software engineers to prepare for such.

    Anyone familiar with the market knows that Microsoft is a big kid nurtured by monopoly and ripping off corporations. The 'big game-changing release & failure' every few years just doesn't allow manufacturers to be first-adopters. Only OSX stays up-to-date, and only Apple may use OSX thanks to either IP or special-order hardware.

    If Asus, Acer, or Toshiba were to shell out the cash to get a portion of the first batch and mass-produce some laptops w/ "retina display"; they'd just have a deficit. Apple is a designer; not a innovator. Anyone who makes that mistake is a fool.
  • MrSpadge - Monday, June 25, 2012 - link

    It's not only about thinking about it, it's about building it and reaching out to make people buy it. It's hard to do this without the "Apple hype", no matter how good and innovative the product may be.

Log in

Don't have an account? Sign up now