Real World 802.11ac Performance Under OS X

A good friend of mine recently bought an older house and had been contemplating running a bunch of Cat6 through the crawlspace in order to get good, high-speed connectivity through his home. Pretty stoked about what I found with 802.11ac performance on the MacBook Air, I thought I came across a much easier solution to his problem. I shared my iPerf data with him, but he responded with a totally valid request: was I seeing those transfer rates in real world file copies?

I have an iMac running Mountain Lion connected over Gigabit Ethernet to my network. I mounted an AFP share on the MacBook Air connected over 802.11ac and copied a movie over.

21.2MB/s or 169.6Mbps is the fastest I saw.

Hmm. I connected the iMac to the same ASUS RT-AC66U router as the MacBook Air. Still 21.2MB/s.

I disabled all other wireless in my office. Still, no difference. I switched ethernet cables, I tried different Macs, I tried copying from a PC, I even tried copying smaller files - none of these changes did anything. At most, I only saw 21.2MB/s over 802.11ac.

I double checked my iPerf data. 533Mbps. Something weird was going on.

I plugged in Apple’s Thunderbolt Gigabit Ethernet adaptor and saw 906Mbps, clearly the source and the MacBook Air were both capable of high speed transfers.

What I tried next gave me some insight into what was going on. I setup web and FTP servers on the MacBook Air and transferred files that way. I didn’t get 533Mbps, but I broke 300Mbps. For some reason, copying over AFP or SMB shares was limited to much lower performance. This was a protocol issue.

Digging Deeper, Finding the Culprit

A major component of TCP networking, and what guarantees reliable data transmission, is the fact that all transfers are acknowledged and retransmitted if necessary. How frequently transfers are acknowledged has big implications on performance. Acknowledge (ACK) too frequently and you’ll get terrible throughput as the sender has to stop all work and wait for however long an ACK takes to travel across the network. Acknowledge too rarely on the other hand and you run the risk of doing a lot of wasted work in sub optimal network conditions. The TCP window size is a variable that’s used to define this balance.

TCP window size defines the max amount of data that can be in flight before an acknowledgement has to be sent/received. Modern TCP implementations support dynamic scaling of the TCP window in order to optimize for higher bandwidth interfaces.

If you know the round trip latency of a network, TCP window size as well as the maximum bandwidth that can be delivered over the connection you can actually calculate maximum usable bandwidth on the network.

The ratio of the network’s bandwidth-delay product to the TCP window size gives us that max bandwidth number.

The 2-stream 802.11ac in the new MacBook Air supports link rates of up to 867Mbps. My iPerf data showed ~533Mbps of usable bandwidth in the best conditions. Round trip latency over 50 ping requests between the MBA client and an iMac wired over Gigabit Ethernet host averaged 2.8ms. The bandwidth-delay product is 533Mbps x 2.8ms or 186,550 bytes. Now let’s look at the maximum usable bandwidth as a function of TCP window size:

Impact of TCP Window Size on 802.11ac Transfer Rates, 533Mbps Link, 2.8ms Latency
Window Size Bandwidth-Delay Product TCP Window/BDP Percentage Link Bandwidth Max Realized Bandwidth
32KB 186550B 32768/186550B 17.6% 533Mbps 93.6Mbps
64KB 186550B 65536/186550B 31.1% 533Mbps 187.2Mbps
128KB 186550B 131072/186550B 70.3% 533Mbps 374.5Mbps
256KB 186550B 262144/186550B 140.5% 533Mbps 533Mbps

The only way to get the full 533Mbps is by using a TCP window size that’s at least 256KB.

I re-ran my iPerf test and sniffed the packets that went by to confirm the TCP window size during the test. The results came back as expected. OS X properly scaled up the TCP window to 256KB, which enabled me to get the 533Mbps result:

I then monitored packets going by while copying files over an AFP share and found my culprit:

OS X didn’t scale the TCP window size beyond 64KB, which limits performance to a bit above what I could get over 5GHz 802.11n on the MacBook Air. Interestingly enough you can get better performance over HTTP or FTP, but in none of the cases would OS X scale TCP window size to 256KB - thus artificially limiting 802.11ac.

I spent a good amount of time trying to work around this issue, even manually setting TCP window size in OS X, but came up empty handed. I’m not overly familiar with the networking stack in OS X so it’s very possible that I missed something, but I’m confident in saying that there’s an issue here. At a risk of oversimplifying, it looks like the TCP window scaling algorithm features a hard limit in OS X’s WiFi networking stack optimized for 802.11n and unaware of ac’s higher bandwidth capabilities. I should also add that the current developer preview of OS X Mavericks doesn’t fix the issue, nor does using an Apple 802.11ac router.

The bad news is that in its shipping configuration, the new MacBook Air is capable of some amazing transfer rates over 802.11ac but you won’t see them when copying files between Macs or PCs. The good news is the issue seems entirely confined to software. I’ve already passed along my findings to Apple. If I had to guess, I would expect that we’ll see a software update addressing this.

802.11ac: 533Mbps Over WiFi Display
Comments Locked

233 Comments

View All Comments

  • JDG1980 - Monday, June 24, 2013 - link

    I think we should have seen noise and thermal measurements, especially since this is Haswell. Will you be able to sit it on your lap without burning yourself? The desktop Haswell chips get nearly hot enough to boil water. I don't believe Intel's official TDP ratings for Haswell; the 4770K allegedly dissipated only 84 watts, but generated more heat than a 130W Sandy Bridge-E.

    Assuming you plan to use OSX (I can't stand it myself), the low resolution is a real killer. Windows is the only OS that has good font rendering at low DPI (via ClearType). On OSX everything is a blurry mess, and on Linux it's even worse. (Rendering at low DPI is much harder since they have to use a bunch of hacks like hinting and sub-pixel antialiasing to get the font to fit the pixel grid and look reasonably clear.)

    It's disappointing to see Apple using Elpida RAM; it's far worse than Hynix or Samsung. And end users shouldn't expect to get the Samsung panel reviewed here; they will almost certainly end up with an inferior LG panel unless they return the system and complain. That's what happened with the rMBP last generation. The sales tactics came close to bait and switch, IMO: send out a good product to reviewers, then after a few months of sales, switch to inferior parts for future production without any indication on the packaging or labeling.
  • FwFred - Monday, June 24, 2013 - link

    Temperature != heat. Also, there is no IHS on a mobile part, so the CPU die may directly be mounted against the cooling solution.
  • mavere - Monday, June 24, 2013 - link

    No IHS means no TIM issues means TDP has an extremely, extremely strong correlation to heat and noise, especially as teardowns show similar internal construction. Like the review said, TDP is respectably lowered in Haswell.

    >>> "It's disappointing to see Apple using Elpida RAM; it's far worse than Hynix or Samsung."

    By what metric? Are you claiming that the RAM won't reach their rated speeds? Or are you claiming there's a pending RAM death situation here?

    I would love citations in any case.
  • star-affinity - Monday, June 24, 2013 - link

    Don't agree on OS X. It's great overall, once you get used to it. A good start is to not expect everything to behave like in Windows. Also don't agree on the font rendering. If you think it looks better in Windows I'm guessing you're not really into graphic design?
  • tipoo - Thursday, November 6, 2014 - link

    I think it does look better, I'm not a graphic designer. However I know OSX may have fonts that are more true to what they were designed as, Cleartype dramatically improves edges on low res displays and makes them bearable. Each pixel effectively becomes three pixels of resolution, so edges are much much smoother. OSX may have "truer" fonts, but chunky looking.
  • A5 - Monday, June 24, 2013 - link

    That 130W SB-E die is significantly larger than the 84W Haswell die. Once you add in the fact that more of that TDP is actually being used due to the on-package VRMs, it is pretty obvious why a Haswell would be hotter at the same loads.
  • Paapaa125 - Monday, June 24, 2013 - link

    I just used MBA 2011 11" model and the resolution is just fine. At normal viewing distances (30-40cm) the text look clear - no pixels. 135ppi at 40cm means one pixel covers 1,5 arcminutes. That is actually very small unit and quite close to eye resolving power. Definitely you can see the pixels when viewing closer but for normal distances the resolution is 100% sufficient for getting the job done.
  • helloworldv2 - Monday, June 24, 2013 - link

    I've been running some terminal stuff for multiple hours with the new i7 model (8GB RAM) utilizing 100% of both cores (4 cores with hyperthreading) and at no point the laptop got uncomfortable to hold on lap (bare skin)..
  • akdj - Wednesday, June 26, 2013 - link

    A) Thermal measurements. BS. You don't think the reviewer would've brought to our attention the fact he burned his lap while watching a movie? It's drawing less power at lower clock speeds...there isn't an expectation that the 'heat' on the outside would be anymore significant than the 11/12 core i models. Noise was commented on. In comparison to last year's model, it was quieter while rendering I believe. As well...he mentioned several times throughout the article his anticipation testing the i7 model when he's done flying around the world....yet still submitting a tremendous 'initial' over view or the new Airs. Believe Intel or not....these are 15watt chips. Not 85. Not 130. They're not gonna hurt ya bud.
    B) OSx. Now your comments are becoming a bit more clear. I use Windows 7/8 and OSx daily. Your comments on text are clearly based on 'what you've heard' and nothing to do with reality. In fact, my friend...'Tis Windows that has awful 'scaling' implementation when it comes to hiDPI displays....including any non native Windows software on the Surface pro. Very troublesome and hopefully will be addressed in 8.1. You're comments on a 'blurry mess' are nothing but BS. @ over 135 dpi on the standard 11" Airs, the resolution in relation to the size of the monitor are just fine! 1080p on that sized display without the same pixel doubling tricks used on the rMBPs would be truly unreadable for most folks over 12 years old! Seriously! I'm an Air and rMBP owner....as well as a PC high resolution display owner. While windows does have some benefits to 'ClearType'....OSx has NO issues with text display. While I'd like to so them step up to IPS, their TN panels, out of the box...have lead the industry for years. Objectively and subjectively. There is NO argument. Windows...on the other hand....they've got a way to go. ClearType isn't the answer. They'll need to implement the same trickery as OSx for text display on HiDPI monitors. No one can see, much less make use of a 2880x1800 display in native Rez. That's the cool thing OSx has managed to pull off....while pixel doubling for text...pics, video, and other creative work can be displayed @ it's native resolution while 'inside' an app using the pixel doubling for its interface. EG; photoshop, FCP....where you CAN have the entire 1080p, every pixel represented inside your canvas while the UI remains usable and crystal clear

    Elpida RAM. You are awar that Apple has achieved near 100% efficiency now with their 'soldiered in' RAM. Something NO other user replaceable RAM system can compete with. There are no issues with Elpida...other than the fact you've not heard about them.
    LG vs Samsung...very, very arguable. I ended up with an LG in one of our two rMBPs. In four months, image retention set in and Apple immediately replaced it. No questions asked. That said, LG is one of the Biggest and Best panel manufacturers in the world. LG panels in comparison to Samsung have shown better contrast, white and black point....and higher brightness. My Samsung is warmer, but calibrated I've got it pretty close to 6500°. LG is absolutely NOT 'inferior'. They changed out their original panel in the rMBP with an updated version. This is new technology, after all....there are going to be hiccups.

    Your 'bait n switch' conspiracy theory is just that. As a small business owner....and as fa from a 'tech reviewer' as one could be....each of my rigs has performed in parity with reviewed models from sites like Anand. No different.

    You're full of a WHOLE LOTTA hot air....and obviously have some sort of vendetta against Apple and OSx. Not sure why, maybe your mom said 'Absolutely Not!' When you asked if she would buy you one. Who knows...but quit with the drivel
  • gxtoast - Monday, June 24, 2013 - link

    Fantastic article! However, I just wanted to hit something on the head that seems to be a common misperception:

    "...In living situations where you can’t just run a bunch of Cat6 everywhere, but still want high speed networking, 802.11ac could be a real alternative."

    It seems that most people think that installing Cat6 will give them better 1Gbps Ethernet performance. It won't. Cat6 is irrelevant for 1Gbps. Cat6 is a 10Gbps standard. Cat5e is the 1Gbps standard.

    Cheers :)

Log in

Don't have an account? Sign up now