Apple Patent Applications Support Snow Leopard's Promise Of Speed
The Mac maker looks to be working on improved techniques for executing computer code on multiple multicore CPUs and GPUs.
Apple has said its forthcoming Mac OS X 10.6 operating system, known as "Snow Leopard," will focus on performance, stability, and resource efficiency, rather than features.
Three patent applications published Thursday support that promise by describing improved techniques for executing computer code on multiple multicore central processing units and graphics processing units.
The software industry hadn't yet caught up to the chip industry's move to multicore processors, which began in earnest in 2005. Many software developers haven't been trained to write code that's optimized for multicore processors. As a consequence, a lot of commercial software doesn't take full advantage of multicore device hardware. In short, it could run much faster.
That's why earlier this year, Microsoft and Intel committed $20 million in research grants over the next five years to the University of California, Berkeley, and the University of Illinois at Urbana-Champaign to fund universal parallel computing research centers at the two institutions.
At the time of the announcement, David Patterson, UC Berkeley professor of computer sciences, likened the difficulty of parallel programming to assigning eight reporters to work on a story and only being able to publish the story when all the reporters had contributed notes. If one reporter failed to file on time, the story would be delayed. It's essentially that kind of bottleneck problem that software programs face if they're not built to juggle multiple processes and threads.
The three Apple patent applications reveal some of the techniques that Snow Leopard is likely to employ to deliver on Apple's senior VP of software engineering Bertrand Serlet's stated goal of "perfecting the world's most advanced operating system."
One patent, Data Parallel Computing On Multiple Processors, describes a technique to allocate processing tasks across CPUs and GPUs.
"Traditionally, GPUs and CPUs are configured through separate programming environments not compatible with each other," the patent application states. "Most GPUs require dedicated programs, which are vendor specific. As a result, it is very difficult for an application to leverage both CPUs and GPUs for processing resources, such as GPUs with data parallel computing capabilities together with multicore CPUs."
One of the inventors listed on this patent application is Aaftab Munshi, a software architect at Apple who worked previously as a senior architect at graphics chipmaker ATI. He is also listed as one of the inventors on the two related patents, Parallel Runtime Execution On Multiple Processors and Application Interface On Multiple Processors.
Jeremy Sandmel, listed co-inventor on the three patents, also appears to have worked at ATI.
These patents almost certainly relate to Open Computing Language (Open CL), a new technology in Snow Leopard designed to make it easier to make use of GPU processing power. "With GPUs approaching processing speeds of a trillion operations per second, they’re capable of considerably more than just drawing pictures," Apple explains on its Web site.
About the Author
You May Also Like