Print 112 comment(s) - last by MrPoletski.. on Jan 27 at 11:45 AM

Sandia simulations reveal memory is the bottleneck for some multi-core processors

Years ago, the hallmark of processor performance was clock speed. As chipmakers hit the wall on how far they could push clock speeds processor designs started to go to multiple cores to increase performance. However, as many users can tell you performance doesn't always increase the more cores you add to a system.

Benchmarkers know that a quad core processor often offers less performance than a similarly clocked dual-core processor for some uses. The reason for this phenomenon according to Sandia is one of memory availability. Supercomputers have tried to increase performance by moving to multiple core processors, just as the world of consumer processors has done.

The Sandia team has found that simply increasing the number of cores in a processor doesn't always improve performance, and at a point the performance actually decreases. Sandia simulations have shown that moving from dual core to four core processors offers a significant increase in performance. However, the team has found that moving from four cores to eight cores offers an insignificant performance gain. When you move from eight cores to 16 cores, the performance actually drops.

Sandia team members used simulations with algorithms for deriving knowledge form large data sets for their tests. The team found that when you moved to 16 cores the performance of the system was barely as good as the performance seen with dual-cores.

The problem according to the team is the lack of memory bandwidth along with fighting between the cores over the available memory bus of each processor. The team uses a supermarket analogy to better explain the problem. If two clerks check out your purchases, the process goes faster, add four clerks and things are even quicker.

However, if you add eight clerks or 16 clerks it becomes a problem to not only get your items to each clerk, but the clerks can get in each other's way leading to slower performance than using less clerks provides. Team member Arun Rodrigues said in a statement, "To some extent, it is pointing out the obvious — many of our applications have been memory-bandwidth-limited even on a single core. However, it is not an issue to which industry has a known solution, and the problem is often ignored."

James Peery, director of Sandia's Computations, Computers, Information, and Mathematics Center said, "The difficulty is contention among modules. The cores are all asking for memory through the same pipe. It's like having one, two, four, or eight people all talking to you at the same time, saying, 'I want this information.' Then they have to wait until the answer to their request comes back. This causes delays."

The researchers say that today there are memory systems available that offer dramatically improved memory performance over what was available a year ago, but the underlying fundamental memory problem remains.

Sandia and the ORNL are working together on a project that is intended to pave the way for exaflop supercomputing. The ORNL currently has the fastest supercomputer in the world, called the Jaguar, which was the first supercomputer to break the sustained petaflop barrier.

Comments     Threshold

This article is over a month old, voting and posting comments is disabled

RE: This is not all that surprising...
By Oregonian2 on 1/19/2009 3:14:59 PM , Rating: 2
You've had your posting's point score knocked down a few because your posting, although I think written with good honest intention also showed a rather large, uh, lack of knowledge of processor architecture and usage. I personally think your ideas should be argued against instead, but that's me. And yes, I am an "EE Guy" who professionally designed computer systems starting with the Intel 8008 back when it was hot stuff. In terms of this thread, hunt down photos of CPU die -- there usually are some when new processors come out. Note how the "CPU proper" usually takes only a minority portion of the chip! Most of the area is usually taken up by cache memory. Think about the implications of that observation in the context of this thread.

By William Gaatjes on 1/19/2009 3:34:22 PM , Rating: 2
For the interested :

and to top it off with some tests :

Why is cache so important ?
Well, triple 3 channel memory is around 16 times slower then the cache of Intels fastest offering i7 965. Imagine that the execution unit's inside the core i7 965 would be just waiting for data wihtout cache. the cpu's would be terribly slow. And the x86 complete(thus meaning including decoders load and store ) execution unit's are still big when compared to other modern architectures. But they only need to be because they need to decode the variable lenght x86 instruction set (meaning instructions can be for example 8 bits or 16 bits or 32 bits or 64 bits long ) This makes it less easy to feed the instructions as easy digestive food to the execution unit's.

"Well, there may be a reason why they call them 'Mac' trucks! Windows machines will not be trucks." -- Microsoft CEO Steve Ballmer
Related Articles

Copyright 2016 DailyTech LLC. - RSS Feed | Advertise | About Us | Ethics | FAQ | Terms, Conditions & Privacy Information | Kristopher Kubicki