Prime 95

jzodda

Senior member
Apr 12, 2000
824
0
0
So I am running Prime blend 25.6 build 6 on Vista 64 and thread two is clearly ahead by one test after a few hours running. Is that something to be worried about? I am testing my OC with a new motherboard, same as in the sig just a P45 board as opposed to the P965 from before.
 

myocardia

Diamond Member
Jun 21, 2003
9,291
30
91
That's completely normal. One of your cores is running Windows and Prime95, while the other is only running Prime95.
 

JAG87

Diamond Member
Jan 3, 2006
3,921
3
76
Originally posted by: myocardia
That's completely normal. One of your cores is running Windows and Prime95, while the other is only running Prime95.

It's not normal, it depends how much. I'm surprised this is coming from you myo, you know better.

P95 threads are not assigned to a particular core. Its the cpu scheduler that assigns the resources available to the four threads. So saying that one core is running just a p95 thread while one core is running a p95 thread + windows, is complete BS. You don't know what core is running what. As a matter of fact, windows tries to make it as random as possible.

Sure, a bit of difference is normal, especially if you have anything else running in the background, but if you have a lot of difference (more then 3-4 lines of iterations), there is something wrong.

example:
http://www.anandtech.com/cpuch...howdoc.aspx?i=3184&p=4
 

jzodda

Senior member
Apr 12, 2000
824
0
0
Interesting. I had read that article recently too and forgot about it. One core is about 1.5 tests behind the other one. I have been running lots of stuff in the background also. Multiple open windows, remote desktop, firefox with half a dozen tabs. Outlook is open too and I have been opening and closing docs and monitoring apps like everest, all while Prime has been going. It should not be the voltage as I am running 1.25vcore load @ 4.0Ghz with temps of 49-50c with the system listed in the sig. So if it gets to more then 3-4 tests behind then I have a problem? but what kind of problem? Would that mean one core is dying?
 

VirtualLarry

No Lifer
Aug 25, 2001
56,587
10,225
126
Originally posted by: JAG87
P95 threads are not assigned to a particular core. Its the cpu scheduler that assigns the resources available to the four threads. So saying that one core is running just a p95 thread while one core is running a p95 thread + windows, is complete BS. You don't know what core is running what. As a matter of fact, windows tries to make it as random as possible.

It's been my experience that yes, prime worker threads ARE assigned on a per-core basis.
 

ch33zw1z

Lifer
Nov 4, 2004
39,832
20,428
146
Originally posted by: VirtualLarry
Originally posted by: JAG87
P95 threads are not assigned to a particular core. Its the cpu scheduler that assigns the resources available to the four threads. So saying that one core is running just a p95 thread while one core is running a p95 thread + windows, is complete BS. You don't know what core is running what. As a matter of fact, windows tries to make it as random as possible.

It's been my experience that yes, prime worker threads ARE assigned on a per-core basis.

I agree, one of my cores always falls behind when I run other apps..
 

JAG87

Diamond Member
Jan 3, 2006
3,921
3
76
Originally posted by: jzodda
Interesting. I had read that article recently too and forgot about it. One core is about 1.5 tests behind the other one. I have been running lots of stuff in the background also. Multiple open windows, remote desktop, firefox with half a dozen tabs. Outlook is open too and I have been opening and closing docs and monitoring apps like everest, all while Prime has been going. It should not be the voltage as I am running 1.25vcore load @ 4.0Ghz with temps of 49-50c with the system listed in the sig. So if it gets to more then 3-4 tests behind then I have a problem? but what kind of problem? Would that mean one core is dying?


With that much stuff you are doing, it's not surprising! At this point it doens't even matter, people usually run p95 when idling or leave it overnight because they cant stand using their pc when their CPU is at 100%. If you find it usable, go right ahead, you're not harming it.


Originally posted by: VirtualLarry
Originally posted by: JAG87
P95 threads are not assigned to a particular core. Its the cpu scheduler that assigns the resources available to the four threads. So saying that one core is running just a p95 thread while one core is running a p95 thread + windows, is complete BS. You don't know what core is running what. As a matter of fact, windows tries to make it as random as possible.

It's been my experience that yes, prime worker threads ARE assigned on a per-core basis.


There is no way to make one thread go on one core only, unless you run multiple instances of the process and assign each process to one particular core. Any other scenario is load balanced between all available cores by the cpu scheduler. Unless there is an affinity setting in p95 itself that I am not aware of?


Originally posted by: ch33zw1z
Originally posted by: VirtualLarry
Originally posted by: JAG87
P95 threads are not assigned to a particular core. Its the cpu scheduler that assigns the resources available to the four threads. So saying that one core is running just a p95 thread while one core is running a p95 thread + windows, is complete BS. You don't know what core is running what. As a matter of fact, windows tries to make it as random as possible.

It's been my experience that yes, prime worker threads ARE assigned on a per-core basis.

I agree, one of my cores always falls behind when I run other apps..


Don't confuse cores with threads. One of your worker threads falls behind, not cores.
 

DSF

Diamond Member
Oct 6, 2007
4,902
0
71
So even though Prime95 spawns two threads since it sees two cores, the threads aren't actually matched 1:1 with the cores? That seems odd.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,587
10,225
126
Originally posted by: JAG87
There is no way to make one thread go on one core only, unless you run multiple instances of the process and assign each process to one particular core. Any other scenario is load balanced between all available cores by the cpu scheduler. Unless there is an affinity setting in p95 itself that I am not aware of?
I'm pretty sure that there exists thread-level affinity settings. Prime95's master thread spawns N worker threads and assigns them to each CPU core. It's the same thing that the F@H optional program "affinity changer" does for quad-cores.


Originally posted by: JAG87
Don't confuse cores with threads. One of your worker threads falls behind, not cores.
If they are assigned 1:1, then yes, they are essentially the same thing.

 

JAG87

Diamond Member
Jan 3, 2006
3,921
3
76
Originally posted by: VirtualLarry
Originally posted by: JAG87
There is no way to make one thread go on one core only, unless you run multiple instances of the process and assign each process to one particular core. Any other scenario is load balanced between all available cores by the cpu scheduler. Unless there is an affinity setting in p95 itself that I am not aware of?
I'm pretty sure that there exists thread-level affinity settings. Prime95's master thread spawns N worker threads and assigns them to each CPU core. It's the same thing that the F@H optional program "affinity changer" does for quad-cores.


Originally posted by: JAG87
Don't confuse cores with threads. One of your worker threads falls behind, not cores.
If they are assigned 1:1, then yes, they are essentially the same thing.



But this is where you are wrong. If you launch 1, 2 or 3 worker threads in p95 on a quad core, it does not load 1, 2 or 3 cores at 100% while leaving the others idle. The cpu scheduler balances the load between all cores. Why dont you try.

The only way to do it is launch 4 separate processes of p95, and set affinity in the task manager. p95 does not have affinity settings for the worker threads.

So no OP, the worker threads are not 1:1 with the cores. Unless you launch 4x p95 and set affinity.
 

myocardia

Diamond Member
Jun 21, 2003
9,291
30
91
Originally posted by: JAG87
Originally posted by: myocardia
That's completely normal. One of your cores is running Windows and Prime95, while the other is only running Prime95.

I'm surprised this is coming from you myo, you know better.

Actually, what I know is that Windows is able to distribute software across however many cores are available, but Windows is not able to thread schedule Windows. Windows DLL's run on core #0, no matter how many cores you have installed. You weren't aware of this?


I read that article also. One of their cores was throttling, of course it was running slower.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,587
10,225
126
Originally posted by: myocardia
Actually, what I know is that Windows is able to distribute software across however many cores are available, but Windows is not able to thread schedule Windows. Windows DLL's run on core #0, no matter how many cores you have installed. You weren't aware of this?
Not true. Windows 2000 and Windows XP are SMP OSes. Symmetric Multi-processing. That means that any CPU core can handle any task. Previous versions of NT, either 3.1 or perhaps 3.5 were not symmetric, and it was true that windows OS tasks (specifically, drivers and interrupts) always had to happen on core #0.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,587
10,225
126
Originally posted by: JAG87
But this is where you are wrong. If you launch 1, 2 or 3 worker threads in p95 on a quad core, it does not load 1, 2 or 3 cores at 100% while leaving the others idle. The cpu scheduler balances the load between all cores. Why dont you try.

The only way to do it is launch 4 separate processes of p95, and set affinity in the task manager. p95 does not have affinity settings for the worker threads.

So no OP, the worker threads are not 1:1 with the cores. Unless you launch 4x p95 and set affinity.

If this were true, then people wouldn't see one thread of Prime95 slowing down. If the CPU scheduler balanced each thread evenly among available CPUs, then all threads should get equal CPU time. This does not happen. Therefore, you are wrong.
 

JAG87

Diamond Member
Jan 3, 2006
3,921
3
76
Originally posted by: myocardia
Originally posted by: JAG87
Originally posted by: myocardia
That's completely normal. One of your cores is running Windows and Prime95, while the other is only running Prime95.

I'm surprised this is coming from you myo, you know better.

Actually, what I know is that Windows is able to distribute software across however many cores are available, but Windows is not able to thread schedule Windows. Windows DLL's run on core #0, no matter how many cores you have installed. You weren't aware of this?


That's entirely besides the point because you still won't know which core is slowing down. In fact if one p95 thread slows down, it could be any core that is throttling, and you wont know. The way p95 lays out the threads is very misleading. To test that, you have to do what it says in the article:

Manually assigning the processor core affinities for each thread and the observing the system showed that throttling was occurring on Core 1.

This is exactly why in the OP's case, it's not a throttling problem. Since it's one particular thread that is slowing down (and he has no affinity set), we cannot say that one core is throttling, since that thread is being time spliced between both cores. Therefore it's most likely a starvation for cpu cycles due to all the crap he is doing in the background, and that starvation is definetely not coming from System related processes (which don't consume that much to begin with), but rather from all the other processes he is running.

In the end you are right, there is nothing to worry about, but your approach to the problem was wrong.


Originally posted by: VirtualLarry
Originally posted by: JAG87
But this is where you are wrong. If you launch 1, 2 or 3 worker threads in p95 on a quad core, it does not load 1, 2 or 3 cores at 100% while leaving the others idle. The cpu scheduler balances the load between all cores. Why dont you try.

The only way to do it is launch 4 separate processes of p95, and set affinity in the task manager. p95 does not have affinity settings for the worker threads.

So no OP, the worker threads are not 1:1 with the cores. Unless you launch 4x p95 and set affinity.

If this were true, then people wouldn't see one thread of Prime95 slowing down. If the CPU scheduler balanced each thread evenly among available CPUs, then all threads should get equal CPU time. This does not happen. Therefore, you are wrong.


Why dont you try for yourself. I am sure you have a quad or at least a dual, start only 1 p95 thread without setting affinity in the task manager, take a screenshot of the task manager performance tab and report back.
 

myocardia

Diamond Member
Jun 21, 2003
9,291
30
91
Originally posted by: VirtualLarry
Not true. Windows 2000 and Windows XP are SMP OSes. Symmetric Multi-processing. That means that any CPU core can handle any task. Previous versions of NT, either 3.1 or perhaps 3.5 were not symmetric, and it was true that windows OS tasks (specifically, drivers and interrupts) always had to happen on core #0.

SMP in the Windows world only means "more than one socket", nothing more, nothing less. That's why XP Pro is an SMP OS, and XP Home isn't, XP Home doesn't support a second socket/CPU. That has nothing to do with whether or not either is able to thread schedule itself, which they can't.

Originally posted by: JAG87
This is exactly why in the OP's case, it's not a throttling problem. Since it's one particular thread that is slowing down (and he has no affinity set), we cannot say that one core is throttling, since that thread is being time spliced between both cores.

Where did I say the OP had a core throttling?:confused: And yes, you are right about Prime95. Prime95 is thread scheduled, like all applications within Windows.

Therefore it's most likely a starvation for cpu cycles due to all the crap he is doing in the background, and that starvation is definetely not coming from System related processes (which don't consume that much to begin with), but rather from all the other processes he is running.

That's awfully astute of you to figure that out, after the OP said what software he was running concurrently with Prime95.:)

In the end you are right, there is nothing to worry about, but your approach to the problem was wrong.

Actually, I wasn't wrong in the slightest. If you or Taltamir had any idea of how thread scheduling worked in Windows, neither of you would have been arguing with me in the first place. Each and every segment has to continually report back to the "parent" thread on a continual basis. It has to report that it's starting segment XXYYZZ3245, that it has finished that particular segment, and finally what the actual result happened to be. If the parent thread were continually moving from core to core, you can see how that would effect performance, since they would spend as much time trying to locate said parent thread, as they would doing actual work.

If you would like to find out how thread scheduling actually works within Windows, this article is a good place to start.
 

JAG87

Diamond Member
Jan 3, 2006
3,921
3
76
Originally posted by: myocardia
Originally posted by: VirtualLarry
Not true. Windows 2000 and Windows XP are SMP OSes. Symmetric Multi-processing. That means that any CPU core can handle any task. Previous versions of NT, either 3.1 or perhaps 3.5 were not symmetric, and it was true that windows OS tasks (specifically, drivers and interrupts) always had to happen on core #0.

SMP in the Windows world only means "more than one socket", nothing more, nothing less. That's why XP Pro is an SMP OS, and XP Home isn't, XP Home doesn't support a second socket/CPU. That has nothing to do with whether or not either is able to thread schedule itself, which they can't.

Originally posted by: JAG87
This is exactly why in the OP's case, it's not a throttling problem. Since it's one particular thread that is slowing down (and he has no affinity set), we cannot say that one core is throttling, since that thread is being time spliced between both cores.

Where did I say the OP had a core throttling?:confused: And yes, you are right about Prime95. Prime95 is thread scheduled, like all applications within Windows.

Therefore it's most likely a starvation for cpu cycles due to all the crap he is doing in the background, and that starvation is definetely not coming from System related processes (which don't consume that much to begin with), but rather from all the other processes he is running.

That's awfully astute of you to figure that out, after the OP said what software he was running concurrently with Prime95.:)

In the end you are right, there is nothing to worry about, but your approach to the problem was wrong.

Actually, I wasn't wrong in the slightest. If you or Taltamir had any idea of how thread scheduling worked in Windows, neither of you would have been arguing with me in the first place. Each and every segment has to continually report back to the "parent" thread on a continual basis. It has to report that it's starting segment XXYYZZ3245, that it has finished that particular segment, and finally what the actual result happened to be. If the parent thread were continually moving from core to core, you can see how that would effect performance, since they would spend as much time trying to locate said parent thread, as they would doing actual work.

If you would like to find out how thread scheduling actually works within Windows, this article is a good place to start.



Oh wise myocardia, I took courses in university on operating systems and cpu scheduling, you really think I need to learn this from your or any links you give me? And don't think I am joking because I have transcripts to back me up.

By the way, you have no fucking idea what SMP is. SMP has absolutely nothing to do with multi socket, SMP means a system where all processing units are treated equally, whether they are processors (when we didn't have multi core) or cores (now that the technology is available to us). XP home is very much SMP, but you cannot use it in a multi socket system because of socket LICENSING. It has nothing to do with SMP.




So to end this stupid battle of brawns, jzodda, start two instances of prime95 with only 1 thread each (I believe you do it by creating shortcuts to the exe and adding a -1, -2, at the end of the target line) and set the affinity of the processes each to their own cores. Then leave the computer untouched while it runs, if you have discrepancy something is wrong.
 

myocardia

Diamond Member
Jun 21, 2003
9,291
30
91
Originally posted by: JAG87
Oh wise myocardia, I took courses in university on operating systems and cpu scheduling, you really think I need to learn this from your or any links you give me? And don't think I am joking because I have transcripts to back me up.

You obviously do, since you mistakenly think that Windows is able to thread schedule itself.;)

By the way, you have no fucking idea what SMP is.

Oh, I know exactly what SMP happens to be, which has seemingly almost nothing to do with Windows, or Microsoft's terms. I suppose you didn't learn reading comprehension at the pathetic college you went to, either, along with knowing not to end sentences with the word "is"?:)

Originally posted by: myocardia
SMP in the Windows world only means "more than one socket", nothing more, nothing less.
 

JAG87

Diamond Member
Jan 3, 2006
3,921
3
76
Originally posted by: myocardia
Originally posted by: JAG87
Oh wise myocardia, I took courses in university on operating systems and cpu scheduling, you really think I need to learn this from your or any links you give me? And don't think I am joking because I have transcripts to back me up.

You obviously do, since you mistakenly think that Windows is able to thread schedule itself.;)

By the way, you have no fucking idea what SMP is.

Oh, I know exactly what SMP happens to be, which has seemingly almost nothing to do with Windows, or Microsoft's terms. I suppose you didn't learn reading comprehension at the pathetic college you went to, either, along with knowing not to end sentences with the word "is"?:)

Originally posted by: myocardia
SMP in the Windows world only means "more than one socket", nothing more, nothing less.


Do you see how you are going completely off topic in a pathetic attempt to offend me?

Seriously dude, you know you are wrong, don't try to keep the argument alive by offending me, it's not going to work.
 

myocardia

Diamond Member
Jun 21, 2003
9,291
30
91
I'm not going off-topic. Windows can't thread schedule itself. The fact that the college you attended didn't teach you that, or how to consruct a sentence, is just a funny sidebar to it all BTW, am I the only one who has noticed that I'm the only one who has provided any evidence whatsoever? So, who's trying to take this off-topic again?
 

JAG87

Diamond Member
Jan 3, 2006
3,921
3
76
Originally posted by: myocardia
I'm not going off-topic. Windows can't thread schedule itself. The fact that the college you attended didn't teach you that, or how to consruct a sentence, is just a funny sidebar to it all BTW, am I the only one who has noticed that I'm the only one who has provided any evidence whatsoever? So, who's trying to take this off-topic again?


See, what you wrote here barely makes any sense, and your use of punctuation sucks.
But does it matter? No. Would I have mentioned it if you didn't mention anything? No.

What matters is were trying to help the OP, and I contradicted what you said providing sufficient material to back up me up. Sure I didn't take any screenshots, but heck you can verify what Im saying on your own, since it's presented pretty clearly.

Thread scheduling or no thread scheduling the point is that threads in p95 are not 1:1 with the cores unless you set affinity. If you are worried that other processes are using up cpu cycles you can even set p95 processes to the highest priority. If you still have discrepancy between threads, there is something wrong, and in the OP's case its all the shit he is doing in the background. Period, thats it, thats all there is.

Cheers, have a :beer:
 

myocardia

Diamond Member
Jun 21, 2003
9,291
30
91
Originally posted by: JAG87
Thread scheduling or no thread scheduling the point is that threads in p95 are not 1:1 with the cores unless you set affinity. If you are worried that other processes are using up cpu cycles you can even set p95 processes to the highest priority. If you still have discrepancy between threads, there is something wrong, and in the OP's case its all the shit he is doing in the background. Period, thats it, thats all there is.

I never said thread scheduling didn't take place with Prime95. As a matter of fact, if you had learned reading comprehension in college, you would have seen where I said that you are correct about Prime95, it does not run one thread per core, unless forced to do so:

Originally posted by: myocardia
And yes, you are right about Prime95. Prime95 is thread scheduled, like all applications within Windows.

Reading comprehension, FTW. What I said in my very first post is that one core is running Windows processes + Prime95, while the other core is only running Prime95, since Windows DLL's only run on core #0, which you then argued with. So, where was this big misunderstanding on my part?:confused:
 

JAG87

Diamond Member
Jan 3, 2006
3,921
3
76
Originally posted by: myocardia
Originally posted by: JAG87
Thread scheduling or no thread scheduling the point is that threads in p95 are not 1:1 with the cores unless you set affinity. If you are worried that other processes are using up cpu cycles you can even set p95 processes to the highest priority. If you still have discrepancy between threads, there is something wrong, and in the OP's case its all the shit he is doing in the background. Period, thats it, thats all there is.

I never said thread scheduling didn't take place with Prime95. As a matter of fact, if you had learned reading comprehension in college, you would have seen where I said that you are correct about Prime95, it does not run one thread per core, unless forced to do so:

Originally posted by: myocardia
And yes, you are right about Prime95. Prime95 is thread scheduled, like all applications within Windows.

Reading comprehension, FTW. What I said in my very first post is that one core is running Windows processes + Prime95, while the other core is only running Prime95, since Windows DLL's only run on core #0, which you then argued with. So, where was this big misunderstanding on my part?:confused:



No, I never once argued with that. Find me where I contradicted you and said windows processes are thread scheduled. Talk about reading comprehension...

At this point what bugs me is that you are still clinging on to these so called Windows DLLs or System processes as I like to call them, which you damn very well know do not use enough resources to cause a major discrepancy in the threads. A major discrepancy would only be cause by an owner process that is consuming a lot of cpu cycles (Firefox comes to mind from what the OP said), OR by throttling.


Edit.
Ok nevermind, I see where I contradicted you. Sorry, Im lacking sleep, couldn't remember what I wrote yesterday.

So basically the only point of my argument remaining is that p95 threads don't run 1:1 with the cores, and thats it. You still need to set affinity to find which core is throttling. I'm sure you agree with me on this.
 

myocardia

Diamond Member
Jun 21, 2003
9,291
30
91
Originally posted by: JAG87
Edit.
Ok nevermind, I see where I contradicted you. Sorry, Im lacking sleep, couldn't remember what I wrote yesterday.

Not a problem, man. I've done the same thing more times than you can count. BTW, lack of sleep is the best way (I've discovered this through first-hand experience, BTW) to get a bit confused, or even worse, confuse yourself.

So basically the only point of my argument remaining is that p95 threads don't run 1:1 with the cores, and thats it. You still need to set affinity to find which core is throttling. I'm sure you agree with me on this.

Yeah, I've agreed with that point since the first time you said it.:laugh: :beer: