Apple Snow Leopard for Video Producers, Part 1
Apple's new Snow Leopard (or OS X 10.6) is the type of release that delivers incremental advancements on the surface, but exponential enhancements below the waterlinethough many will take months, if not years, to truly start bearing fruit. It's an operating system that's perhaps more important to developers, including Apple's internal developers, than to most users.
That's because Apple added several new technologies such as true 64-bit kernel support and Grand Central Dispatch that will enable software developers to create faster programs that work more efficiently on multicore systems. The flip side of this statement, however, is that these benefits won't be realized until new applications supporting these technologies are released. That said, in my tests, Snow Leopard delivered speed improvements of up to about 30 percent in some tasks and proved stable in operation.
In this issue of Final Cut Pro Insider, I'll detail the technologies that Apple added to Snow Leopard. Next time, I'll share the results of benchmark testing comparing performance in Leopard (OS X 10.5) against Snow Leopard. Beyond pricing and compatibility basics, I'll stick pretty much to performance-related features and testsI'm not going to do a grand tour of new features. My goal is to answer two questions for video producers: Should you upgrade, and if so, should you run the OS in 32-bit or 64-bit mode?
First, some basics. If you have Leopard, you can upgrade a single Mac for $29, or up to five Macs in a single household for $49. If you own an Intel-based Mac and never upgraded to Leopard, you have to purchase the Mac Box Set, which includes Snow Leopard, iLife '09, and iWork '09, for $169.
If you still have a PowerPC-based Mac, you're out of luck, since Snow Leopard is Intel-only. Snow Leopard also doesn't automatically install Rosetta, a program that enables PowerPC binaries to run on Intel-based Macs, though if you end up needing the binaries to run a program, Snow Leopard will download them from Apple's website automatically.
Note that Snow Leopard isn't compatible with all Intel-based Macs; you need at least 1GB of RAM, 5GB of disc space, and a hard disk drive, as well as some other factors that enable booting in 64-bit mode and accessing Grand Central Dispatch and OpenCL, two new features discussed below. (For more information on compatibility, check out this article on EveryMac.com. )
Now let's dive into one of the most significant Snow Leopard advances: the existence of a true 64-bit kernel. According to Wikipedia, "In computing, the 'kernel' is the central component of most computer operating systems. Its responsibilities include managing the system's resources (the communication between hardware and software components)."
Figure 1, also from Wikipedia, illustrates this definition. Starting with Panther (OS X 10.3), Apple introduced 64-bit features into the OS, but the kernel remained 32-bit, as did device drivers and other low-level routines. The first application above the kernel was a 64-bit version of Unix, which enabled Macs to address far more than the 32-bit limit of 4GB. This also enabled 32-bit programs to run in their own 4GB of memory. With memory-intensive applications such as Final Cut Pro, that kind of breathing room can deliver profound performance increases, which is the low-hanging fruit of 64-bit OS performance enhancements.
Though Snow Leopard is the first true 64-bit Mac OS, Leopard delivered one of the key benefits of a 64-bit OS, enabling 4GB of working space for 32-bit programs and the ancillary performance boost. This doesn't mean that Snow Leopard won't deliver some immediate performance benefits; as mentioned above, I found speed improvements of up to 30 percent in my initial tests. But it likely won't deliver exponential performance benefits in day-to-day, real-world tests, at least at first. Down the road, however, as developers release 64-bit apps that leverage Grand Central Dispatch and OpenCL, Snow Leopard will pay huge performance dividends.
In this regard, Snow Leopard is more of a road map than an immediate destination. It's a line in the sand that going forward, all serious Mac applications will be 64-bit apps, and we've probably seen the last 32-bit release of Final Cut Studio. That would be my guess, anyway.
But, I get ahead of myself. In the short term, 32-bit computing is still very much with us; otherwise, you'd lose the ability to work with all those devices scanners, printers, card readers, optical disc drives, and the likethat rely on 32-bit drivers. That's because the 64-bit kernel can't work with 32-bit drivers, which is why Apple shipped Snow Leopard with two kernelsone 32-bit, one 64-bitand runs the 32-bit kernel by default on all computers except certain Xserve workstations.
It's a sound decision, since most users would be frustrated if they upgraded and lost the use of their key peripherals. It's just not one of those details that is startlingly obvious when you read Apple's marketing literature.
To run the OS in 64-bit mode, hold down the 6 and 4 keys when booting your Snow Leopard-upgraded Mac. It will remain in 64-bit mode for subsequent startups until you hold down the 3 and 2 keys while booting. To determine which kernel is running, check System Profiler (click About this Mac, then the More Info button) and click the Software profile.
If you install Snow Leopard, try working in 64-bit mode and see if any of your peripherals "break." I had no problem with either of my tested computers, but I am a Mac/Windows shop and most of my peripherals are Windows-based.
Note that I did see significant differences between performance in 64-bit and 32-bit modes, but it's all over the map at this point. I'm sure the results will come together as I finish my testing. Next time, I'll share performance comparisons of Leopard vs. Snow Leopard in 32-bit and 64-bit modes.
So let's summarize the 64-bit findings. Though Snow Leopard is the first Mac OS with a 64-bit kernel, it's not the first that lets 32-bit programs run in their own 4GB memory spaces, which provides the bulk of the performance advantage over 32-bit operating systems. So don't expect a performance miracle.
To retain compatibility with 32-bit peripherals, Snow Leopard runs in 32-bit mode by default. You can easily switch back and forth, but if you haven't manually forced yourself into 64-bit mode, you've probably been running in 32-bit mode.
Now let's briefly discuss two additional new features in Snow Leopard that will pay performance dividends down the road. First is Grand Central Dispatch.
One of the biggest disappointments that many Mac owners have experienced is buying a new eight-core system only to find that encoding or rendering performance doesn't significantly improve. That's because programs have to be specially written to take advantage of multiple processors, and if they aren't, they only use one core, even on an eight-core computer.
To use multiple cores more efficiently, programmers have been making their programs multithreaded for several generations, which is a big help. But if you're running multiple programs simultaneously, along with the basic operating system, the individual applications can vie for the same CPU resources simultaneously, which results in the always depressing spinning beach ball.
Simply stated, Grand Central Dispatch distributes CPU resources among multiple tasks, enabling the more efficient use of multicore systems, which will make all supporting programs run together more efficiently. The only negative is that programs must be written specifically for Grand Central Dispatch to leverage its benefits, which means you'll have to wait awhile to see its fruits.
Over the past few years, the graphics processing units, or GPUs, that drive your graphics cards have become increasingly powerfulnot only to display pixels with blinding speed, but for general computing functions. Unless you're a gamer, however, your GPU lies fallow most of the time.
Graphics chip vendor Nvidia introduced the Cuda programming language to allow software developers to harness GPU cycles for non-display oriented tasks, such as video encoding and the like. Obviously, however, Cuda only works with Nvidia graphics cards, and most software developers prefer a programming interface that works with all relevant vendors.
That's OpenCL, for the Open Computing Language, which enables the creation of software programs that can use both the CPU and the GPU, and query the system to determine which approach will run most efficiently. For example, on a dual-core system with a hot graphics card, Compressor could perform H.264 encoding chores on the GPU, but it might use the general CPU pool on an eight-core system.
As an Apple programming interface that encompasses both CPU and GPU, OpenCL has a much greater chance of being used than Cuda or any other graphics-card specific solution. Again, however, OpenCL won't deliver any performance enhancements until programs are written to support it, so it won't deliver any immediate benefits.
Obviously, Snow Leopard offers lots more than the three aspects that I've discussed. For an extraordinarily comprehensive look at all technical aspects, check out
Mac OS X 10.6 Snow Leopard: the Ars Technica review. Many other articles can detail the new interface components.