bringing an I7 online

mdawson
mdawson
Joined: 23 Feb 05
Posts: 77
Credit: 6575069
RAC: 0

Understood. I did forget to

Understood. I did forget to mention that cpu 5 has a very low User #, while the Interrupt number is staggeringly high, on the order of 87%. Other cpu's indicate User at 70-100%, and kernel at anywhere from .9 to 4.0%. If affinity were an option I could set, it would go this way. CPU's 1,2,3,4,6,7 would get E@H wu's, 5 would be left alone to do whatever it is doing, and cpu 1 would be for feeding the gpu and anything I might be running on my desktop. That would be ideal to me, but I understand the complexities of trying to implement this.

I'm leaving affinity alone for now and suffering the reduced crunchability factor. I'm not really in this to rack up huge numbers, but more for the science participation, so the rankings (as simply a function of ranking) don't mean a whole lot to me.

I just wish I could make my system respond better. I mean, it's a 4 core, 8 cpu monster and it SHOULD perform better than what it is doing. BOINC is the only thing I'm running that seems to massively use more than one core, so it is at the root of the problem.

ExtraTerrestrial Apes
ExtraTerrestria...
Joined: 10 Nov 04
Posts: 770
Credit: 536500999
RAC: 189238

RE: For awhile there I was

Quote:
For awhile there I was playing with processor affinity. By using only 6 cores, I was keeping core 0 down to the same level as the other 3 physical cores. I wish somebody would write into these apps the ability to do this because my output went up considerably. Windows seems to be a horrible manager when it comes to delegating tasks across a lot of processors. I was sending the 6 Einstein's to CPUs 2-7 and leaving CPU's 0 and 1 open for me. That kept core 0 temp down and also kept my system fairly zippy. Right now, letting Windows run management on the cores, the system coughs and chokes on everyday tasks. I'd really like to be able to separate the wu's from general stuff.

I'm not sure I understand. Are you saying that by running 6 tasks on 3 HT-enabled cores (and leaving 1 completely empty) your output increased.. compared to what? 6 WUs without affinity or 8 WUs? The latter would contradict anything found before and the former would still be a surprise, as all previous tests I know of (including a few tests by me) didn't show such behaviour (as Richard already said). How did you measure output? RAC or WU completion times?

Furthermore I do find it a little strange that your machine would be bogged down so much by running 8 Einstein tasks. However, I'd suggest leaving just 1 logical core free and let Win handle affinity. This should be about as responsive as 7 tasks with affinity (and could in theory be even better due to more options for load balancing).
My daily work machine has 7 tasks running (50% Einstein / SIMAP) and I can't complain about snappyness. Running 8 tasks is also fine for general use but interferes with Matlab.

Oh, and never mind the few degrees hotter core 1. If I were you I'd try lowering CPU voltage, which will bring down temperatures and power consumption. The i7 should have quite some headroom.

MrS

Scanning for our furry friends since Jan 2002

mdawson
mdawson
Joined: 23 Feb 05
Posts: 77
Credit: 6575069
RAC: 0

MrS, yes, that's correct,

MrS, yes, that's correct, however I left out one critical detail. Core 5 as seen by SIV shows that it does very little processing on the user side, because it seems to be devoted to Interrupts. If I mouse over the bars for each processor, core 5 is in blue while the other 7 are in green. Core 5 shows 3.1% USER, .8% KERNEL and 88.4% Interrupt. So that seems to be the management core. All other cores (non-managed for affinity by me) show USER values of 76% or higher, with correspondingly lower values for Kernel and no value listed for INTERRUPT. When I manage affinity, I set it up this way. Core 0 open for me, Cores 1, 2, 3, 4, 6, 7 for the 6 Einsteins, and I leave core 5 open for INTERRUPTS. I set each task running to a specific processor, and then direct the feeds for Collatz to core 0. Feeding the gpu's off of core 0 doesn't seem to have any noticeable slowdown as you're right, there's plenty of crunchability in core 0 even with the 4 or 5 programs I have open at any one time. When I do this, USER values on the 6 Einstein cores jumps to nearly 100%, if not 100% on the nose, and my system responds with no lag, no delays opening windows, no cutoffs in the middle of a video playing from youtube etc. It's when I don't manage affinity that I get slow and crappy response. RAC and measured times seem to be lower slower with unmanaged affinity, although I haven't really done any quantitative testing. It's not so much the RAC or throughput that I'm ragging about. When managed as I showed above, this rig flies through all of the tasks I put to it. Unmanaged by me, it's awful. In total, there are 6 tasks I'm running based on advice given by others in this forum as opposed to the 8 that I could use. Under my config, core 0 would never load up more than 12% USER which seems to be where all other programs I use wind up running without me telling them to run on core 0. This is what gives me my zip back. All this week though, I have let Win7 x64 do the managing and my numbers seem to be lower than back when I was managing it. The only problem I experienced when I was managing affinity was that every time a wu finished, the replacement would be checked off to run on all 8 cores, and I would have to reset it back to the core that was previously used. This means that I would have to be here each time a wu finished to keep on top of my management. That's ok when I'm sitting here working, but when I'm out in the field, Win takes over if I'm gone long enough. So that becomes a pita having to do that, and I'm supremely lazy, so now Win is doing all of the managing and I'm back to a sluggish system. Even writing this post my system is slow. The cursor is choppy backing up making spelling corrections etc.

As I mentioned, I haven't done any real testing, just looking at my Einstein page and seeing what my daily totals are. I could probably get away with running 7 wu's at a time, but I'm afraid this rig would slow to a crawl.

It seems to me that a little better management of affinity by these various BOINC apps would help out a lot. Cores that really don't do much outside of BOINC could be put to 100% use, leaving one core for general purpose as none of my other programs seem to care if there is more than one core or not. Typically I have Firefox and Thunderbird open at all times, then possibly Quickbooks, a small CAD program, 2 vendor programming programs, Adobe Acrobat Pro and maybe some cpu/gpu spying utilities running. When I manage, they all fly. When Win manages, everything is choppy.

ExtraTerrestrial Apes
ExtraTerrestria...
Joined: 10 Nov 04
Posts: 770
Credit: 536500999
RAC: 189238

Interesting. It sounds to me

Interesting. It sounds to me like you're getting a lot of interrupts. Keeping a full core busy with that is probably a lot more than a typical desktop sees. This could explain why you're seeing much more of an improvement with manual affinity settings than others.

And of course handling this manually is totally out of the question long term. You might want to look at a program, I think it's called "process lasso". From waht I've heard it might be able to set affinity for you automatically.

MrS

Scanning for our furry friends since Jan 2002

mdawson
mdawson
Joined: 23 Feb 05
Posts: 77
Credit: 6575069
RAC: 0

This is my first exposure to

This is my first exposure to HT, so I didn't know what to expect. In my mind, it seems to make sense to have 1 core handling the dissemination of tasks and whatnot to the other cores, but what do I know? It seems to be a default to have core 5 do all of that interrupt processing, but you could be right about something, maybe my system is generating way too many interrupts? I don't know what they all are, I don't see any way to see that kind of data, and even if I did, I may not understand the underlying theory.

I'm checking out that Process Lasso program. A quick search found the program. I don't know if it will do what I want it to do, but I think I will d/l it and try it out.

mikey
mikey
Joined: 22 Jan 05
Posts: 11888
Credit: 1828024673
RAC: 207683

RE: Interesting. It sounds

Quote:

Interesting. It sounds to me like you're getting a lot of interrupts. Keeping a full core busy with that is probably a lot more than a typical desktop sees. This could explain why you're seeing much more of an improvement with manual affinity settings than others.

And of course handling this manually is totally out of the question long term. You might want to look at a program, I think it's called "process lasso". From waht I've heard it might be able to set affinity for you automatically.

MrS

Does the OS automatically start at cpu0 and them move on to cpu1, cpu2, etc, etc as it cranks up a program? I mean if the OS by default uses the first available cpu then this could be the problem and probably a tweak available to Boinc, just have it start at cpu1 and leave cpu0 alone. Now why the interrupts are on the first available HT core I don't know, but again that too could be by design, Intel would know in both cases.

mdawson
mdawson
Joined: 23 Feb 05
Posts: 77
Credit: 6575069
RAC: 0

I don't know how Win decides

I don't know how Win decides to do what it does when it comes to assigning processes to processors, but I've got my zip back! I d/l'd Process Lasso and have set it up. This is a cool program. I think I will buy it.

I've been able to move every program and process I want to any specific cpu, sort of. When the processes are identical, as in E@H, you can't say this one on core 1, that one on core 2. If they are named identically, you change one and they all change. For instance, I wanted one instance of the S5 wu to be on core 1, another on core 2 etc. When I changed the first one to core 1, all 3 identically named processes changed their affinity to the values I set for the first one. This makes sense to me. You don't really know which wu is going to run at any given time, could be the S5's, or it could be the BRP3's. So what I did was to set all E@H wu's to run on cores 1, 2, 3, 4, 6, 7. I moved Collatz to core 0 which is now my general purpose core, and anything that was using core 5, is now not using core 5. Some things I couldn't change, but that's ok though, they are Win processes and you are advised not to mess with them, i.e. Explorer.

In terms of time, I don't know yet if it helps out, but just having a partially used core to run everything but E@H has really helped out. No lag in typing, no jumpiness in anything.

mdawson
mdawson
Joined: 23 Feb 05
Posts: 77
Credit: 6575069
RAC: 0

I meant to add this info to

I meant to add this info to my last post, but my thumb twitched and it posted without, so here is what else I wanted to pass on. My cpu core temps are where I'd like them to be. All 4 physical cores are within a few degrees of each other and they're running flat out. There is some throttling going on, but it's minimal and is in a general upward direction. i.e. my cpu is stock at 3.2ghz, but I see bursts of speed up to 3.46ghz. I have not done anything in terms of overclocking, so this is interesting activity to me.

Of the 6 cores running E@H, all have USER values above 98%, several are at 100%. Core 5 still shows about 90% for INTERRUPTS and all of them that aren't at 100% USER have a sprinkling of a few percent of KERNEL. This info comes from SIV64.

All in all, using Process Lasso may not improve my running times on a per wu basis, but it lets me do things on my rig without any of the lag generated by Win managing affinity. And at least at this point, the various cores in use for E@H will be running nothing but E@H so I do expect a marginal improvement in time.

Speaking of which, I checked some of the times on previously validated wu's, and now I'm confused. The S5's are listed as having taken approx 19k seconds and the BRP3's at around 46k. Divide all that down and you get a lot of hours, only I know for a fact that these wu's aren't taking that long to do the work. Anybody know what the deal is regarding those time values? When a new wu loads, BOINC says it will take x hrs to complete, but after it runs for a bit, that value drops dramatically. For instance, if it says it will take 42 hrs for completion, it actually takes less than 10 by the time it gets done.

dunx
dunx
Joined: 13 Aug 10
Posts: 119
Credit: 53470527
RAC: 0

Your processor has a turbo

Your processor has a turbo mode where it will increase the clock to a busy core if the thermal limits aren't exceeded. Most overclockers turn it off for greater system stability.

I used PL for a while, but leave the system to decide these days...
I find that I need to leave 2 HT "cores" to feed both my GTX 460's.

Happy Crunching !

dunx

P.S. I made a RAC of 695,152 today ! ! To give a total of 10,802,300 !
And they say there are no problems with validation ; - )

ExtraTerrestrial Apes
ExtraTerrestria...
Joined: 10 Nov 04
Posts: 770
Credit: 536500999
RAC: 189238

Glad Process Lasso works for

Glad Process Lasso works for you!

And as Dunx said, the "clock speed oddity" is Turbo Mode kicking in. If CPU temperature, CPU power draw and CPU current draw allow it, the CPU can speed up a few multiplier steps, depending on how many cores are loaded. CPU voltage is increased for this, and quite generously so. On your CPU it was Intels first attempt for turbo and they had to make sure it was safe. The downside is that with turbo on your CPU will run less efficient (due to the higher voltage). Disabling turbo in BIOS will make your WUs run a little slower, but should improve power efficiency and temperatures. Personally I'd probably leave turbo on (for maximum performance) and lower the CPU voltage in "offset" mode (which applies to all different voltages, i.e. low voltage for idle, normal, or higher voltage for turbo) to become more power efficient.

By the way: what happens if you enable a 7th task on core 5?

MrS

Scanning for our furry friends since Jan 2002

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.