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

  • Manni01 - Tuesday, July 17, 2012 - link

    Great review as usual, but I would really like to know how Anand was able to check if Speedstep and Turboboost worked. In the last Macbook review (2011), he used MSR Tools, but I could not get these to work on Lion on my June 2012 MBP 13. He remains very vague about how, although he does confirm this works as expected on the MBP 15r .
    This isn't my experience. I tried using Intel's MacCPUID in Lion, and a few other tools, and it looks like the CPU is locked at nominal speed (2.9GHz in my case), so neither speedstep nor Turboboost seem to work in Lion. They work as intended in Win7/Bootcamp, going down to 1GHz to save battery or up to 3.6GHz when only one core needs more power.
    So here are my questions:
    1) Anand please could you tell us which tools you have used?
    2) Has anyone tested this on the new macs (June 2012), using which tools, and what is the result?
    Speedstep definitely worked in Snow Leopard on my MBP 13 2011, so it must be a limitation in Lion.
  • kenancagri - Thursday, July 19, 2012 - link

    It is very good article. I loved it. Thanks for Lal Shimpi.
  • williamsj - Friday, July 27, 2012 - link

    Even the iPhone 4 is physically easier to maintain/upgrade than this thing.

    Check http://www.ifixit.com

    The worst maintainable piece of hardware they have ever looked at!!

    John
  • Throckmorton - Tuesday, August 7, 2012 - link

    You didn't address whether pixel doubling is supported for games. IE rendering each pixel as 4 screen pixels. That's very different from upscaling, because with pixel doubling there's no blurring.
  • Dubious1968 - Thursday, August 9, 2012 - link

    I've given up waiting for Apple to refresh the iMac, and am thinking of buying the Macbook Pro Retina instead. My only concern is that Apple should have equipped this laptop with a more powerful graphics card, given it is driving such a high res screen.

    I will be using it for Photoshop and HD video editing along with some gaming.

    Any help appreciated.

    Dubious
  • sleddoggin - Saturday, August 11, 2012 - link

    So, I've done my best to read (skim) through all 46 pages of comments for this post, and have been reading other threads on more-or-less the same topic, so forgive me if I've missed something.

    I own a base model rMBP w/ 16mb ram (for safety), and am really quite unimpressed by openGL performance in games that were fluid (30-60fps ANYway) on my old Mac Pro 2006 w/ an ATI Radeon 5770 HD graphics card (I guess it helps, too, that the Mac Pro GPU is sitting in an x16 PCIe lane, not an x8, as with the rMBP). The Mountain Lion upgrade has been some improvement.

    When I first read Anandtech's article, I sort of thought, why not shut the lid on my MacBook Pro Retina, and plug in my old Apple Cinema display when I want to play games (I plan on using my desktop display when I'm at home for most stuff anyway). Then, the discreet NVIDIA GeForce GT 650M wouldn't be overworked by having to render all those extra pixels, right? Wrong. Gauging from the tests I've done, anyway, I'm getting the same choked performance on my relatively low-res external display (with the rMBP lid shut) as I do when I play those games on the rMBP screen (either at native OR scaled resolutions).

    So my question becomes, isn't this a software issue? Shouldn't the Apple/NVIDIA engineers be able to re-route ALL of that sexy mobile GPU processing power to a single, lower-res external display, and save us gamers the hassle of trading in our rMBPs for regular 2012 MBPs?

    This computer upgrade is really a no-brainer for me, otherwise. With the Thunderbolt ports, and the built in HDMI, I've been easily able to retire my old Mac Pro, and still keep my various displays (HDTV, etc.), and extensive array of USB/Firewire accessories fully operational. It just blows my mind that I get better gaming performance from my creaky old 2006 Mac Pro.

    Thanks for reading my contribution to this thread. Does my thought hold ANY water? I sure as heck don't want to give up this beautiful-looking piece of hardware if I don't have to...

    Cheers,
    -SledDoggin' (another reluctant Apple fanboy)
  • vml_ - Saturday, August 25, 2012 - link

    Here's what I don't get and haven't seen answered anywhere. If there are performance issues at 1800p, can they be alleviated by downscaling (eg to 1080p)?
  • S J - Friday, August 31, 2012 - link

    That sounds like great. good effort. Also have seen nice article on http://techinlead.com/apple-introducing-macbook-pr...
  • LookupOEM - Saturday, September 22, 2012 - link

    maybe i'm wrong, but i always thought that OEM means "Original Equipment Manufacturer", a company that makes equipement that is sold by others under their own name.

    Toshiba making hard drives for Apple makes it an OEM, just as Intel, Samsung and others

    but, Apple IS NOT AN OEM, and there is no such thing as a PC OEM !!
    a PC OEM would be a company that supplies parts to build a PC, not the PC maker itself.

    did i miss something here ?
  • Penzi - Thursday, October 4, 2012 - link

    Now that Mountain Lion has been out for a bit and several programs have been "retinized" are you planning on updating your review or crafting a mini-review that addresses changes, improvements and new caveats? I, for one, would love to hear about scrolling performance and resolution impact to common software (the OS and iWorks, FinalCut, etc), such as setting the display to "more space" (1920) and clocking the Safari FB news feed, and so on...

Log in

Don't have an account? Sign up now