While Intel and AMD continue to boost the number of processor cores in their chips, end users wonder whether that's...
always a good idea.
It was just a few years ago -- for some, that's one server refresh cycle -- that Intel Corp. and Advanced Micro Devices (AMD) Inc. sold dual-core chips. Now both have pushed toward double-digit cores. Intel plans to have an eight-core processor early next year, and AMD plans call for a 12-core chip sometime in 2010 with a 16-core chip on the horizon. That prompts the question: To what extent are x86 processor cores like the blades of a handheld razor? When is enough enough?
"It really depends on what the server is doing," said Kyle Rankin, a systems architect at Quinstreet Inc., a Foster City, Calif.-based marketing company. "For standalone servers with the state of programming as it is now, many servers just can't make use of more than a few cores, as they are only doing a handful of single-threaded things at a time. It's a totally different programming methodology to code for high numbers of simultaneous threads."
This concern isn't much different from two years ago when Intel and AMD first moved from dual- to quad-core processors. Before upgrading to quad-core, users had to (and still have to) consider their applications.
One of the bigger factors since that time, however, is the advancement of x86 server virtualization. In SearchDataCenter.com's 2008 purchasing survey, only 10% of end users reported no plans to use server virtualization.
"Laying virtual machines on top of all those cores and assigning cores to each of those VMs allows throughput that's hard to match for chips with fewer cores," said Nathan Brookwood, an analyst at Insight64.
Diminishing returns on multiple cores
Bill Bradford, a senior systems administrator for an energy services firm in Houston, Texas, said that even if programs are optimized to handle multicore chips, that doesn't mean all the cores are used.
"Even with applications tweaked to take advantage of lots of cores, you're going to reach a point where you have a lot of those fully utilized, and a few just chewing idle cycles and taking care of running the OS," he said.
Bradford has experience with large multicore chips, having worked with big Sun Microsystems' Unix boxes based on the multicore UltraSparc processor. He cites one example where fellow IT staffers installed Oracle on a Sun T1000 and expected it to be "amazing out of the box." They were disappointed with performance and Bradford had to help tweak the configuration of the server to improve it.
Problems with configuring applications to handle multicore processors won't stop the progress, however, said Gordon Haff, an analyst at Illuminata Inc. When comparing quad-core processors with four single-core processors, the quad-core wins because the chip parts are nearer one another and have integrated circuits, so they can communicate faster with one another. The same theory holds as the chip cores multiply.
Haff added that there has been significant work in databases to scale up applications in symmetric multi-processor systems, and there is work under way on newer programming languages such as Haskell and Fortress to accommodate multicore systems.
When will it stop? Unclear, according to Brookwood.
"If you build a chip with 128 cores that can handle a huge amount of workloads, then maybe you're putting too much work on one chip, or you might have trouble feeding it memory," he said. "But what has always happened in the past is as processors have gotten faster, memory has gotten denser. I'd be hesitant to say that it will never go beyond 64 [cores] or anything like that."