Motherboards Memory Storage Cases/Cooling/PSUs IT Computing Displays Mobile Mac CPUs & Chipsets Video Digital Cameras Linux Gadgets Systems Trade Shows Guides Home Increase Font Size Decrease Font Size Change Page Size
Steven P. Jobs and the Holy Grail
Steven P. Jobs and the Holy Grail
Date: June 10th, 2008
Author: Ryan Smith
 
 

Although this year's Apple World Wide Developers Conference has everyone talking about the 3G iPhone, it's not the only thing to come out of Apple's annual developers meet & greet. Most of WWDC is dedicated to showcasing new technologies and techniques for developers along with filling them in on what Apple's going to be doing in the next year so that developers can plan things accordingly. Unfortunately much of this isn't shared far and wide, and with whom it's shared there's an NDA making sure it doesn't go any farther.

But this doesn't mean that we don't get anything out of WWDC, just less than we'd like. Case in point, Apple has announced that they're already working on Mac OS X 10.6 "Snow Leopard" which they will be releasing in roughly a year. Snow Leopard is billed as a rather minor upgrade from the end-user side of things as Apple focuses on performance and stability rather than 129 new features. Given that Leopard was coldly receipted by Apple standards, this probably isn't a bad choice by Apple. This doesn't mean that there won't be any new features however, Snow Leopard it appears is all about the developers as Steve Jobs embarks on a search for the Holy Grail of computing.

On the development side of things, there are two technologies that Apple is talking about right now: Grand Central and OpenCL. Apple has become (rightfully) concerned about the disjoint advancement of hardware and software that can use said hardware. We've talked before about how the movement from a fast single-core CPU to a slower multi-core CPU has created problems for developers; writing good multithreaded code is hard, really really hard. It's hard because doing multiple things at once is difficult to schedule, it's hard because doing multiple things at once can lead to odd results (race conditions), it's hard because not everything can even be split-up/parallelized, and it's hard because C-style languages were originally designed to be written and executed in a very linear way. Given the difficulties in writing good multithreaded code, it has become the Holy Grail of modern computing to be able to easily write/convert large programs so that they are efficiently multithreaded.

Grand Central is Jobs' search for this Holy Grail. Apple hasn't released a great deal of information about Grand Central beyond closed doors, but we do know that it's a new technology Apple is working on to make it easier to write multithreaded applications. They have even gone so far as to call it a "parallel-processing breakthrough" when talking to the New York Times; Apple makes no small boast in this case. The big question is what exactly Grand Central is, as "technology" is all all-encompassing term that can be anything from a library of optimized functions to an entirely new programming language. Apple seems rather attached to Objective-C at this point and libraries have proven to only be useful in very specific situations so we consider either extreme unlikely, but the middle is also a very big place.

We've thrown around the idea of a new auto-parallelizing compiler or perhaps something in Xcode to help direct developers on writing better multithreaded code, but really anything is possible with such vague descriptions. The bigger question on our mind is if Apple is capable of making this kind of breakthrough; they have some very capable engineers but they're also not on the list of companies we first think of when discussing fundamental computer science problems. The company's strength has been in business, hardware engineering, and "soft" programming issues such as GUIs and usage patterns; Apple does not have a lot of published experience at solving the hard and overly technical problems such as multithreading. We very much hope to be proven wrong here as a breakthrough as big as Apple is promising could change the entire industry, but when one goes searching for the Holy Grail a little bit of skepticism is in order.

Moving on, we have the other piece of Apple's new performance technology, the Open Computing Language (OpenCL). OpenCL is a C language for GPGPU computing, similar to CUDA and Brook+ for NVIDIA and AMD respectively. Currently CUDA and Brook+ are incompatible, both are C but the languages are different enough that programs are not portable between the two, and neither can compile for the other company's GPUs. Full GPGPU support has been notably absent from the Mac so far while CUDA and Brook+ have been supported on Windows and Linux for some time now. We have heard that Apple has wanted to add full GPGPU support to the Mac for some time now (having been one of the first companies to embrace early GPGPU usage for their video editing applications) but we have also heard that they are unhappy about the incompatibility between the GPGPU languages. They don't want to have to write two of everything, nor do they want their developers doing so. There are 3rd parties that offer GPGPU programming environments that are cross-GPU compatible, but these are expensive and not at all open in any sense of the word.

So we have OpenCL, Apple's proposed universal GPGPU programming language and API. From what we know it looks like Apple is trying to make OpenCL the GPGPU sibling of OpenGL, but like Grand Central Apple has said very little so far. We're not sure who (if anyone) else is backing OpenCL, although we expect AMD and NVIDIA to be on-board otherwise the whole effort will fall flat on its face without support from the GPU manufacturers. Apple has said it's beyond CUDA and Brook+, although we're not entirely sure in what way. From what we've seen of CUDA and Brook+, both are very powerful and very functional languages, so it's unlikely OpenCL is adding any new features that will expand what developers can do; nearly anything can already be done. Rather it seems Apple will be going the simplification route, as CUDA and Brook+ are anything but simple to program for; they may use C but they currently have many nuances that have to be dealt with. An even further generalized framework that's more open to less technical programmers may be what Apple is shooting for. But like Grand Central, we're going to be waiting some time until Apple fully explains where they're going and why.

18 Comments
Username:
Password:
Sounds... by aeternitas, 527 days ago
Juicy

Reply
The use of words expressing something Other than their literal intention. by Barack Obama, 527 days ago
It's ironic how Apple is seeking to solve stability issues after critising windows for its lack of stability.

Reply
RE: The use of words expressing something Other than their literal intention. by Corland, 527 days ago
If by ironic you mean entirely appropriate, I agree. If you think because another platform is less stable than yours, you can sit on your laurels and not improve stability, you will soon be the least stable system.....

Reply
RE: The use of words expressing something Other than their literal intention. by mikeepu, 526 days ago
Agreed. The same should go for any company. Just because company A might be on top today doesn't mean that company B won't rise to topple company A. Classic example: AMD and Intel. Both have been caught with their pants down while resting easily on top.

The continued desire, search and action towards improvement in anything whether it's software, hardware or life in general is not as bad as some might think.

Reply
Ananke by Ananke, 527 days ago
Steve Jobs is just amaizingly smart business person. Not so many like him can be found. Apple still have problem however, if they are locked to AT&T only, they are making the elasticity of demand not so much elastic - particularly if Nokia computer devices are so much more open and getting closer to design to iPhone. Nokia's N800 needs only phone capabilities, and for $200 for unlocked device, Nokia's will be unbeat. Obviously, Motorola and Sony are very much out of the phone business

Reply
RE: Ananke by ksherman, 527 days ago
Hmm, this isn't really about the iPhone at all.

Kudos to Apple for looking into these issues. I think that while maybe they arent on the forefront of computer science, I think they have sat back and looked around for someone to come up with a solution. They really seems to be looking out for their developers (which is interesting, but makes sense. Make it easier to code for your machines and there will be better app support etc.) and are sick of nobody stepping up. Maybe they have something. Maybe they only have an idea with the illusion of substance. Who know, only time will tell.

If Apple is able to deliver on Snow Leopard what they are saying they are going to do, it could really be revolutionary and VERY welcomed.

Lets go Apple!

Reply
RE: Ananke by TheJian, 526 days ago
Umm, Apple's new iPhone is going for $199 for 8GB model, so Nokia can't come out with a $200 that's unbeatable. Last I checked apple's phone is unlocked (hehe, jailbreak anyone?). If the N800 is already $200, what makes you think they'll add Phone abilities for FREE?

Also, last I checked it was $280 on cnet for N800. Maybe you can get it cheaper with a contract. Last I checked it has NO GPS. Last I checked it has a puny 128mb flash. Yeah you can add some, but doesn't that cost more money? Last I checked Cnet's review said VIDEO SUCKS on it! Isn't a glorious screen meant to be used for Video? Can't sync with my PC? WTF? 3hrs battery vs 5hrs for iphone? Hmmmff...There's probably more but that's just a quick rundown on your supposed iphone killer.

Reply
RE: Ananke by Ryanman, 525 days ago
your fanboyism is palpable. Absolutely ridiculous how you'd write two paragraphs on how superior the Iphone is.
You stick with your brushed aluminum and glass hardware that Apple marks up by %55 and locks into a ridiculously controlled environment. The upped service charges alone erase any possible advantage it could have. I'll respectively pass on such an offer.

Reply
Go! by icingdeath88, 526 days ago
5 points to the first person who can tell me what the P in Steven P. Jobs stands for without using Wikipedia.

Reply
RE: Go! by Barack Obama, 526 days ago
It's not even on wikipedia lol

Reply
RE: Go! by Crassus, 526 days ago
Paul


Reply
RE: Go! by Crassus, 526 days ago
RE: Go! by icingdeath88, 526 days ago
Congrats the 5 points are yours! too bad they're worthless...

Reply
RE: Go! by Crassus, 526 days ago
I took it more as a challenge to my skills as a researcher :)

How many points will get me a working lunch with Anand?

Reply
Really? by hakhak, 526 days ago
" Full GPGPU support has been notably absent from the Mac so far while CUDA and Brook+ have been supported on Windows and Linux for some time now."

Document yourself, CUDA is now available on mac...

http://www.nvidia.com/object/cuda_get.html#macos



Reply
Durham, NC company was showcased at WWDC by MaxDepth, 526 days ago
Ryan,
Did you get to attend? One of the companies Jobs introduced at the opening is located here in Durham, NC.

Modality -- creates flashcards and other learning tools for Apple products. Yay for the Triangle!

Reply
Tilting at windmills, or genius? by Homerpalooza, 525 days ago
"We've talked before about how the movement from a fast single-core CPU to a slower multi-core CPU has created problems for developers; writing good multithreaded code is hard, really really hard"

Ain't that the truth. This is exactly the challenges Cray Research fielded in moving from core CPUs to multiple CPUs many decades ago. As oft quoted at Cray "1000 chickens all pulling at once" doesn't make up for real power.

Multicores are here to stay. The only other solution is a heat dissipation problem. So with that said... they need to make the multiple CPUs function together. To truly get the performance of MPP machines in a desktop.

That said, MPP has been achieved. MPP is here, and runs the fastest supercomputers in the world. The exact same core OS problems for MPP are those for onboard parallel processing. And it's well understood.

Apple may not be known in the "Hard Computer Science" realms, but I suspect a company like SGI is. OpenGL (made by SGI) is the perfect technology to get the ball rolling. Why not buy Nvidia? Or SGI?





Reply
Transpute by JulesLt, 506 days ago
Apple may not have a reputation for 'hard' basic comp-sci in the same was as IBM or even MS, but it's worth remembering this is the firm that based it's O/S around a micro-kernel when they were still an academic novelty.

We also tend to forget the fact they maintain an Advanced Computing Group, with a strong focus on HPC / grid computing - remember the stories of the supercomputers made from clustered G5 machines (back when the G5 actually was the fastest processor)??

Being the main proponents of Obj-C also makes them effectively the designers of a programming language, and it's OO runtime, which are again non-trivial problems. Be interesting to see what they're going to do with a CPU design firm too.

Anyway, I just wanted to add that the third major thing they're doing right now, which wasn't covered above, is the work around the LLVM project and clang - effectively replacing gcc with a new open-source compiler that has better integration with development tools at the front-end (clang) and spits out portable byte code at the back end.

If you're the kind of person who likes drawing inferences - if you wanted the ability to move code execution between different CPU/GPU architectures, compiling down to an intermediate byte code, then JIT optimising it for the CPU instruction set in question sounds an ideal approach.

As for Grand Central - the name implies dispatching and routing, rather than automatic parallelisation to me. Now a lot of the problems of concurrent computing are pretty similar to those of distributed computing, which IS an area where Apple have form. I'm guessing little more than a simple, lightweight way of balancing workload between cores. If it simplifies things in the same way that Obj-C distributed objects simplify things over the C++ equivalents then it will be significant.

(It's also worth noting that the Cocoa frameworks already apply some automatic multi-core enhancements to user applications, with work delegated across different cores and the GPU).


Reply
Comments Page 1 of 1





AnandTech.com Blog Categories
All categories
Anand's Macdates
Anand's Theater Construction
Anand's Updates
Cases and Power Supplies
CeBIT 2008
CES 2008
Computex 2009
Derek Decanted
Eddie's Got Game
Gary's First Looks
IT Computing general
Jarred's Musings
Kris's Corner
Raja's Ramblings
Rob's Experiences...
Ryan's Ramblings
Virtualization
What's New with Wes
Blank
Blank

Blank

Latest news by
DailyTech

 November 20, 2009

Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank

 November 19, 2009

Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank


more Blogs Discussions



pipeboost
Copyright © 1997-2009 AnandTech, Inc. All rights reserved. Terms, Conditions and Privacy Information.
Click Here for Advertising Information