Wednesday, January 18, 2012

Grid Computing and when the apps don't play fair ...

I like to leave my main PC on all day. Or at least, on overnight so I can quickly check my emails on the way out the door to work without having to wait for it to boot up. (see the PS ...)

But ... The "who's paying the electric bill?" part of me thinks that might be a little wasteful. So ... I remembered back a few years to when the Search for Extra Terrestrial Intelligence (SETI) was popular. That's now evolved into an application called BOINC, which can manage multiple projects that will use your spare cpu time for something better than just keeping the house warm.

So I have a series of projects that use the spare cpu cycles on my desktop PC to do sums for research projects. If you look on Task Manager on a work PC, check the "System Idle Time". After a full day, that System Idle Time could be around 7 hours per cpu core. And that's with you in for 8 hours. Yep, most of the time your work PC is on, it's actually doing nothing but waiting for the disc, network or you to tap the keys.

BOINC puts that spare cpu power to good use.

Think of the number of PCs in the average organisation and then multiply it by that 90% idle time. It's close to Supercomputer power that's just not being used. The Met Office keep asking for new supercomputers, they probably have enough spare cpu cycles in their offices to not need them (they actually use BOINC too).

There's a wide range of applications that BOINC runs :

Medical research
Cosmology
Physics
Alien Hunting
Climate research
Cryptography (I don't support this)
And the list goes on, including apps which I think are a waste like chess analysis and prime number analysis. I'll also not support the Cryptography apps (I don't think it's in my best interest) and a good few years ago I sacked one because it switched from honest medical research to bioweapon research in a misguided response to the Anthrax scare that followed 9/11. I understand what they were thinking but I think it was really bad ethics ...

So what makes me choose one ? And what makes me sack 'em ?

Basically, if I think the app is going to be productive and useful I'll see if can use the machine. I currently run SETI, Rosetta (medical), World Community Grid (medical), Milkyway (cosmology), Spinhenge (dunno!), Einstein (physics/cosmology) and Climate Prediction (gief snow!). Of those, Einstein is being fired but I'll let it go through the work first.

What makes me ditch a project ?

If it doesn't play fair with the rest of them then I'll show what I think of that by not giving it any cpu cycles. There's a few that have fallen foul of that :

Einstein - floods the machine with work to such a degree that other projects weren't being allowed a chance.
World Community Grid - some of the projects inside this have been fired because their deadlines are too short.

The way BOINC works is that it divides up calculations into Work Units, small bites that a home machine can cope with. These can take anything between 5 minutes to 400 hours on my Intel i5-2500k powered machine. Each work unit has a deadline by which the results have to come back, these deadlines are usually sensible. However ...

WCG - some of the individual projects ask for their results to come back inside a few days, instead of the customary 10 days for a 5 hour work unit.
LHC - set deadlines of less than a week.
GRID - 5 days for the only work unit I'll do for them.

BOINC will then choose which project it runs based on deadline and time left. If time is tight, it'll assign a high priority to work that might not be ready in time. GRID's forced its one app to go immediately High Priority and when LHC@home actually had work, it set the deadlines so short that the same thing happened.

There's other meanie apps too. They'll effectively Game the queue system to get priority for their science. I don't think that's on and I respond by giving up the spare cpu time to science that plays fair.

What can run it ? Any PC and I think the Linux & Mac powered ones too. I wouldn't recommend it for laptops because they're not designed to be running calculations 100% of the time all the time. They get hot because the cpu is doing Stuff. Does it affect things like gaming ? Not necessarily and definitely not for me. I have BOINC set to only do calcs if the machine is idle for 3 minutes which gives Full Steam Ahead to Deus Ex HR or whichever game I'm on.

So that's BOINC - how I justify having my machine on all day :-)

PS Time for bootup is no longer an issue ... The SSD boot drive in my desktop makes power on happen faster than some conventional machines will come off standby ...

No comments:

Post a Comment

So much for anonymous commenting ... If you would like to leave a message and don't have a suitable account, there's an email address in my profile.