View Full Version : SMP client is so bad, I've switched them off!
MikeTimbers
1st November 2008, 16:31
Really fed up with getting a1 core units that earn practically nothing and don't properly load the cores. The throughput is so poor, I've switched my quad-core to Rosetta@Home for a while. The two GPUs will continue to pump out 10000ppd.
shatteredsilicon
3rd November 2008, 19:59
This will no doubt make me unpopular with some people, especially those in charge of the project, but you could try something like this:
#!/bin/bash
while (/bin/true); do
./fah6 -oneunit -forceasm -advmethods -smp 2>&1 > /dev/null &
PID=$!
sleep 5
until ( pstree $PID | grep FahCore_ ); do
sleep 1
done
sleep 5
if ( pstree $PID | grep FahCore_a1.exe ); then
echo -n "Detected a1 core - killing instance... "
kill $PID
sleep 10
kill -9 $PID 2>&1 > /dev/null
killall -9 FahCore_a1.exe 2>&1 > /dev/null
echo -n "Removing WU... "
rm -rf machinedependent.dat MyFolding.html queue.dat state* step* unitinfo.txt work
echo "Retrying..."
else
echo "Detected a2 core - waiting to complete."
wait
sleep 30
fi
done
Of course, if they valued the WUs in a sane way, this sort of nonsense wouldn't arise.
Anyway, this is highly untested, quick-and-dirty off-the-top-of-my-head bash code. I'm not even claiming it'll parse. But it ought to give you a reasonable idea about the approach that might work.
MikeTimbers
4th November 2008, 02:55
Interesting approach. I've seen some of your rants on the folding forum about points (and I get awards for ranting at work so I recognise a rant when I see one :p ) and I can't disagree. The way the points work has always been crap but has been exacerbated by the SMP units values. Get a nice 2605 worth 1760 and it's OK, get one of these a1s worth 3340 and you might as well turn off the machine. With the price of power these days, more and more people will question where they put their computing effort.
shatteredsilicon
4th November 2008, 18:26
Well, if you want the a2 WUs, at the expense of dumping and delaying all the a1s, then this script ought to do it.
I'm not sure what would happen if everyone started dumping low PPD WUs. They'd either end up banning half of the userbase or they might just finally fix the valuation or else no low PPD WUs would ever get processed.
Having said that, I don't think there are many a2 WUs floating about at the moment. I've not seen one in a few weeks.
And it's not just the SMP valuations being all over the place, the recent nVidia vs ATI fiasco pissed off quite a few people, too.
MikeTimbers
5th November 2008, 14:24
But the whole points argument is so old. And it's the same in every project. I remember in Distributed Folding where everyone got the same unit for a week and the point kept changing depending on the "value" where people who'd been crunching for years where being passed by people who only brought out their farms when there was a high-value unit.
I've started the SMP machines on another project and it seems to produce almost identical credit every day. It's dull but predictable.
When the a2s come back, I'll return them to FAH. Until then the Nvidia GPUs I bought specifically to do FAH will keep running 24/7.
shatteredsilicon
5th November 2008, 15:20
I just got an a2, so you may want to fire it up with the wrapper I posted. :)
MikeTimbers
7th November 2008, 16:19
Tried it but the a2 units don't load the cpu well and aren't worth much. With the early a2s I could get well over 2200ppd per VM now it's barely 1700
shatteredsilicon
8th November 2008, 10:51
Use "taskset" to bind each instance (4 threads) to a specific CPU. If your CPU is over 1.6GHz Core2, it'll make the deadline, but you'll avoid the process migration overhead between the cores, which makes a significant difference.
MikeTimbers
8th November 2008, 12:06
Remember these are running in two-cpu VMs and even then there is a "58% waiting time due to imbalance". Compare that to SMP BOINC which runs four separate processes and fully loads the system. And why does it have to work with four separate processes for the same unit anyways? Have they never heard of multi-threading? Who does SMP by creating four heavyweight processes instead of lots of lightweight threads?
Amateurs.
shatteredsilicon
8th November 2008, 22:12
Remember these are running in two-cpu VMs and even then there is a "58% waiting time due to imbalance". Compare that to SMP BOINC which runs four separate processes and fully loads the system. And why does it have to work with four separate processes for the same unit anyways? Have they never heard of multi-threading? Who does SMP by creating four heavyweight processes instead of lots of lightweight threads?
Amateurs.
Actually, there's not that much overhead under Linux on processes vs. threads. The balance problem is to do with the fact that data is interdependent. But if you bind the entire set (bindings are hereditary) to the same core, that process won't get migrated to other cores. If you then fire up a fah instance on each core, you'll get much better CPU utilization, and much less process migration overhead.
MikeTimbers
9th November 2008, 03:05
The Quad is back to an alternative project but at least it's under TGC's name.
vBulletin® v3.7.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.