June 09, 2009, 9:41 AM — Laptops and desktops could see software performance gains with parallel programming tools built into Apple's new operating system, Mac OS X 10.6, which was introduced by the company on Monday.
A number of enhancements allows the OS, code-named Snow Leopard, to tap into the processing power of multiple CPU and graphics processing cores to boost software performance. The OS builds in multiple programming and software tools that divide up tasks for simultaneous execution across the cores.
Snow Leopard is more intelligent than its predecessors in taking advantage of hardware resources available to drive system performance, observers said on Monday. The OS also is better at identifying resources available and can accordingly allocate threads across multiple cores and processors, observers said.
The new tools in Snow Leopard include Grand Central Dispatch, a programming environment that breaks up tasks into multiple threads based on the number of cores and threads available. It also builds in native support for OpenCL, a set of programming tools to develop and manage parallel task execution.
"A lot of Macs will have supercomputers sitting there for free," said Neil Trevett, president of The Khronos Group, the standards organization that defines the specifications for OpenCL.
Video processing in particular could see up to 50 times improved performance on Macs with the new OS, Trevett said. Video decoding could be a lot faster as pixel processing will be distributed across multiple CPU and graphics processing units in a system.
Snow Leopard's evolution is tied to challenges hardware and software makers have faced in the past. The traditional way of boosting application performance on PCs was by cranking up CPU clock speed, said Linley Gwennap, president and principal analyst at The Linley Group. That led to software being written in a sequential mode for execution on a single core, with an increase in clock speed providing the boost in software performance.
Ultimately, cranking up clock speed led to excessive heat dissipation and power consumption, and chip makers like Intel reverted to adding cores to boost performance. That brought a set of new issues to software developers, who faced the challenge of writing applications to take advantage of multiple cores to scale application performance.
"As the processor vendors brought forth dual-core and multicore processors, the operating systems guys have had to play catch up in terms of bringing out software that works with the new chips," Gwennap said. Apple has unlocked a piece of the software puzzle, as parallel processing is the only way ahead to get big gains in performance, he said.
Apple has also laid the groundwork for software providers to write multicore applications with Snow Leopard, Gwennap said. But users may not see performance benefits until programmers stop writing applications for single-core processors and retrain themselves to write in parallel.
Another analyst agreed with Gwennap, saying that programmers aren't used to thinking in parallel, even though the problem dates back to the 1940s.
"Programmers have to be educated to think about how to break down their program into multiple tasks that can execute simultaneously," said Tom Halfhill, senior analyst at In-Stat, and senior editor of Microprocessor Report. Native support for OpenCL in Snow Leopard could encourage more programmers to write in parallel.
OpenCL is a programming framework that includes a C-like programming language with a few APIs to manage distribution of kernels across hardware like processor cores and other resources.
Apple's push of parallelism to desktops and laptops could ultimately reach smartphones, Halfhill said.
"Ultimately Apple could go migrate it down into products like their iPhone," Halfhill said.
But Microsoft isn't far behind Apple, Halfhill said. Microsoft is trying to bring in additional multicore execution capabilities with its upcoming Windows 7 operating system through a new DirectX set of application programming interfaces (APIs). Earlier versions of Windows -- like Windows XP and Vista -- have been panned by observers for failing to take advantage of multiple cores in CPUs to boost application performance.