Quad Core Desktops and Diminishing Returns

Virtual Machines currently use only one core per VM. It you’re running LINUX and Windows both you’ve already used two cores. So running Mac OS X and two VM’s would benefit from at least 3 cores.

Tom’s Hardware has a very comprehensive review of the upcoming Core 2 Quad:

http://www.tomshardware.com/2006/09/10/four_cores_on_the_rampage/

Lots of benchmarks; most show nominal difference between the Dual/Quad Core 2CPUs. The only clear win in increasing from 2 to 4 cores is, as expected, in video encoding/editing.

Here’s my point of view: Software upgrades are easier for the average user than hardware upgrades (lots of effort/money required to reinstall your apps on a new PC). Taking advantage of multi processor architectures requires only a software upgrade, which (with Internet upgrades) is easier than hardware upgrades. Over the next 3-5 years (average lifetime of a PC) there should be lots of software upgrades that take advantage of multiple processors (at least up to 4 CPUs), so why not upgrade to quad CPUs?


A bit depressing when the Activity Monitor registers 796% CPU usage on the 8 core versus 395% usage on the 4 core, yet the total time to complete the task is only 3% faster in the case of Photoshop CS3 and 7% faster in the case of Aperture.

http://www.barefeats.com/octopro1.html

I like my Dual Processor system well I own 2 of them there bother old but have never let me down and there better than my laptop what has a Pentium IV 2.56Ghz Northwood (1 core).

Both my desktop computers are dual system:

Dual Pentium II 333Mhz and the other Dual Pentium III 1Ghz. There on almost all the time and they have never let me down so far they both run XP Pro.

Windows Media Encoder 9.0 MPEG to WMV 125 119 1.1 x
Xmpeg/DivX encoding 71 75 1.1 x
LAME 3.97 WAV to MP3 69 67 none

How about encoding 4 movies or songs at the same time?
How about running unit tests while working on programming somthing else?

I am a developer and I run Apache 2.2, PHP 5, MySQL 5, ZoneAlarm, AVG, Firefox and sometimes Winamp on a Win XP SP2 P-III ~700MHz 192MB RAM 19GB slow-ass HD Intel onboard a/v. This really sucks all of the time, let alone if I get a hit, and I’d love one of those new-fangled doohickeys they keep coming out with. I’ve gotten really good at disabling Windows services though which is really good for security as well :slight_smile:

HAHAHA! I can’t wait for people to start throwing out their dual-cores after christmas!!

what we have too remember here is that this technology is not a new idea, and all the ideas and concepts of a multi-processor environment have existed for decades before somebody decided it was cost effective to put it all onto a single chip.

Diminishing returns is something you’d expect in this situation, doubling the number of processors doesn’t double the performance. When you start considering how these seperate processors start managing the single resources of the computer, such as memory hdd access, you start to understand why the returns aren’t not so great. coupled with instruction “execution order” dependencies within a single application its not particularly easy to automatically divide an application into logically parts that run well concurrently together.

I’ve a Quad core at work. It’s very handy considering I have vista and vmware-server running all the time on it. I have to say that vista still dogs down when using vmware-server, but thats mostly due to pathetic io.

A year on since this was originally posted and nothing has really changed. The truth is that few applications can use more than 2 cores, most are still using only one.

What worries me most is that we could be looking at the maximum single threaded performance we’ll see for a LONG time. Intel/AMD/Everyone is going multiple cores and ignoring single threaded performance. Yet most applications do not lend themselves to its usage. Intel is also saying we should be expecting 128 cores in the future.

Saying that we can run a few applications to utilise the cores is true only for very small numbers of cores. I doubt that 128 cores would be utilizable in the same way. Indeed do we honestly want any application to be limited to 128th of the CPU’s power. That is stagnation in PC performance marks the end of the scaling and current windows apps being about the best they can be, only features or a fundemental change in the Windows OS design would allow more utilisation.

The final fact that scares me is that if a algorithm has just 10% of it that can’t be run in parrallel then the maximum speed up you ever have, regardless of number of cores, is 10x. Doesn’t matter how many cores you have all the benefits come from a better algorithm. Alas better algorithms tend to come along less frequently than new faster CPUs.

If we don’t work out how to get single threaded performance moving again programming languages will have to change and developers will be rebuilding their entire world to use multiple cores. Reliability thus is going to dive.

For me it’s all about 3D rendering. If I can cut the rendering time of a long complex animation from 4 days to 2.5 days, it’s worth it. 3D Studio Max scales quite well with additional cores.

I have had a quad core for a year now… I am impressed… Rendering and video editing are very good. The only problem as mentioned several places are the speed of the hard drives and memory aswell as screencards. I do notice an increase in loading times compared to my old p4. The coding of programs must change to utilize more cpu power spread evenly. But loading times and games loading are still limited to the hard drive speed. but still very happy.

I’m surprised at the Apache result - I would have thought that Apache had sufficient concurrency built in (via forked processes or threads) to utilise loadsa cores…or is it optimised as a single threaded process (surely not?).

Anyway - can anyone explain why my surprise is unwarranted?

Jeff:

It may seem excessive, but there are specific applications to consider which are actually quite common with Macs and Mac users.

One of these is music/media production, which I do on PC, but make no mistake, if I could afford one of those high-end Macs I’d get one just for that purpose. In this type of production you have a lot of virtual instruments or effects running, all of which are very CPU intensive, but none of which actually depend on each other in any way (unless they’re chained together, but that can still be multithreaded by introducing a delay).

In that particular application, you can never have enough CPU power. Every producer is used to this and has to use kludgey workarounds to minimize CPU usage. Dual-core CPUs in this case are, practically, doubling the concurrency limit, and a quad-core CPU will practically quadruple it.

There may be other examples too. I think the Mac Pro (and even the high-end G5) is really directed toward niche markets like producers who really are always starving for CPU time specifically because of massive-scale threading.

It’s not a machine for programmers, gamers, internet surfers, or casual users. For those people, it’s definitely excessive. Having a dual-core CPU has made a big difference for me at work but I can’t see a quad-core making much of an additional difference.

I agree with what Stuart and Christian said about Apache - that’s certainly designed to take advantage of multiprocessing, so the results obviously show it hitting disk- or network-IO limits.

Which demonstrates another reason for quad-core being of limited value on a desktop - having all that CPU power doesn’t mean a thing if the rest of the resources can’t keep up. Even for developers, a quad box won’t speed up compiles much if it spends all it’s time doing disk access.

Hi Jeff,
can you comment more about the technologies driving disk performance?

http://icelava.net/forums/ShowThread.aspx?PostID=1420

check out microsofts channel9 and they clearly say that the lambda expressions in .NET 3.0 are meant to handle multicore. They are making functional programming extensions of C# and VB.NET.

Then you have software that is faster on quad core, 8 , 16,. 24, 32 core as well.

personally I wouldn’t build an 8 core except for servers.

The next “must have” is ray tracing for video games. That comes from making the 24 core 1 TFlop chip that was shown at the 2006 IDF.

Build that with dual core (+24 floating sub cores) and you have the next major leap in computers. Quad + 24 subcores would be the high end.

Of course Intel can just push all of the floating stuff off to these subcores and make four smaller ALU’s very easy. So they might as well build the quad…

Right now I am very happy with my E6400! When the Q6600 comes down under $300, I will upgrade!

Virtualization will continue to drive the number-of-cores arms race for the foreseeable future. And that’s a good thing.