CyberArmy Academy | CyberArmy Services & Support | Open Source Institute | CyberArmy Intelligence & Security | CyberArmy Projects

[Library Index]

[View category: Hardware] [Discuss Article]

Is the dream system here?

Article is yet to be rated
Author:      Goliath
Submitted:      13-Dec-2002 13:50:22
Imported From:      zZine (original author: Goliath)


While looking on the net for an upgrade to my older, but very reliable 800Mhz AMD Athlon system, I was pleasantly surprised by the new great offerings by Intel.
In the old dark days of computing (or known to us that were around then as "good old days"), if you wanted more power, you had two choices. You could spend thousands of dollars for a new processor that would be out of date in a month and it's price cut in half when the next new thing was released, or you could really waste your money with a dual (or quad) processor system where you could lose money on several processors that would be out of date soon.

It was the age of the MHz race when MHz actually meant the actual speed of your machine. In these times, you can't just look at MHz power, but have to have a PH.D. in Electrical Engineering to understand which chip is really dominant. The world has divided into splinters of Chippies (not too different from Hippies, but more violent). Usually, they either fall into Intel or AMD, but other platforms like Motorola also have fans. The debate of who has the fastest chip differs also on what OS you are speaking about. Windows people have a hard time grasping that many Macs of lesser MHz are far superior in speed to an IBM clone. Nix people still laugh at Windows attempts to true multi-task, but can't deny that they are getting closer to Nix-like multi-tasking (though multi-user security is FAR from any real completion with Nix). And Mac people are having to swallow that the only way to compete with Microsoft is to run a Nix based OS vs. completely home grown Apple software.

True multi-tasking requires that you run at least two processors. This is because a normal CPU can only do one thing at a time. Because of this, all OS's are virtually hampered on one CPU. (Nix people certainly don't like that BSD and Linux really can't use their full multi-tasking power without expanding to more processors). Such problems have resulted in linked computer networks like the Beowulf mini-supercomputers where dozens or hundreds of computers are all linked up through normal networking to work together like one giant computer.

Now, there is something new in the mix. Enter Hyper Threading. Intel introduced Hyper Threading in previous P4 chips, but was permanently disabled. Don't even think about trying to find and enable it unless you have an Intel Engineer sitting next to you, and the machinery to alter hard wired options directly on a chip. But, the latest P4 chip is... enabled! The Pentium 4 3.06 MHz HT enabled chip is available for purchase now. (Upon checking, both Dell and Gateway are offering this chip on consumer systems.)

To understand what a single processor does, try browsing the web, opening Photoshop or other high end graphics editor, and a high end audio editing program, and why not throw in a full system virus check. It doesn't matter if you have the fastest single processor out there, your system is screeching to a halt now. Web pages are loading slow over your Cable/DSL connection for some reason, the sounds from the audio editor are skipping badly, the editing functions of Photoshop are giving you funny colors as the screen updates aren't coming very fast, and your virus checker is acting as if it just wanted to give up and let the viruses take over.

What's going on here? Not taking into account other factors like memory and hard drive access speeds and the like, your CPU is being bombarded with requests, and it can't keep up in real time. Unlike a person, the CPU can't just tell you, "I've only got two hands!" It'll just chug away until it finishes all of the tasks. In this mindset, the first answer we tend to think of to ourselves is that we need a faster processor. If the processor is fast enough, if can go through the tasks faster. This is true, but this is only a partial fix.

On a single processor system, you can just do one thing at one time. It doesn't matter what OS you are running, you can't defy the physics of a CPU... or can you? With Hyper Threading, maybe you can do more than one thing at a time.

What is Hyper Threading, and why does it put AMD out of reach of for the time being? Let's state it in the simplest terms possible, because you probably don't have a degree in Electrical Engineering and CPU Architecture (and I know I don't). Hyper Threading is a virtual second processor. First, lets see what a CPU does. Think of threads as tasks. In our example, the CPU can only do one task, or thread, at a time. Cache's, MHz, faster pipelines only affect how fast it can do a single task, and usually, a thread doesn't use all of those resources at a time.

With Hyper Threading, the CPU is built to accept two threads at the same time. You read me right, the CPU takes a second thread, just like a second CPU did. In doing this, and by sharing other unused resources to complete the operations, your system actually acts like (and does think) that you have two cpu's. Now, let me be very clear on this, you don't have two cpu's. Intel didn't take two cpu's and glue them together. They just added a feature (among the usual others) to a single CPU.

So, what does this mean for you. Going back to our example (disregarding access times and such for data on the hard drive and such), the sounds aren't skipping, the viruses are being squashed, and your monitor isn't freezing up on you. But, what about when you one that one killer game that can freeze a machine on it's own? That's the catch, but it also isn't the catch. First, you CAN utilize the virtual dual-processor with a single program, but here's the facts about a single program:
  • You can run a "regular" program and it will act like single processor, so no speed increase.
  • If the program is programmed for dual-processor systems (multi-threaded) it will utilize the full power of Hyper Threading.
  • You always have background processes running, and it HT can take them out of the slowdown equation, leaving you to kill everything in sight.
Also, let's talk about that second situation where a single program uses the full power as well. As I have read, programming in multi-thread is something not too uncommon, especially for those kick ass programs. The reason is that to test the program, developers will do multi-threading to speed up testing and such. Basically, if done right, there's no real down side to multi-thread programming. The reason is that (as I said, if done right), it will run just fine on a single processor system, just not with the multi-thread capabilities. With HT, the program will now access its already advanced capabilities.

With this feature, Intel really hit a sweet spot, especially with programmers. I know I said I wouldn't go into MMX, but here goes. To use MMX (and other "extra" features), programmers must use it. As all chips don't use MMX, this meant a choice between the extra features and compatibility. AMD acquiring MMX capabilities helped solve this problem, but not in all cases, and overall, it remains unused by average programmers.

Hyper threading is different, because it doesn't require the programmer to do anything different. If they multi-thread or not, they will get the benefit of it by reducing single thread CPU consumption by other programs. Also, this opens up the door for more programmers to program multi-threading, which previously was seen as useless for consumer targeting programs. Universities and large companies regularly program multi-thread, because their target audience is high-end servers. The Intel Xeon for servers had HT enabled for a while now, but that has no relevance to the home user because not many of us run rack servers to do computing with. It's just not cost efficient when all we, the proverbial home user, do is browse the web, check e-mail, and play games. Now for instance, Adobe can have Photoshop unified across high-end graphics and home users all using multi-threading.

As I said earlier, HT doesn't make a second CPU, and so you can't get the full benefit of a second CPU, but it must be stated that the home user rarely runs so much that this would be needed, or could even be used. Earlier Windows systems can't even use HT, so if you have Windows 95, you're going to have to go NT or XP to utilize it. In such systems, the hardware profile actually shows dual CPUs.

What HT really comes down to is more efficient use of CPU power. Intel realized that not every thread uses all of the resources of the CPU, so they allowed the CPU to an extra thread processor to better use the resources to their fullest. What AMD can do to counter this is only to adopt this philosophy of multi-thread, and that's a good thing. Now, you don't just have MHz, you have MHz to the fullest.

As for the system I'm looking to upgrade to in the summer? A triple 19" monitor system (upgraded from my dual 19" monitors), 1.5 GB of RAM (you can NEVER have enough ram), and max out all IDE slots with hard drives (200GB is current top, should have 250GB by then hopefully), to close to the magical Terra byte storage capacity; a Terra byte is 1,000 GB, enough to store 200,000 mp3s, or 166 full length DVDs, or 1428 full length DivX movies (can someone say, every blockbuster for the last 40 years?), or host this full website over 1300 times. And of course, a Pentium with Hyper Threading.

This article was originally published by CyberArmy.net in the CyberArmy Library.

You must be logged in to vote on an article

About Us | Privacy Policy | Mission Statement | Help