Hard Light Productions Forums

Off-Topic Discussion => General Discussion => Topic started by: Enigmatic Entity on September 23, 2010, 01:43:27 am

Title: Multi-core CPU's and GHz question
Post by: Enigmatic Entity on September 23, 2010, 01:43:27 am
With single core, it's easy enough - 3.0 GHz = 3.0 GHz (non-geeky equation), but with all these new ones that only say they have about 2.2GHz, is that per core or the total processing power? Does that mean a new quad core 2.0 GHz CPU will have 8.0 GHz total?
Title: Re: Multi-core CPU's and GHz question
Post by: Scourge of Ages on September 23, 2010, 02:22:25 am
Yes, precisely. However, not every program can take advantage of multiple cores.

However, the newer OSes can split duty so that the OS is running on one core, and whatever applications, programs, etc. split the others. So generally whatever you're running that requires it, get's at least the full 2.2 Gz all to itself, unless it can use multiple cores.
Title: Re: Multi-core CPU's and GHz question
Post by: Colonol Dekker on September 23, 2010, 03:20:12 am
I can't even remember how fast my Q6600 is. It just works. You can always try and change process priority in task manager to realtime, which is what I do with max and after effects. :yes: slow render times make me RAGE.
Title: Re: Multi-core CPU's and GHz question
Post by: Androgeos Exeunt on September 23, 2010, 05:20:33 am
Uhh, Dekker, I think AE reserves a set amount of RAM, which can be determined by the user, for rendering. It's not really dependent on processing power as much as it is on the amount of RAM it has to work with.

In addition, on a computer with a single-core processor such as my IBM, setting a single process to realtime causes the computer to lock up since every other process can no longer function due to a lack of available CPU power.
Title: Re: Multi-core CPU's and GHz question
Post by: Nuke on September 23, 2010, 05:32:36 am
i run a 2.8 quad core myself. its not quite equivalent to running a 11.2ghz machine though. the way i precieve computers is that seem to be getting slower, because programmers are trying to push more data through the cpu than it should have to handle. cpu technology doesnt seem to be progressing faster than programmers think they are. but thats another matter entirely. if you open your task manager and look at your processes, you will see a page or two of stuff that is trying to run on your computer simultaneously. fortunately for us very few of them require the computers full attention. the os kinda divs up the cpu time to all those processes, it considers how many resources each is wanting to use, what the user is trying to do (which program has focus), process priority and other factors to decide which process gets the lions share of the resources like memory and cpu time. having more cores just allows for a few processes to take their turns simultaneously, but each can only run at 2.8ghz (and theres some overhead for the scheduler).

a program can use multiple cores, but in most situations its a bad idea. typically its something only suited to a task the computer is pretty much duing exclusively. a server is a good example, games are another, or applications that require massive computations, like video encoding and graphics rendering. even in such an application, youre still going to have a lot of overhead just making sure you arent working with the same chunk of memory from two locations in the code simultaneously. the program might run somewhat faster with 4 cores, but i very much doubt its runing 4 times faster that running it on a single core processor of the same speed. you are very likely to use a cores worth of processing power just for overhead.

another thing that effects speed is how much a cpu core can do per cycle. might be able to cram in more floating point ops per cycle on newer cpus than the older ones. one of the slowest operations a modern cpu can do is to retrieve data from memory. so cpus use prediction algorithms to guess what the contents of the memory might be, and to do the operations on those predictions before the data from memory actually arrives (its just twiddling its thumbs waiting for the data), and if it was correct about the prediction, then it doesnt have to do an operationon the data. its somewhat awesome what goes on the cpu, and its such a shame the art of programming cant keep up with it.
Title: Re: Multi-core CPU's and GHz question
Post by: Herra Tohtori on September 23, 2010, 05:41:58 am
With single core, it's easy enough - 3.0 GHz = 3.0 GHz (non-geeky equation), but with all these new ones that only say they have about 2.2GHz, is that per core or the total processing power? Does that mean a new quad core 2.0 GHz CPU will have 8.0 GHz total?


No. The clock frequencies announce the processor's cycle time - N cycles in a second. With 2.0 GHz clock frequency, the processing unit has two billion cycles in a second (2,000,000,000 Hz).

The fact that there are multiple cores does not magically increase the cycle rate.


However, cycle rate is integral in defining a single core's calculating power; essentially, it means it can do N processes in a second (this is grossly simplified since there are other factors that amount to the calculating power), and the calculating power is measured in FLoating point Operations Per Second (FLOPS), usually with modern computers this ranges in gigaflops which should not become as a surprise to an acute reader at this point.

This means that if each core has calculating power of 2 GFLOPS, a dual core processor has the parallel processing power of 2x2GFLOPS, quad-core has 4x2GFLOPS etc. This, of course, requires that the program itself supports parallel processing which requires that the program uses so-called "multiple threads"; one thread per virtual processor.

Yes, to complicate the matters, some processors have virtualization that enables the operating system to see one physical core as two discrete virtual processors, which can be very beneficial in some ways and problematic in others.


For older applications such as FS2_Open, which don't support multi-threaded processing, the performance of the CPU depends on a single core's performance which often can be more or less directly expressed in main clock frequency.

However, there are other things that affect the processing power in different scenarios; mainly, the speed and size of the processor's memory cache and the bandwidth to system random access memory. These form the so-called von Neumann bottleneck. This means that in many cases, computing power is not limited by the raw processing power but the ability to transfer data to and from between the system RAM and the processor. Not only this, but the processor's are required to cache their own instructions in addition to the data passing through. The latency of memory operations is what causes most significant delays in computing when the amount of data flow goes over certain threshold. If for example the processor need to use an instruction that isn't stored in the instruction cache, it needs to fetch the instruction there and the processing is stopped for the thread that requires that instruction, for the duration of fetching the instruction to the cache. Same with data - when the thread receives data from memory location to calculate (a word, in modern processors it is of length 64 bits), it processes it, spits out the result, and this result is stored back to a memory location, and the processing is halted for the thread until new data can be accessed from the memory.

The data cache speeds up the process by increasing the chunks of data that can be stored "closer" to the processor (computatively speaking) instead of moving each word one by one through the system bus between the RAM and the CPU.

Here is a diagram of a reasonably modern CPU's cache structure (AMD K8 core):

(http://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Cache%2Chierarchy-example.svg/500px-Cache%2Chierarchy-example.svg.png)


Now, messing up with process priority will not magically increase the processing power of the core. It will, however, elevate the process to higher priority which prevents threads from other processes from being processed on the appropriate core. Setting the priority to real-time does just that - it gives all of the core to the single processes demands, all the time until the priority is dropped or process terminated.

This might work on a multi-core processor when you set affinity to a single core, or the application natively only uses a single core. In this case, it leaves other core free to do important stuff like keep the operating system responsive and working, things like that. If, however, you set a multi-threaded process to real time priority, it can easily hog all of the CPU, prevent the operating system processes from working and crash your computer.

In single core systems this will happen every time if you set a "greedy" process to real-time priority. Unless the OS is protected from stupid user errors like this.

In other words: don't do it, it's misguided and silly and will only grant you a placebo effect of renders going faster. If other processes are messing up with renders, you should set their priority lower, not the rendering process priority to higher. Or you can set rendering processes affinity to a core that is not used by other processes as much. Either method works.

Incidentally, this is also why so many people experience such huge frame rate drops with FRAPS. Sure, it does decrease performance by having to dump each frame into HDD in a video file, but if you set FRAPS affinity to a different core than the game you play, it will work out much smoother... when the same core attempts to run both FS2_Open and FRAPs for example, it creates conflict of interests for both processes which slows down both process threads; when they operate in discrete cores, they are free to use more processing power simultaneously.
Title: Re: Multi-core CPU's and GHz question
Post by: Mika on September 23, 2010, 04:06:59 pm
Quote
a program can use multiple cores, but in most situations its a bad idea. typically its something only suited to a task the computer is pretty much duing exclusively. a server is a good example, games are another, or applications that require massive computations, like video encoding and graphics rendering. even in such an application, youre still going to have a lot of overhead just making sure you arent working with the same chunk of memory from two locations in the code simultaneously. the program might run somewhat faster with 4 cores, but i very much doubt its runing 4 times faster that running it on a single core processor of the same speed. you are very likely to use a cores worth of processing power just for overhead.

Usually.

There are some real world applications which are easily parallelized. I really get 8 times the processing power of a single core with a hyper-threading enabled quad core. One of the reasons is the demand for raw processing power in and not that much RAM in that application so that slow memory accesses will not cause performance bottlenecks.

Gaming is another case though.
Title: Re: Multi-core CPU's and GHz question
Post by: Ghostavo on September 23, 2010, 04:16:20 pm
I really get 8 times the processing power of a single core with a hyper-threading enabled quad core.

No, you don't.

Unless you are talking about threads that have huge amounts of jumps (and I mean something like 80/90% of jumps), you'll have somewhere between 4 and 6 times the performance. If you don't have jumps at all, you'll even wind up having slightly less performance than a quad-core without HT due to overhead. The reason is that when using hyper-threading you are not adding anything to up the performance, you are dividing a core's pipeline in two.

The benefit is that when a mis-predicted jump occurs, the amount of wasted pipeline space is reduced, and the dependencies are resolved "quicker".
Title: Re: Multi-core CPU's and GHz question
Post by: Mika on September 23, 2010, 04:49:06 pm
So then there are likely a lot of jumps in there.

Assembly people tend to consider hyper threading useless for the reason you have listed.

My experience is that in my field of work, it works well! I can see it from the number of system designs computer has generated, and compared to my actual dual core laptop, the quad core desktop resembles actually an octa core.

Although, I'm not sure if the numbers are completely comparable. I just realized that the laptop has about 500 MHz less frequency than the i7 desktop and then there are some differences in the cache sizes. I still think that the i7 is actually more than four times faster than the dual core laptop. I used to do this stuff with a single core, and dual core laptop felt like a rocket when it arrived.

I note that default local optimization macros don't run much faster than they do with a laptop. But global optimization, oh boy!
Title: Re: Multi-core CPU's and GHz question
Post by: Ghostavo on September 23, 2010, 05:18:27 pm
It's not useless, but even Intel doesn't claim double the performance, they claimed at most gains of 30%, which is pretty optimist when you think about it.

Also, when comparing the Core iX family with the Core 2 family, the newer one seems to have a higher IPC than the older one, so comparing frequency is somewhat misguided.
Title: Re: Multi-core CPU's and GHz question
Post by: Mika on September 23, 2010, 05:47:18 pm
I actually had to check some forums about hyper threading and software I'm using. Result: weird. Some say it is considerably slower, the software design company says it shouldn't make a big difference, yet it seems to be faster to me. I have to try utilizing all eight and only the four physical cores tomorrow to see what happens.

Articles were dated back to 2007, what could have changed if any? The other difference is that the laptop is 32 bit Windows XP machine and desktop is 64 bit Windows 7 machine. There's a ton of Microsoft updates in the laptop and F-Secure is crawling on both of them.
Title: Re: Multi-core CPU's and GHz question
Post by: Sushi on September 23, 2010, 06:00:59 pm
One of these days in the distant future, I'd love to experiment with multi-threading in fs2_open. :)
Title: Re: Multi-core CPU's and GHz question
Post by: newman on September 23, 2010, 06:26:55 pm
One of these days in the distant future, I'd love to experiment with multi-threading in fs2_open. :)

Yes! Let's have a collision detection-dedicated core :)
Title: Re: Multi-core CPU's and GHz question
Post by: CP5670 on September 23, 2010, 07:24:23 pm
I actually had to check some forums about hyper threading and software I'm using. Result: weird. Some say it is considerably slower, the software design company says it shouldn't make a big difference, yet it seems to be faster to me. I have to try utilizing all eight and only the four physical cores tomorrow to see what happens.

What programs do you use? I actually keep HT disabled, as it seems to hurt more often than it helps in the stuff I do. I find that it consistently makes things in Matlab and Mathematica 5-8% slower, and most benchmarks I've seen show the same thing.
Title: Re: Multi-core CPU's and GHz question
Post by: Rodo on September 23, 2010, 08:00:45 pm
This thread actually gives me a space to ask for some advise :D

My mobo died like 2 weeks ago, and I'm thinking about upgrading, I just don't have enough $$ to go and buy a x6 or i7, hell I might not even have enough to get i5 :S

So here's the question, if I get my mobo back fixed, should I just get a better processor and up the ram a little?

Present config: m2n sli deluxe + X2 4200 + 3GB DDR800 + GTX 260, I was thinking about getting a 6400+ and 4GB DDR800.
I'll use it for modding stuff, maybe rendering something and playing some FS from time to time.

EDIT: added gpu.
Title: Re: Multi-core CPU's and GHz question
Post by: Bob-san on September 23, 2010, 10:06:21 pm
This thread actually gives me a space to ask for some advise :D

My mobo died like 2 weeks ago, and I'm thinking about upgrading, I just don't have enough $$ to go and buy a x6 or i7, hell I might not even have enough to get i5 :S

So here's the question, if I get my mobo back fixed, should I just get a better processor and up the ram a little?

Present config: m2n sli deluxe + X2 4200 + 3GB DDR800 + GTX 260, I was thinking about getting a 6400+ and 4GB DDR800.
I'll use it for modding stuff, maybe rendering something and playing some FS from time to time.

EDIT: added gpu.
What's your budget like? It seems that your board, the M2N-SLI Deluxe, has beta support for Phenom II X4 processors (and most under). That of course includes support of the Athlon II lineup. You'd need to flash your BIOS to the latest beta version.
http://usa.asus.com/product.aspx?P_ID=szSFtrap7crpBaQE
Upping RAM to 4GB or 6GB would be an option: I'd suggest if you go anywhere that you go to 6GB. Otherwise, the GTX-260 should be fine for now. Another option might be an AM2+ board (supporting DDR2).


The only place that I've heard/seen a Hyperthreading processor excel over a non-HT processor is in some Distributed Computing applications. Performance is drastically improved by 20-30%.
Title: Re: Multi-core CPU's and GHz question
Post by: Admiral LSD on September 24, 2010, 02:25:30 am
http://www.anandtech.com/show/3937/amds-fall-refresh-new-phenom-ii-and-athlon-ii-cpus-balance-price-and-performance/1
http://www.anandtech.com/show/3674/amds-sixcore-phenom-ii-x6-1090t-1055t-reviewed/1
http://www.anandtech.com/show/2901/1
http://www.anandtech.com/show/2972/the-rest-of-clarkdale-intel-s-pentium-g6950-core-i5-650-660-670-reviewed

A read through those should give you a fair idea of how multiple cores and HT scale in various situations.
Title: Re: Multi-core CPU's and GHz question
Post by: Nuke on September 24, 2010, 02:51:29 am
shows how far behind the tech i am. when did they start putting gpus into the cpu?
Title: Re: Multi-core CPU's and GHz question
Post by: Admiral LSD on September 24, 2010, 02:55:53 am
With the Clarkdale (desktop) and Arrandale (mobile) cores earlier in the year. It's not technically "on the CPU yet", it's a seperate die in the same package, but Intel are planning on integrating it all in the upcoming Sandy Bridge chips which are supposedly going to start being released soon. AMD have been bleating about it for a couple of years now, but aren't planning on delivering anything until Liano early next year.
Title: Re: Multi-core CPU's and GHz question
Post by: Jeff Vader on September 24, 2010, 02:55:59 am
how how far behind the tech i am. when did they start putting gpus into the cpu?
Hasn't been that long. A year tops, I think. Wiser people are free to correct me, as always.
Title: Re: Multi-core CPU's and GHz question
Post by: Nuke on September 24, 2010, 04:04:47 am
after reading that last article im still somewhat happy with my q9550, and how it ranks near top on most of those benchmarks. its not an i7 but its not slow enough to upgrade yet. maybe next year. im also glad to see the power requirements of cpus dropping as well. for awhile i was buying a new psu every time i upgraded my hardware, unless they come out with new power connectors for hard drives, video cards and mobos again.
Title: Re: Multi-core CPU's and GHz question
Post by: Bob-san on September 24, 2010, 07:19:01 am
shows how far behind the tech i am. when did they start putting gpus into the cpu?
Intel's been doing it with Clarksdale so about 9-10 months now. It's AKA Core i3 & Core i5 600. The IGP still pretty much sucks--it's better than the older GMA X4500 & variations but it's still slower (iirc) than HD4200 IGP for example. In laptops, Intel usually has a pure CPU performance advantage while AMD usually has a GPU performance advantage. With IGP you can play more games (Source runs fine, for example, so long as you don't want ultra-high).
Title: Re: Multi-core CPU's and GHz question
Post by: Rodo on September 24, 2010, 10:26:56 am
What's your budget like?
500 US$ tops :C

It seems that your board, the M2N-SLI Deluxe, has beta support for Phenom II X4 processors (and most under)

Knew that already, I flashed it to 5001 version, my plan was getting a Phenom 945.
Everything was fine, a week passed and then it would restart itself randomly.
A few days later a friend came by, plugged a usb drive and boom, it wouldn't start again.
Got continuous warnings about usb overcurrent stuff, after messing around with the bios setup and a restart it just refused to boot, mobo started, fans worked but no post... 3 to 5 secs later it just shut off itself everytime.

I tried everything:

-Reseted the bios, nothing.
-Tested with another psu, nothing.
-Unplugged everything but micro, nothing.
-Pulled out of the case and tested it, nothing.


So my options are, buy mobo + micro + mem , but that's gonna hurt like hell.
Or get the mobo fixed (if possible, if not a replacement) and keep upgrading what I've got now.
I'm more in for the second option, given my budget, unless someone can talk me out of it.
Title: Re: Multi-core CPU's and GHz question
Post by: Bob-san on September 24, 2010, 10:50:56 am
As I said, an AM2+ board would be compatible with your memory and current CPU. Even so, you have the money to upgrade to a Phenom II X6 or a Core i5-760 (or perhaps to an i7-870 or, possibly, even an i7-950).
Title: Re: Multi-core CPU's and GHz question
Post by: Admiral LSD on September 24, 2010, 10:51:10 am
What's your budget like?
500 US$ tops :C

...

So my options are, buy mobo + micro + mem , but that's gonna hurt like hell.
Or get the mobo fixed (if possible, if not a replacement) and keep upgrading what I've got now.
I'm more in for the second option, given my budget, unless someone can talk me out of it.

http://www.newegg.com/Product/Product.aspx?Item=N82E16819115222 $114.99
http://www.newegg.com/Product/Product.aspx?Item=N82E16813128430 $119.99
http://www.newegg.com/Product/Product.aspx?Item=N82E16820145251 $84.99

Which comes to USD$319.97 and is better than anything you can get out of your current setup. I'm actually giving serious thought to dumping my AMD setup in favour of something like that.
Title: Re: Multi-core CPU's and GHz question
Post by: Herra Tohtori on September 24, 2010, 11:01:57 am
Everything was fine, a week passed and then it would restart itself randomly.
A few days later a friend came by, plugged a usb drive and boom, it wouldn't start again.
Got continuous warnings about usb overcurrent stuff, after messing around with the bios setup and a restart it just refused to boot, mobo started, fans worked but no post... 3 to 5 secs later it just shut off itself everytime.

I tried everything:

-Reseted the bios, nothing.
-Tested with another psu, nothing.
-Unplugged everything but micro, nothing.
-Pulled out of the case and tested it, nothing.


So my options are, buy mobo + micro + mem , but that's gonna hurt like hell.
Or get the mobo fixed (if possible, if not a replacement) and keep upgrading what I've got now.
I'm more in for the second option, given my budget, unless someone can talk me out of it.


I got the same motherboard, and it doesn't boot itself but there are some... irregularities in how it boots up. It's a bit like Millennium Falcon, you need to know how to start it up and it'll boot up just fine. My particular plank seems to dislike being booted up immediately after shutdown (I don't know if it's about temperature or static charge somewhere), but when I nudge a certain part of my computer case a bit, it boots up just fine. I never really understood what causes it but I'm past caring, as long as the PC boots up it works just fine...

You could try taking the motherboard out of the case entirely, putting it on non-conductive material and trying to boot ut up that way. I have no idea why, but that always worked with my particular specimen, while putting it in the case sometimes doesn't. Go figure.
Title: Re: Multi-core CPU's and GHz question
Post by: Admiral LSD on September 24, 2010, 11:05:51 am
It's actually possible for mobos to short out to the case which can cause all kinds of problems. My brother had an old A7N266-VM that wouldn't boot up properly in a case he had. I honestly thought I'd killed the BIOS chip when I borrowed it to hot-flash another identical board I had a BIOS update go bad on and it wasn't until after I replaced it and had it going in another case I realised what was going on. Happened out of the blue as well.
Title: Re: Multi-core CPU's and GHz question
Post by: Rodo on September 24, 2010, 11:11:28 am
I did pull it out and placed it onto a cardboard plank and nothing.

I really love my current config, but I guess I could go on a start checking other possibilities right now.. somehow I think this might be the last time I send my good old deluxy to repairs :c

EDIT:
Thanks Admiral, those are interesting options in case I decide to go the other way :yes:

A question that might be stupid for ya, but... here I go:
I've got 2x1GB Gskill mem modules cas 5, if I'm getting the other two slots filled up, what can I use?
Should I go same brand and latency on the other free slots, or can I change brands/latency with no problem?
Title: Re: Multi-core CPU's and GHz question
Post by: Admiral LSD on September 24, 2010, 11:31:14 am
Ideally you want them all matched, but as long as they're all the same speed and timings (faster RAM will downclock to the speed of the slower ones, but overclocking slower RAM can be hit and miss) you should be fine.
Title: Re: Multi-core CPU's and GHz question
Post by: Bob-san on September 24, 2010, 12:28:08 pm
I did pull it out and placed it onto a cardboard plank and nothing.

I really love my current config, but I guess I could go on a start checking other possibilities right now.. somehow I think this might be the last time I send my good old deluxy to repairs :c

EDIT:
Thanks Admiral, those are interesting options in case I decide to go the other way :yes:

A question that might be stupid for ya, but... here I go:
I've got 2x1GB Gskill mem modules cas 5, if I'm getting the other two slots filled up, what can I use?
Should I go same brand and latency on the other free slots, or can I change brands/latency with no problem?
$45 over your budget (AR) but...
http://www.newegg.com/Product/ComboDealDetails.aspx?ItemList=Combo.492640
http://www.newegg.com/Product/Product.aspx?Item=N82E16820220503
Title: Re: Multi-core CPU's and GHz question
Post by: Rodo on September 24, 2010, 02:05:14 pm
*drolls*

I'll start looking for another option then.... just in case.
Title: Re: Multi-core CPU's and GHz question
Post by: Bob-san on September 24, 2010, 02:15:43 pm
*drolls*

I'll start looking for another option then.... just in case.
Core i5-760 @ $205
Intel P55 @ $120
2x2GB DDR3-1333 @ $90
===
$415 (4C/4T)

Core i7-870 @ $280
Intel P55 @ $120
2x2GB @ $90
===
$490 (4C/8T)

Athlon II X4 640 @ $100
AMD 870 @ $100
2x2GB @ $90
===
$290

Phenom II X6 1055T @ $200
AMD 890FX @ $150
2x2GB @ $90
===
$440
Title: Re: Multi-core CPU's and GHz question
Post by: Admiral LSD on September 24, 2010, 09:33:47 pm
Considering you can get an i3 setup for only about USD$30 more than that Athlon II setup, USD$100 less than the Phenom II X6 one and it'll generally outperform both, neither are terribly good value. Same story with the 9xx i7's, the 7xx and 8xx Lynnfields are just as good, if not better, and cheaper to boot.
Title: Re: Multi-core CPU's and GHz question
Post by: Flipside on September 24, 2010, 09:58:31 pm
I'm very pleased with the performance of my i7 with Windows 7 Ultra 64, possibly the most stable system I've run.
Title: Re: Multi-core CPU's and GHz question
Post by: Admiral LSD on September 24, 2010, 10:49:43 pm
The Bloomfields aren't slouches, it's just they're made to look ordinary by the price/performance offered by the Lynnfield platform.
Title: Re: Multi-core CPU's and GHz question
Post by: Flipside on September 24, 2010, 10:54:45 pm
Oh, I'm sure there are systems that are better, I'm even moderately sure my system isn't running at optimal performance as it stands, I'm not really trying to knock the other processors, I'm just stating how impressed I am with modern computer setups and how remarkably few problems I've had with this machine compared to its predecessors :)