Today is a good day to code

Dual Core – Twice as Strong?

Posted: December 31st, 1969 | Author: | Filed under: Uncategorized | No Comments »

Dual Core – Twice as Strong?

Picture of Irv Owens Web DeveloperWhy the sudden push toward parallel processing? Many in the industry would have computer users believe that two processors are better than one. Apple has been using dual CPUs for quite some time, and the dual G5s are the fastest Apples around. Does that make them faster than single CPU machines?

The crux of the issue is the software. The first problem with using a dual CPU system is that the software has to be written to utilize both CPUs to their maximum efficiency. Though some developers have been coding using threads, the majority of them have not. Largely because many programs will never need dual-cpus. Microsoft Word is a good example. On either the Mac or PC platform there is no reason for Word to ever use both CPUs. Perhaps they could offload the find and replace to another thread, which would allow the Operating System to send that operation off to another processor, but the thread would almost never operate simultaneously with any other process you would want to run in Word making opening another thread kind of pointless. If you were doing a find and replace, it would be unlikely that you would be typing anything while that operation was taking place. Most of the software we all use is a lot like Word. So which computer would run Word faster? One that had two 2.5 GHz processors, or one that had a 3.76 GHz processor? The one that has the 3.76 GHz processor of course! This is why PCs tend to be faster than Macintoshes at most operations. Most think this ends the debate permanently as to the faster platform, however it does not. There are many processes that can take advantage of dual-processors. Even the 3.76 GHz processor running Word has a limit, and that limit is the individual operating the computer. People can only type so fast.

So what software do we have that could use two processors? Many 3D rendering software packages have the ability to use dual-processors during heavy rendering tasks. Photoshop has the ability to split the workload of many filtering tasks in half and use both processors.

These are very minor tasks to put to multiple CPU systems. With many 64-Bit, dual-core, dual-processor designs about to hit the market, the uses for multiple processors will begin to unfurl. Accurate voice recognition, 3D holographic rendering, and alternative systems for input such as holographic humanoid computer representatives will begin to become possible with more parallel processing power. Still, even with massively powerful multi-processor systems, serial processing will still need to be carried out at speeds more rapid than we can achieve today. The problems that face modern processor designers are the issues that have always plagued them to a lesser degree. Power, Heat, and physical space. Many wouldn't accept a processor that was the size of a magazine, and the resulting motherboard would be huge, so each leap forward in compression of die sizes creates more issues of power dissipation and heat generation.

Intel's newest breed of processors generate so much heat that they have to be throttled between keystrokes to keep them in their proper operating range. Even if they could get a processor to operate reliably at 4 GHz or above, how would the other components in the PC handle the heat generated, and the power drawn. Modern video cards for example create almost as much heat as the CPUs. Both together can overheat the hard-drives, which now spin at between 7200 RPMs, and 15000 RPMs. Overheated hard-drives would have much shorter lives, and would potentially lose data on writes, or corrupt data on reads. Not to mention the penalty paid when overheating RAM chips in a system. All of this is much more difficult to manage on a PC where a chip designer is uncertain of what could be in the computer that will use the processor, or the cooling measures taken to keep the computer in a safe thermal operating zone.

These are the difficulties facing modern CPUs in the computer. There is no real solution at the moment, so the conclusion most processor manufacturers have come to is that having multiple processors will sell more computers without having to increase CPU speeds. Not that CPU speeds are everything, a dual-processor can perform some activities faster than a single-CPU system. However, most of the operations that most users perform won't benefit much from the second CPU. Intel's Hyper-Threading technology, when it first came out, actually made the system perform more slowly than its single threaded counterpart at the same clock speed. The difference in performance was due to the overhead imposed on the system by Windows in managing the threads that the program creates.

The bottom line, does it make sense to buy a dual-processor or dual-core system rather than buy a single-processor or single-core one? The answer in my opinion is no. Unless you can get the dual at the same cost or cheaper than the single, the single is the better deal if it has a higher clock speed. Going with multi-core, or multi-CPU systems only prolongs the inevitable, we will have to beat the limits imposed upon us by electricity, as well as thermal stress in order to really push computing to the next level. Still, as it is there are not many applications that require a system to fully use both of its processors. Even the mighty Pro-Tools only uses a single processor. Most of this is hype. The majority of users would still get excellent performance from a 2 GHz processor with a decent video card. Only the extreme high end will really get the benefit of having two processors in a computer. It has yet to be seen if, especially Intel, AMD, and IBM / Apple can really convince users to buy a processor that is slower than the one they have but is dual-cored. I am looking forward to seeing how they spin benchmarks to show how much better the performance of dual-core systems are.

So what about 64-Bit CPUs? Eventually 64-bit CPUs will make a difference, but at the moment the only applications that might really gain from having 64-bit capability are large scale server applications that require as much memory as they can use, and high end games that can use a wider path through the processor to enhance performance. Heavy duty 3D applications could use the power of 64 bits. Microsoft Outlook and Internet Explorer can't really use a full 64-bit processor. Maybe their interface could, but their core functionality can't. Again, it probably isn't worth it to buy a 64-bit system that costs more than an equally capable 32-bit system at this time. It will take at least another year, and some innovative thinking about how people interact with the computer to really push 64-bit processors to their limits. All of these “new” developments are really attempts to draw consumers attention away from the fact that the processor industry has hit a performance wall. They have to keep selling until they can figure out how to get past it. For all of the big three's talk about how CPU clock speeds don't matter, if one of them tomorrow figured out how to release a 5 GHz processor, all of this hyper-treading, dual-coring would disappear, and the gigahertz race would begin anew. That you can bank on.