June 16, 2009

Apple steals Microsoft's multicore thunder with Grand Central

How Apple takes something dry and boring -- like multicore tuning -- and turns into something shiny, new, and Apple-"exclusive"

With the predominance of coverage this past week focused on Mac OS X Snow Leopard and its new Grand Central Dispatch multiprocessing technology, I thought it might be interesting to revisit an issue I touched on earlier this year for the InfoWorld Test Center: cross-platform scalability and the benchmark testing I conducted in support of my article "The generation gap: Windows on multicore."

In that piece, I noted Microsoft was already well out in front of the multicore trend with Windows Vista, and the tuning and tweaking that went into its kernel was carried forward -- and even improved on a bit -- with Windows 7. I also noted Windows XP lacks this multicore tuning, hampering its ability to scale. In fact, if it weren't for Vista's longer kernel code path (a by-product of all that DRM-fueled code bloat), it would clean XP's clock on a dual- or quad-core system.

[ Find out what enterprise technology Mac OS X Snow Leopard brings for business IT. | Discover whether your PC can run Windows 7 with InfoWorld's free tool. ]

As it stands, you'll need to reach into the 20- to 30-core range before the multicore efficiencies of the Vista/Windows 7 kernel finally allow the OS to overtake Windows XP in terms of raw performance. And before you snicker about the absurdity of discussing enterprise desktop systems with more cores than there are players on a football field (hint: that's 22 for those of you still living in your mom's basement), please note that Intel is already delivering chips with up to eight concurrent execution threads (4 cores plus hyperthreading).

I bring this up because it serves as another great example of why Apple continues to clobber Microsoft on the marketing front. Simply put, Apple has better pet names. For example, Microsoft creates a sophisticated, block-oriented version control and backup/restore technology for Windows Vista and proceeds to call it by the lame "geeks peak" name, Previous Versions. Apple delivers an inferior, file-based backup technology, slaps a cool "Star Trek" UI on top, and the industry press goes gaga over Time Machine.

I see a similar thing happening with Grand Central Dispatch. Apple is baking multicore-aware parallelism into the Mac OS X kernel -- something Microsoft did nearly three years ago with Vista's technically superior NT Executive -- and marketing it to the world as an exclusive Macintosh development. So the next time you hear a Mac nut yapping away about the cool new Grand Central technology in Mac OS X Snow Leopard, just do like the penguins in the hit movie "Madgascar": Smile and wave.

And maybe snicker a bit.

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »
JTB2468 16-Jun-09 4:17am
The only reason (IMO) that Apple even exists is because it can make shiny, cool sounding products. I mean yeah, the new iPhone is pretty good, but it took them 3 tries just to get picture messaging... Subpar products that are shiny and have cool names...that's Apple.
DaveLindhout 16-Jun-09 6:15am
From what I've read about Grand Central, the selling point is that it makes it easier for developers to use multiple cores. We won't see the benefits of that until after Snow Leopard is released, perhaps quite a while after that. Developers are bound by NDA to keep their mouths shut right now. We'll see what apps are ready to go day one that utilize Grand Central.

Apple seems to be pushing those that can to move to Snow Leopard. Developers can't sell their wares unless there is a sufficient customer base. Both Apple and Microsoft are at a crossroads. They must convince a large portion of their user base to reinvest, or they will be left behind. And as far as the snickering goes, back atcha!

TEAMSWITCHER 16-Jun-09 6:52am
The Windows Previous Versions feature is not quite the same as Time Machine. Time Machine is full system backup software with incremental updating and an awesome UI. i find the UNDELETE feature of Time Machine to be far more useful that the versioning feature. Finally, you can restore Time Machine drives to new Macintoshes without worrying about hardware compatibility - it truly "Just Works". Windows has absolutely nothing like it.
cmaurand 16-Jun-09 9:24am
1 reply
4 cores + hyper-threading does not equal 8 concurrent threads. It equals 4 threads while it can do I/O and 4 threads while the processor is waiting for I/O. I have hyper-threading machines and multi-core w/o hyper-threading machines. The multi-core machines run much better than the machines with hyper-threading (core2 duo w/no hyper-threading) vs. single core with hyper-threading) at equivalent clockspeeds. The AMD dual cores (plus dual memory controllers) in the same clock speeds walk all over the intels. If your application is multi-threaded, it will take advantage of multiple cores, no tuning necessary. Its all done in hardware. The OS (Windows NT/2K/XP/2K3 server) is multi-core aware as it is. It has been since it used to be called OS/2; although OS/2 and Linux (since IBM rewrote the threading libraries in Linux) are better at threading than Windows ever was. They probably got it right with Vista, but Vista's a resource hog but has finally caught up to where OS/2 was 15 years ago.
froggyswamp 17-Jun-09 6:51am
If you're referring to the 2.4 vs 2.6 kernel threading models in Linux, then you're wrong - both IBM and Red Hat created a new implementation of threads in Linux, but it was Red Hat that ultimately won and its implementation was accepted into the Linux kernel, partly because its implementation was a lot faster than IBM's one.
SunnyGuy53@gmail.com 16-Jun-09 1:19pm
>> The only reason (IMO) that Apple even exists >> is because it can make shiny, cool sounding >> products. That's like saying that all Boeing or Toyota does is make shiny, cool sounding products. Anyone who knows computing, aviation, or cars, knows this is a novice viewpoint. Sunny Guy
SunnyGuy53@gmail.com 16-Jun-09 1:22pm
1 reply
>> The only reason (IMO) that Apple even exists
>> is because it can make shiny, cool sounding
>> products.

That's like saying that all Boeing or Toyota does is make shiny, cool sounding products.

Anyone who knows computing, aviation, or cars, knows that is a novice viewpoint.

Sunny Guy

JTB2468 18-Jun-09 11:29am
A standard comment around here, if you don't agree with their viewpoint, just call them a n00b. Apple has nothing to do with Toyota or Boeing. That's like comparing a llama and a pencil. Why would you do that?
jtmacb 17-Jun-09 9:05am
I've been a Mac user since 1987 and a PC user since 1992. All I can say is you can complain all you want to about how Apple's technology is not as fast, complex or first on the block compared to Windows OS but while it takes MS years to come out with a bloated and slow Vista that no one really loves Apple has come out with constant and meaningful upgrades to OSX and will continue to do so with Snow Leopard. Apple will always be ahead of Microsoft because they not only know how to build great products and have the advantage of building the computers and the OS, but they know how to deliver those products in such a way that users will find value and quickly understand how to make the best use of them. Apple puts great technology inside their computers and makes the user experience easy and fun without sacrificing performance. Microsoft puts sometimes great technology inside someone else's computer and then prays that it all works. The end user suffers because Microsoft doesn't take the time and care, and basically doesn't seem to care that much about the user experience.
SteveS 18-Jun-09 5:23am
[i]"I see a similar thing happening with Grand Central Dispatch. Apple is baking multicore-aware parallelism into the Mac OS X kernel -- something Microsoft did nearly three years ago with Vista's technically superior NT Executive -- and marketing it to the world as an exclusive Macintosh development. So the next time you hear a Mac nut yapping away about the cool new Grand Central technology in Mac OS X Snow Leopard, just do like the penguins in the hit movie "Madgascar": Smile and wave. And maybe snicker a bit."[/i] Should we also snicker a bit with a "journalist" feels compelled to write stories about topics they clearly don't understand? Seriously Randall, you're embarrassing yourself. While I'm sure you're be hard pressed to provide evidence of NT executive's superiority, I'll instead point out that you don't understand what Apple's Grand Central Dispatch is. This isn't Apple adding SMP capabilities. This has been around for a long time. This is a combination of technologies that allows the developer to more easily access this technology. If you're ever done any real software development (which I'd wager you haven't), you'd know that thread management in any OS is quite difficult. Both Microsoft and Apple are trying to address this, but GCD is a bit more capable than what Microsoft has so far. The closest thing Microsoft has right now is the Parallel Extensions to .Net. While that's a good start, it's clearly a subset of GCD.
smr 18-Jun-09 5:57pm

I'm wondering where this really wide ranging figure of Vista needs between "20 - 30 cores" before it outperforms XP on the same hardware figure comes from. Is it made up?

The idea that it's within a range of 10 cores when those cores are presumably operating at multigigahertz clock speeds makes the difference pretty dramatic. Very, very roughly and in the simplest simplified version of the actual math involved, assuming that one Core 2 Duo E6600 (2.4Ghz) performs 38 GigaFLOPs, each core in this 20 - 30 core arrangement is lending 19 billion floating point operations per second to the whole?

Scaling that up - 20 cores is 380 billion and 30 is 570 billion. That ten cores of weasel space is suddenly a range of 190 billion operations a second and it starts to sound like a yawning gulf.

I'd like to know if it's nearer 20 or 30 cores?

bayoubengal0 6-Jul-09 2:01pm
You obviously have no clue what GCD is. Microsoft's rough equivalent to GCD is coming in VS 2010. http://msdn.microsoft.com/en-us/concurrency/default.aspx http://msdn.microsoft.com/en-us/library/dd504870(VS.100).aspx
snookie 6-Jul-09 9:42pm
I have never seen such a short article that is so full of errors. Has InfoWorld come to this? The first thing you need to learn is what role the process scheduler plays in the NT kernel because you clearly don't understand it when referring to the NT Executive. The NT scheduler has been considered garbage for many years on that is make very poor use of multiple threads and in scheduling those threads so they don't cause issues for their threads and to make best use of hardware resources. This is the major reason why Windows scales so poorly compared to Unix based OS'. It's pretty basic stuff that has been well know for years but has somehow escaped you. The second thing you clearly fail to understand is the difference between multi-core procs with multiple threads and SMP using individual procs. Vista is really not good at using multi-core effectively which is not surprising because it was far into its development years before multi-core was ever around. This is also well known and has been benchmarked and measured to death many times which you are strangely unaware of. Microsoft's response to these issues is to provide more threads with a kernel than can manage them or development tools that can work with them. More threads without control can and does make things worse and is a major cause of instability. Tweaking the locking mechanism only allows more threads btw. Thats half the story at best. I laughed out loud reading Microsoft's blog on this subject which they heralded tweaking SMP as some great piece of development on their part. They didn't know about this in vista? Well of course they did. You really need to take a class on operating systems. This was further confirmed to me after reading your article on multi-core "benchmarking" of XP, Vista, and Windows 7. What a mess that was. You are seriously saying Apple "stole" the idea for Time Machine from Shadow Copy? that Shadow Copy does a better job than Time Machine? This tells me that not only do you not know anything about Time machine you also don't know anything about Shadow Copy. Shadow copy is a kludge to make up for the fact that NTFS is such an antiquated file system (learn about journaling file system) and was never designed for consumers. Which is why nobody uses it on the desktop. Look up rsync which Time Machine has improved on. Make yourself aware that this is not the first consumer backup utility Apple has provided. Do some Windows and OS X Internals reading so you don't embarrass yourself further. Take an operating systems class. Learn about the difference between hyperthreading and execution threads. I mean c'mon I'm laughing out loud typing this. Maybe you shouldn't blog about things you don't understand. Calling Mac users "nuts" is juvenile.
snookie 6-Jul-09 9:46pm
"JTB2468 16-Jun-09 5:17am The only reason (IMO) that Apple even exists is because it can make shiny, cool sounding products. I mean yeah, the new iPhone is pretty good, but it took them 3 tries just to get picture messaging... Subpar products that are shiny and have cool names...that's Apple." Translation; I don't know anything but Windows so Apple make me feel inferior. Even worse I don't know anything about Apple so I'll just make some vague statements about their products which I actually know nothing about. But it makes me feel better in a teenage sort of way.
macbookpro17 14-Jul-09 12:28pm
Randall Kennedy. Get a new job!
LumbarJam 29-Jul-09 1:18pm
What a mess you did Mr. Kennedy. You could not figure the difference between NT Executive and GCD. Do you have any idea what GDC really is??? I bet you don't. Take a time to relax end read more about this subject. Next time maybe you will write something more correct. It´s a shame that Infoworld releases this kind of article w/o any technical revision.

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Today's Headlines: First Look Newsletter

Find out what will be news for the day, with our first-thing-in-the-morning briefing.

©1994-2009 Infoworld, Inc.