Earlier this month, I encountered an Adobe Photoshop Lightroom analysis by consultant Lloyd Chambers that expressed surprise with a facet of the image editing and cataloging software: it didn't export photos as fast as possible.
Chambers found that if a photographer wants to produce JPEG or TIF images from the originals in the program, the fastest way is to divide the batch into thirds and export each third separately. Using a modern Mac Pro system, exporting a test set of photos took 351 seconds as one batch and 189 seconds divided into three batches running at the same time.
"The big disappointment is the sluggish performance importing and exporting files, which are tasks that are key to efficient workflow--tasks one has to do over and over. Most of the 'juice' of a Mac Pro goes untapped," Chambers concluded. "You have to load it up with more than one job to force more of the available CPU cores to be used. Lightroom should do this automatically!"
The study caught the attention of others, including Scott Kelby, head of the National Association of Photoshop Professionals. I was intrigued, too, because although many programming chores are difficult to spread across multiple processor cores, exporting photos is trivially easy since it breaks conveniently into independent bite-sized pieces. So I thought I'd see what Adobe had to say for itself.
... Read moreIntel is telling software developers to start thinking about not just tens but thousands of processing cores.
Intel Tera-scale multicore research
(Credit: Intel)Intel currently offers quad-core processors and is expected to bring out a Nehalem processor in the fourth quarter that uses as many as eight cores.
But the chipmaker is now thinking well beyond the traditional processor in a PC or server. Jerry Bautista, the co-director of the Tera-scale Computing Research Program at Intel, recently said that in a graphics-intensive environment the more cores Intel can build the better. "The more cores we have the better. Provided that we can supply memory bandwidth to the device."
On Monday, an Intel engineer took this a step further. Writing in a blog, Anwar Ghuloum, a principal engineer with Intel's Microprocessor Technology Lab, said: "Ultimately, the advice I'll offer is that...developers should start thinking about tens, hundreds, and thousands of cores now."
He said that Intel faces a challenge in "explaining how to tap into this performance." He continues: "Sometimes, the developers are trying to do the minimal amount of work they need to do to tap dual- and quad-core performance...I suppose this was the branch most discussions took a couple of years ago."
Now, however, Intel is increasingly "discussing how to scale performance to core counts that we aren't yet shipping...Dozens, hundreds, and even thousands of cores are not unusual design points around which the conversations meander," he said.
He says that the more radical programming path to tap into many processing cores "presents the 'opportunity' for a major refactoring of their code base, including changes in languages, libraries, and engineering methodologies and conventions they've adhered to for (often) most of the their software's existence."
"Eventually, developers realize that the end point is on the other side of a mountain of silicon innovations...Program for as many cores as possible, even if it is more cores than are currently in shipping products."
I'm going to buy a new desktop computer to feed my digital photography appetites, and it's time to let the wisdom of the crowds steer me in the right direction.
There are innumerable options, but there's one particular choice I'm wrestling with: is my money better spent on a PC with a dual-core processor or a quad-core chip with a lower clock frequency?
News.com Poll
For the benefit of anybody else in my situation, I thought I'd seek expert guidance from Adobe Systems, Microsoft, Advanced Micro Devices, and Intel and publish the results, but I got conflicting answers. So I'm hoping all you readers can be the tie-breaker on what my priority should be. Feel free to vote and to share any thoughts about that issue or other performance tradeoffs in the Talkback section below.
If I were swimming in money, I could have it both ways with a computer using an Intel Extreme processor, but that's not in the cards. If I were that flush, I'd rather sink the extra money into a lens with roughly five times the usable lifespan of a PC.
To put things in perspective, multicore chips have two more processing engines on each slice of silicon. That theoretically can permit more operations in a given amount of time, but it's more complicated in practice.
With four cores, processors are hotter and therefore have to be run at slower frequencies to keep from overheating. And perhaps biggest on the list, a lot of PC software simply hasn't solved the technical challenges of splitting a single job up into multiple independent threads.
The clock speed/multicore tradeoff is illustrated in prices from Intel's newly announced Penryn generation of Core 2 chips. The dual-core E8500 with 6MB of cache runs at 3.16GHz, and the quad-core Q9300 with 6MB of cache runs at 2.5GHz, and they both have the same price of $266. One thing they have in common is a reasonably fast 1333MHz front-side bus (the pathway between the processor and main memory), but on the quad-core model that bus serves four cores instead of just two.
To set the stage, here are the computing bottlenecks that I notice most dragging down digital photography work I do with Adobe Photoshop and Lightroom: rendering and editing raw photos; converting raw photos to DNG; applying sharpening and noise-reduction filters; metadata-based searches through my 11,000-image catalog; and stitching photos into panoramas.
I recognize there are other price/performance tradeoffs, too--for example more memory or a faster hard drive for better performance when the computer does have to use the drive. But those are relatively easy to change and upgrade later.
A quad-core example of Intel's latest "Penryn" generation of processors.
(Credit: Intel)
Expert opinions
When I asked various companies what they advised, answers differed. Let's compare and contrast:
Intel spokesman Nick Knupffer: "For digital photography, you are going to be using packages such as Adobe Photoshop that relish the extra threads that a quad-core processor brings to the table. Memory speed or bandwidth is not as crucial."
AMD spokesman Brett Jacobs: "Given the excellent value of our quad-core Phenom and the improved performance you will see from four cores vs. two using multithreaded applications, the quad-core will offer more bang for the buck compared to a higher-clocked dual-core."
Tim Grey, author and digital photography technology evangelist at Microsoft's Rich Media Group: "Higher processor clock and front-side bus speed on a dual-core system provides better performance than quad-core. When you consider the premium you pay for quad-core it makes the most sense to invest in the top-of-the-line dual-core. You get better performance at a lower cost."
Adobe, paraphrased: It depends.
OK, that doesn't do justice to Adobe, which supplied fairly more nuanced information. Some Photoshop tasks can deal well with multicore processors, but others are starved for data from main memory.
"Bandwidth is a big deal," said Adobe's Kevin Connor, who manages professional digital imaging products including Lightroom, Photoshop, and the Digital Negative (DNG) format. According to one illuminating Adobe blog posting, one common Photoshop task that relies heavily on memory bandwidth is the seemingly simple Gaussian blur filter, and one common chore that can't be parallelized is the healing brush.
Things are somewhat different with Lightroom. One of its biggest chores is "de-mosaicking," which converts the "Bayer" checkerboard pattern of red, green, and blue data from a camera's image sensor into an image with red, green, and blue data for each pixel. That process can take advantage of as many as eight cores--the number available in high-end machines such as Apple's Mac Pro or those built on Intel's "Skulltrail" platform, said Tom Hogarty, Lightroom's product manager. DNG conversion, too, can use eight cores, he said.
Another advantage for Lightroom is that it can perform some tasks in the background, a natural fit for multicore. (Thank heavens: With my 3-year-old PC, I often queue up a few batches of Lightroom operations and come back later when they're done.)
Benchmark time
But wait! Let's look at some benchmarks. There are some handy ones here on CNET's review of Apple's iMac. The CNET Photoshop benchmark is a reasonable reflection of my digital photography work, but compare the scores of an iMac with a dual-core iMac with 2.8GHz Intel processors to a Mac Pro with two dual-core Intel 2.66GHz processors (a version tested before the quad-core models were out).
Apple comes out on top on Photoshop tests, but there's not much of an advantage to four cores.
(Credit: CNET Networks)Mac Pro's time to complete the test: 120 seconds. iMac, just a smidgen slower at 125 seconds. The big question here is to what extent the raw-image processing in Photoshop correlates with my own raw-image processing done in Lightroom. Even if Lightroom is much better with multicore, the Photoshop tests aren't a great advertisement for paying for four cores.
When I asked CNET computer guru Rich Brown for his advice, he steered me toward the iMac, in part because Photoshop scores higher on Mac OS X than on Windows. (A Velocity Micro system with a 3GHz dual-core Intel processor had a significantly lower score of 157 seconds, for example, and a Hewlett-Packard system with a 2.4GHz Intel quad-core processor was even worse at 178 seconds.)
Although I'm not opposed to switching from my current Windows setup to Mac OS X, I don't think it's likely. For one thing, I'd have to repurchase some software. More significantly, Apple's lineup doesn't match my needs: the Mac Pro is too expensive, the Mac Mini is too anemic, and I dislike the iMac's lack of expandability, 4GB memory limit, and built-in monitor.
Another non-issue is picking the best laptop. Sure, all the cool kids are forsaking their immovable behemoths for svelte machines, but I already have a reasonable laptop when I need mobility, and for my home machine I want the better price-performance ratio and need the expandability.
Benchmarks notwithstanding, I'm leaning toward quad-core right now. First of all, there's the Lightroom abilities. Second, with the newer generation of processors from both Intel and Advanced Micro Devices, there's less of a premium for quad-core. Last, I'm hoping my machine will last into the era when desktop software catches up with multicore processors.
So that's my opinion. What's yours?
Quake 4 image in Ray Tracing Demo
(Credit: Wired)For those who play PC games (and please count me in), the most expensive and necessary investment has always been the graphics card (also known as the GPU, graphics processing unit). High-end cards, from either ATI or nVidia, can cost $500 and up. That's not even factoring in the case, cooling system, power supply, etc., which also have to be equally high-end to support the increasingly large and power-hungry graphics cards. And there seems to be no end to all this. Or is there?
At IDF 2007, there was a demo running Quake 4. There wasn't much to talk about the demonstration itself (the game has been out for a while). As a matter of fact, there was no real game action on the screen--just a character walking around in a smooth 3D environment with excellent-looking lighting and shadow effects. What was impressive was the fact that the computer didn't have a graphics card in it, such as the Nvidia GeForce 8800 GTX, as one would have expected. Instead, the graphics were powered by an Intel multicore CPU that incorporates ray tracing display technology.
Unlike conventional GPUs that use raster graphics techniques to display graphics content, ray tracing models the behavior of light to create shadows and reflections for a more photorealistic presentation of 3D and 2D content. The concept of ray tracing is not new and rather simple: simulating the path that light rays take as they bounce around within the environment, while determining the color of each light ray that strikes the display before reaching the eyes. However, the sheer number of light rays needed to be traced requires a huge amount of computation. That is why this concept had to wait until now to come closer to reality (and indeed very close, judging by the demo), with multicore CPUs. It's predicted that in about three years, there will be computers that use processor-based ray tracing display technology. This means a gaming computer can have less components, be more energy efficient, quieter, and probably cheaper too.
As the ray tracing technique is completely different from the current raster technique, current games will not work with this technique and will need to be re-engineered (or ported) in order to take advantage of the new display platform. This is similar to how an Xbox 360 game will not run on a PS3 and vice versa. However, change takes time, and this is to be expected. And it's not like I am in a rush to discard my recent hefty investment in my SLI system. I will, though, try not to think about how many light rays there are that come out of my screen while flying over Outland.
- prev
- 1
- next

