Snow Leopard's Grand Central and OpenCL Details?
Roughly Drafted provides a birds-eye view of the key technologies coming in Mac OS X Snow Leopard. While Apple's press release and later comments by Steve Jobs provide hints of what Grand Central and OpenCL are planning to accomplish, this article adds a few extra details.
According to the article, Apple's Grand Central is a new thread management architecture which simplifies the developer's task to support multi-threading:
Snow Leopards Grand Central Dispatch does the same thing [as modern networking] for processes, packetizing tasks into Blocks and routing them to available processing cores as efficiently as possible. It can also manage the big picture for the whole system, adjusting how it balances its tasks as the performance load increases. This would be close to impossible for Individual developers to do themselves.
With the recent trend towards multi-core CPUs, exploiting multi-threaded designs is required to take advantage of today's processors. As expected, OpenCL will allow developers to also pass off tasks to the computer's Graphics Processing Unit (GPU). However, it appears OpenCL code will be stored as bytecode to allow for just-in-time compilation (same as Core Image) allowing applications to be specifically optimized to the graphics hardware it is being run on. Similarly, Grand Central will oversee OpenCL tasks as well, to optimally route code to the best available processor.
Apple expects to ship the final version of Mac OS X Snow Leopard in "about a year".