Sneakernet Project

Message boards : Number crunching : Sneakernet Project

To post messages, you must log in.

1 · 2 · Next

AuthorMessage
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1832
Credit: 119,677,569
RAC: 10,479
Message 28813 - Posted: 2 Oct 2006, 11:57:51 UTC

I know it's not officially supported but does anyone know if it's possible to sneakernet* Rosetta? If so I can probably add some older CPUs (Athlon/P3) through winter that don't have net access as I've got no heater in my office (cabin with very thin walls!) and it's gonna get cold! Might as well use the electricity on something useful before turning it into heat.

I'm thinking an mdf box with a few old motherboards in and one or two PSUs to run them (I'll either need to make some PSU splitters or buy some but I can only find these 'zippy y2424' in the US).

I was also thinking of just using one HD to keep the noise down, and run the other comps from 256MB or 512MB compactflash cards, which i can do pretty easily (Rosetta won't be writing to them and no paging file so no issue with write limitations), and then networking them in the box so they can talk.

I think it's going to take some strange config to get it working, but I'm sure there's a fairly low maintenance way to get this running.

I could run Rosetta on USB and then kill it, take it to a net connected PC once a week, to upload/download, and then put it back into the netless machine and startup again, but I'd rather be able to leave it running and just add jobs and collect results on the fly. I don't even want to plug a monitor into it - i can use a crossover cable and remote desktop into it if need be, but i'd rather it was automated.

Ideally, I'd like to set something up that will allow me to run a script on the netpc to pick up jobs and send results, and then another script on this netless box to add the new jobs to the queue and collect results of completed WUs.

I know it sounds complicated, and might be easier running Rosie on a USB key by shutting down once a week, but I'm thinking it might be possible along the lines of having two copies of the same installation, one on the HD and one on USB Key. If the first image is running, and then I mirror it onto the second, with the exception of the in-use files (which there will already be local copies of). If I take that home, plug it in and run that copy of BOINC

Is it possible to run two different boinc.exe and rosetta applications at the same time on a PC from different locations? E.g. e:BOINC and f:BOINC. If so, I guess another option would be to have two USB keys, each with a copy of rosetta installed, and then have a script that starts boinc.exe on either key whenever it's available. I could then just plug one key in and take the other home to do the send/receive.

Any suggestions/comments? It'd be a shame to have a 2KW heater eating power when it could be used for Rosetta, and I've already got some of the bits lying around (may need to look on ebay for some more SDRAM, and some P3s/Athlons and a few Heatsinks).

cheers
Danny

*Sneakernet/walknet: Getting info to/from PCs that aren't networked by running between them with removable media.
ID: 28813 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile River~~
Avatar

Send message
Joined: 15 Dec 05
Posts: 761
Credit: 285,578
RAC: 0
Message 28821 - Posted: 2 Oct 2006, 18:40:34 UTC - in response to Message 28813.  
Last modified: 2 Oct 2006, 18:44:47 UTC

I know it's not officially supported but does anyone know if it's possible to sneakernet* Rosetta?


it might be possible, but the first thing to say is to warn you about the life expectancy of a usb drive. If it is a flash drive (as opposed to one with a tiny hard disk inside) then you only have about 10,000 write cycles before it starts to get stuck bits.

This means that Rosetta is a much better project to do this on than some others. It also means that if you run other projects then you'd better set the "write to disk at most" parameter pretty high. As far as I know, Rosetta ignores this and writes once per decoy, which can be anything from 12min to 120 min on a 667MHz P3 (actual experience).

Taking hourly writes as a rough guide, that gives you just over a year before the usb drive has reached its design life. It is designed to be used for editing documents, etc, not wrting and rewriting the same part of the directory over and over again.

SEcond thing is that when things go wrong, it really does confuse the issue if you ran on a different machine to the one you upload from. If there is a bug that onlu manifests on a HP Kayak 667MHz, you are going to lead David et al astray if you upload from a Dell 2GHz laptop. So if you are going to sneakernet, try to have similar machines, one networked and only sneakernet between clones of the networked box.

Third thing is to have a USB drive that is big enough to install Rosetta on.

How to do it.

You will need one usb key for each box, including the networked one. On each box install boinc once, onto a separate usb key. When you format each key, specify the same drive letter on each machine - XP lets you set this or change it from the disk manager, if I remember correctly. I will assume you've gone for G:


All this needs is to specify that drive from the install page, instead of letting it install to c:"Program Files"BOINC by default. Try something like G:BOINC or whatever.

Then run BOINC on the network box. Stop BOINC (this is important). Swap the keys over between the networked box and the unnetworked clone. Start BOINC on both boxes. Repeat as often as you need to.

Do not fall for the temptation to merge the identical hosts that the Rosetta site will list for you under "Your Computers". Doing this while more than one of the hosts has outstanding work causes lost work.

It'd be a shame to have a 2KW heater eating power when it could be used for Rosetta, and I've already got some of the bits lying around


I thought the same last year. I heated my lounge all last winter with a set of ten P3s plus a mains powered laptop, total processing power = 8GHz.

However, I decided that the sneakernet was too much like hard work, and sacked the idea totally when I discovered the info about the limited write cycles on a flash drive.

Instead, on the same scrounge, recycle, and eBay theme, I picked up seven ancient 10MHz network cards with coax sockets as well as the up to date RJ socket. Three of the P3's actully already had sutable cards anyway. These need no hub to link them, you just daisy chain them all with T pieves and coax patch cables, not forgetting to put a terminator on each end of the daisy chain. All the cables and T pieces came off old networks and suchlike, and some of the network cards too. All I ended up buying at shop proces was the two terminators.

It it had been an all-Windows network, I'd have used the "Share network connection" facility of Win 2k / XP, but with all that kit around I decided to put Linux on half the boxes instead, and one of the Linux boxes also acts as firewall / router for all the others.

If you don't want to go back to 1990 network tek, then pick up a second hand hub and network them all with cat5. You can get a non-switching hub for next to nothing from someone who replaced it with a switching hub because they needed the data flow. You won't. 10MHz and non-switching is faster than your broadband and Rosetta does not need the net that often.

Whichever kind of network you have it will save all that waer and tear on your carpet, it will save you from losing work when you forget to "sneak" for too long, and it will be properly supported by BOINC and Rosetta. And you can see exactly which host has done what work. My advice, FWIW, is to don't do the sneakernet thing, even tho it is possible.

As well as network components you will also have to find second hand hard drives to go in all the boxes, or work out how to run without a hard drive by booting over the LAN. That is my next project, when I get round to it, to take the HDs out of my linux boxes.

You can find some other excellent ideas in the LHC "BOINC Farms" thread, the thread is well worth a read even if you are not at all interested in their science.

Good Luck
River~~

PS: in the credits below, about half came down the coax recycled LAN, and I am using it to make this posting from one of the reclaimed boxes. The other half of my credits are another story altogether...
ID: 28821 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
AMD_is_logical

Send message
Joined: 20 Dec 05
Posts: 299
Credit: 31,460,681
RAC: 0
Message 28830 - Posted: 2 Oct 2006, 21:22:57 UTC - in response to Message 28821.  

it might be possible, but the first thing to say is to warn you about the life expectancy of a usb drive. If it is a flash drive (as opposed to one with a tiny hard disk inside) then you only have about 10,000 write cycles before it starts to get stuck bits.


I think USB pen drives last more like 10,000,000 write cycles these days.
ID: 28830 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile River~~
Avatar

Send message
Joined: 15 Dec 05
Posts: 761
Credit: 285,578
RAC: 0
Message 28851 - Posted: 3 Oct 2006, 7:31:26 UTC - in response to Message 28830.  

it might be possible, but the first thing to say is to warn you about the life expectancy of a usb drive. If it is a flash drive (as opposed to one with a tiny hard disk inside) then you only have about 10,000 write cycles before it starts to get stuck bits.


I think USB pen drives last more like 10,000,000 write cycles these days.


You may well be right, and I certainly hope I my info was out of date.

But personally I'd want to see that on a spec before relying on one as a working data store. And if it does fail after 60 weeks it will be just out of guarantee...

R~~
ID: 28851 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1832
Credit: 119,677,569
RAC: 10,479
Message 28917 - Posted: 4 Oct 2006, 18:43:03 UTC

thanks for the replies guys.

I think Rosetta will be fine running on flash memory - the number of writes is quite conservative, and the writes are spread around the flash (wear levelling), and if a sector goes bad it is marked as such. If they wear out after a year then that's fine - I just want this to run through winter (for now at least!)

River, i can't network these as I'm going to be taking them to work. I'm ok to run them as the power is currently being wasted directly by the heaters, but I can't connect them up to the network. I will network them internally - they'll all be running from one master.

I haven't decided if I need one to have a HD yet - I think all of them will probably be running on compactflash, but that means I can't have a paging file so they'll need a decent amount of RAM. They'll only be running a very minimal XP installation though (~300MB), possibly using minlogon. I could put a HD in, but I don't want this thing to make much noise.

The main problem is how to get the jobs/results imported/exported. I was thinking I could use two USB drives, and have it shared by all the computers (as they'll be networked). If they're all happily crunching away and I plug a 2nd USB drive in with 4 more Rosetta installations on, then I want them to checkpoint, end Rosetta and start from the new drive. Its a bit less tidy, but I could just pull the old one, which would kill rosetta, plug in the new one, and have a scheduled batch file to start BOINC Manager. I don't think BOINC Manager will allow two copies of itself to load, so if Rosetta is already running it won't make any difference, and if I've just swapped the USB drives then it can start BOINC Manager which will launch Rosetta. That's probably a lot easier!

I'm only planning on using one USB drive for all the Rosetta installations and have it shared from the 'server' motherboard - I hope the write speed won't be a problem? There are some pretty quick USB drives out there these days so I'll have to pick a quick one up.
ID: 28917 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
FluffyChicken
Avatar

Send message
Joined: 1 Nov 05
Posts: 1260
Credit: 369,635
RAC: 0
Message 28918 - Posted: 4 Oct 2006, 18:52:48 UTC - in response to Message 28917.  

thanks for the replies guys.

I think Rosetta will be fine running on flash memory - the number of writes is quite conservative, and the writes are spread around the flash (wear levelling), and if a sector goes bad it is marked as such. If they wear out after a year then that's fine - I just want this to run through winter (for now at least!)

River, i can't network these as I'm going to be taking them to work. I'm ok to run them as the power is currently being wasted directly by the heaters, but I can't connect them up to the network. I will network them internally - they'll all be running from one master.

I haven't decided if I need one to have a HD yet - I think all of them will probably be running on compactflash, but that means I can't have a paging file so they'll need a decent amount of RAM. They'll only be running a very minimal XP installation though (~300MB), possibly using minlogon. I could put a HD in, but I don't want this thing to make much noise.

The main problem is how to get the jobs/results imported/exported. I was thinking I could use two USB drives, and have it shared by all the computers (as they'll be networked). If they're all happily crunching away and I plug a 2nd USB drive in with 4 more Rosetta installations on, then I want them to checkpoint, end Rosetta and start from the new drive. Its a bit less tidy, but I could just pull the old one, which would kill rosetta, plug in the new one, and have a scheduled batch file to start BOINC Manager. I don't think BOINC Manager will allow two copies of itself to load, so if Rosetta is already running it won't make any difference, and if I've just swapped the USB drives then it can start BOINC Manager which will launch Rosetta. That's probably a lot easier!

I'm only planning on using one USB drive for all the Rosetta installations and have it shared from the 'server' motherboard - I hope the write speed won't be a problem? There are some pretty quick USB drives out there these days so I'll have to pick a quick one up.


There is program restriction to how many boinc manager can run, I've often had two running (to may annoyance) though you don't actually need boinc manager to run boinc.


You mentioned having them networked ? If you can do this it would make life much easier.
(even if it's just a temp one to move the jobs across, sine by doing true sneakernet you kind of loose the automation anyway ;-)

Actually if you could pop a Wi-Fi card in there (they are quiet) wou may find it even easier than a crossover. They also a quite cheap nowadays, £10 to £20 here in the UK.

Team mauisun.org
ID: 28918 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
FluffyChicken
Avatar

Send message
Joined: 1 Nov 05
Posts: 1260
Credit: 369,635
RAC: 0
Message 28919 - Posted: 4 Oct 2006, 19:07:18 UTC - in response to Message 28918.  

thanks for the replies guys.

I think Rosetta will be fine running on flash memory - the number of writes is quite conservative, and the writes are spread around the flash (wear levelling), and if a sector goes bad it is marked as such. If they wear out after a year then that's fine - I just want this to run through winter (for now at least!)

River, i can't network these as I'm going to be taking them to work. I'm ok to run them as the power is currently being wasted directly by the heaters, but I can't connect them up to the network. I will network them internally - they'll all be running from one master.

I haven't decided if I need one to have a HD yet - I think all of them will probably be running on compactflash, but that means I can't have a paging file so they'll need a decent amount of RAM. They'll only be running a very minimal XP installation though (~300MB), possibly using minlogon. I could put a HD in, but I don't want this thing to make much noise.

The main problem is how to get the jobs/results imported/exported. I was thinking I could use two USB drives, and have it shared by all the computers (as they'll be networked). If they're all happily crunching away and I plug a 2nd USB drive in with 4 more Rosetta installations on, then I want them to checkpoint, end Rosetta and start from the new drive. Its a bit less tidy, but I could just pull the old one, which would kill rosetta, plug in the new one, and have a scheduled batch file to start BOINC Manager. I don't think BOINC Manager will allow two copies of itself to load, so if Rosetta is already running it won't make any difference, and if I've just swapped the USB drives then it can start BOINC Manager which will launch Rosetta. That's probably a lot easier!

I'm only planning on using one USB drive for all the Rosetta installations and have it shared from the 'server' motherboard - I hope the write speed won't be a problem? There are some pretty quick USB drives out there these days so I'll have to pick a quick one up.


There is program restriction to how many boinc manager can run, I've often had two running (to may annoyance) though you don't actually need boinc manager to run boinc.


You mentioned having them networked ? If you can do this it would make life much easier.
(even if it's just a temp one to move the jobs across, sine by doing true sneakernet you kind of loose the automation anyway ;-)

Actually if you could pop a Wi-Fi card in there (they are quiet) wou may find it even easier than a crossover. They also a quite cheap nowadays, £10 to £20 here in the UK.



so figure out what you would liek to do and I'll see if I can give you a plausible solution (network is easy)


But sneakernetting is plassible,
Install onto USB drive/pen, attach to rosetta, get 7days of jobs set to 24hrs run time.
Use a local prefrence override file to setup you global preferences http://boinc.berkeley.edu/prefs_override.php, since you can make it individual to each computer. You can even set the runtime by altering the rosettaxxxxxfile that conatains it. (for some reason the boinc developers have not added project local override options).
Take over to computer, lauch boinc from there (either boincmanager or boinc.exe -rediectio shortcut.
command line option (the not all are implemented anymore/yet) http://boinc.berkeley.edu/client_unix.php
You'll want to disable networking as well before you start it on the offline pc.

Yep just pull it out when you want to take it the the networked pc. It may error the task if it hasn't finished, though I've never seen it do that.


(I used to do a similar thing to run on computers when I was at Uni [...<whistles>...])





Team mauisun.org
ID: 28919 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile Feet1st
Avatar

Send message
Joined: 30 Dec 05
Posts: 1755
Credit: 4,690,520
RAC: 0
Message 28928 - Posted: 4 Oct 2006, 22:09:19 UTC

I've run successfully via a network drive. If you have 'em all on a LAN, then one drive could host all of the PCs' BOINC directories (each seperately). And if they are all on a LAN, and one box has internet, then that one box could be configured as a proxy and used for any of the boxes to access internet... so then you'd avoid the whole "sneakernet" aspect of the installation.

Each PC downloads it's own WUs, via the proxy. Each PC stores it's own WUs on his own network drive space. The PCs won't KNOW they're minimally configured.

So if you have a single HD, then you don't need any of the flash. Well... I guess maybe you were going to boot your OS from that??

Alternatively, you could run a task every 5 days or so which kills BOINC on a given PC, then starts BOINC on the PC that has internet, uses the killed PC's subdirectory on the shared HD, updates the project, ends, restarts BOINC on the killed PC and then moves on to the next PC.

In fact you could use the runtime preferences to avoid having the "internet PC" begin executing the WUs. Just "run based on preferences" and have it not run during the hours of the day that you'd do this refresh cycle. So you'd just add a step above to drop in your "don't run" local preferences file before you fire BOINC on the slave PC's subdirectory.

Add this signature to your EMail:
Running Microsoft's "System Idle Process" will never help cure cancer, AIDS nor Alzheimer's. But running Rosetta@home just might!
https://boinc.bakerlab.org/rosetta/
ID: 28928 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1832
Credit: 119,677,569
RAC: 10,479
Message 28929 - Posted: 4 Oct 2006, 22:20:00 UTC

The computers will be networked together, but won't be able to connect to the internet directly as they'll be at work and I can't put them on the network there.

I'm gonna try and get some of these old mobos booted with what's left of tonight. Then I need to get hold of a couple of USB drives (mine's now become part of my compactflash mediacentre!). 2 x 128MB drives should be enough for 4x rosetta each shouldn't they?

Here's the plan then:

Set up hardware as follows:

Put 4 mobos into box (each attached to a removable board).
Add 2 PSUs (need to buy PSU splitters or splice them myself)
Add compactflash on IDE with XP installed for each (need to buy a couple more CF cards and a couple of IDE adapters). Will set up on HDs first.
Network computers - could use wifi to network them together, but they'll be relying on the connection for Rosetta so if it disconnects then it might well kill the rosetta thread. You've given me an idea though - I can put one wifi card into the 'server' (I have a 54mbs one spare anyway) so I can remote into it from my laptop without having to plug a patch cable into it.

I'm thinking it would be wise to connect the power button and power-on LED pins up to a little control panel so I can see which computers are on and can power them up/down easily (although with the PSUs wired up to two PCs each that might cause problems! Don't think I can reasonably stretch to 4 PSUs for noise, space or expense though).

Put USB extension cable from 'server' mobo to outside of box, ready for USB drive to be plugged in.

Set up both USB drives each with four Rosetta folders on (i'm ok with editing the init*.xml in the project folder to get the installation running from a different location without having to reattach), so once all four folders are set up with plenty of jobs I can move the first USB drive to the extension cable.

I want to be able to plug the USB drive into the server and have each of the computers start BOINC from their folder on it. However, if the USB drive folder layouts are the same then when I come to swap USB drives the computers will quite possibly overwrite files on the new drive that was meant for the old drive. If the folder that they were trying to write to no longer exists then will that give me an error or will Rosetta just die?

I need to work out the batch file to run as a scheduled task to start BOINC when I take out one USB drive and plug the other one in. Can this just be a case of:

start \192.168.x.xcomp4boinc.exe

?

I'll use UNC rather than mapped drives as the mappings will be lost every time I unplug the drives.

That make sense so far?

First candidates to test the box (these will hopefully be upgraded fairly soon as I should be able to just slide one board out and slot another in):

Celeron 700 on QDI Advance 9
2x Celeron 400 on (the legendary!) BP6

I've got two Tualatin Celeron 1GHz CPUs here that are happy at 1.33GHz- I think one might be dead but if not a VP6 or some other dual P3 board would be perfect for them. Can you use P3 Celerons in dual boards or is SMP only for P3s?

ID: 28929 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile River~~
Avatar

Send message
Joined: 15 Dec 05
Posts: 761
Credit: 285,578
RAC: 0
Message 28931 - Posted: 4 Oct 2006, 23:22:07 UTC

If the computers are networked together but not to the web, and to your laptop (via cable or WiFi) then I'd suggest installing BoincView on the laptop.

I use BV to control 13 computers, 10 in my flat on the LAN and another 3 on the WAN (outside of my flat's firewall but inside the estate's firewall). It gives a good way of seeing what all the clients are up to at the same time, and can be used to change settings on all the boxes at once.

Unllike the new fangled account managers, the boxes don't need to see the internet. The box running BV needs to be able to see each of the other clients, as all connections are initiated by BV. You need to open port 1043 on each of the client boxes, and add / edit a couple of config files in the BOINC folder. It is easier to get the BOINC files right if you use static IPs rather than DHCP, as you need to tell each client the IP(s) which are allowed to control it.

I have hardly used BoincManager since I discovered BoincView.

Re the operating system. If you are running without a HD, I'd really suggest something smaller than XP just to save RAM for Rosetta. All my BOINC dedicated Windows boxes run Win 2000 even though some have an XP licence, except the one token Win Me box that I keep to remind myself of why not to use that one! I went for win 2000 as it has the stability of XP and is a lot smaller.

If you can figure out Linux, that can be even smaller - you don't need a GUI at all on the client boxes and you can get the whole Linux command line OS to come in under 300 Meg by just having CLI, or even smaller if you start to prune out the CLI utilities as well.

You still drive it from a GUI - that is another reason for having BV somewhere nearby. Or you can drive the client on a linux box from BoincManager on a windows box if you don't want BV.

Also note that your 400MHz box is officially sub-spec, as it is under the 500MHz limit. I have had Rosetta running on a 300MHz Celeron laptop and again it did not seem to cause problems, but it is my fault not the project's if the slow cpu does cause problems.

Good luck!
River~~
ID: 28931 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1832
Credit: 119,677,569
RAC: 10,479
Message 28932 - Posted: 4 Oct 2006, 23:35:14 UTC - in response to Message 28931.  

If the computers are networked together but not to the web, and to your laptop (via cable or WiFi) then I'd suggest installing BoincView on the laptop.

I use BV to control 13 computers, 10 in my flat on the LAN and another 3 on the WAN (outside of my flat's firewall but inside the estate's firewall). It gives a good way of seeing what all the clients are up to at the same time, and can be used to change settings on all the boxes at once.

Unllike the new fangled account managers, the boxes don't need to see the internet. The box running BV needs to be able to see each of the other clients, as all connections are initiated by BV. You need to open port 1043 on each of the client boxes, and add / edit a couple of config files in the BOINC folder. It is easier to get the BOINC files right if you use static IPs rather than DHCP, as you need to tell each client the IP(s) which are allowed to control it.

I have hardly used BoincManager since I discovered BoincView.

Re the operating system. If you are running without a HD, I'd really suggest something smaller than XP just to save RAM for Rosetta. All my BOINC dedicated Windows boxes run Win 2000 even though some have an XP licence, except the one token Win Me box that I keep to remind myself of why not to use that one! I went for win 2000 as it has the stability of XP and is a lot smaller.

If you can figure out Linux, that can be even smaller - you don't need a GUI at all on the client boxes and you can get the whole Linux command line OS to come in under 300 Meg by just having CLI, or even smaller if you start to prune out the CLI utilities as well.

You still drive it from a GUI - that is another reason for having BV somewhere nearby. Or you can drive the client on a linux box from BoincManager on a windows box if you don't want BV.

I use BOINCView here too - is very useful. I'll be using static IPs for all. I was thinking about going for a passive network hub, but i think nics are going to be cheaper (£3 each on ebuyer), and i've got a spare 10Mbps one, plus a wireless one.

I can get XP down to less than 300MB and I know what I'm doing with it. If I knew Linux then I'm sure more could be done with that WRT memory footprint etc, but it'd probably be summer before I got my head round it and got this thing running!

Good luck!
River~~

Thanks!
ID: 28932 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1832
Credit: 119,677,569
RAC: 10,479
Message 29137 - Posted: 10 Oct 2006, 21:26:07 UTC
Last modified: 10 Oct 2006, 21:44:17 UTC

I wrote quite a long reply yesterday and when i posted the database was down and back took me to an empty page so i lost the post!

Anyway, my points were:

I did a minimal xp install using nlite and xplite and got it down to about 400MB, but Rosetta didn't run. I did a full install and Rosetta worked, and then cut it down again with xplite and the Rosetta thead kept dying after a few seconds again. I tracked it down to missing opengl dll files so that's sorted now.

boot media
Because I can get it down to less than 512MB, I'm looking at running from 512MB compactflash cards rather than HDs for reduced noise and price (although one will boot from a HD which all the rosetta folders will be shared from). I don't think I need to worry about disk writes as they'll be minimal if I disable the paging file. Of course that means I need more RAM as there'll be nothing to page to!

Basically I need to do a little cost/benefit/ease exercise - ~£13 each for 512MB CF (~£7) plus adapter (~£6), or HDs (~£15? for old but quiet/laptop ones on ebay?).

The price of SDRAM has suprised me though - it's more expensive than DDR (which is also more expensive than DDR2!)... If I could find a company that was getting rid of a load that'd be perfect!

power
I don't know whether to use one PSU per motherboard or to split the outputs so they run two motherboards each? If I split them then I'll split extension leads so the PSUs still useable afterwards. I'd be suprised if any of these crunchers use anywhere near 100W, especially if all but one are running on CF. I've got a quiet 300W Q-technology PSU on its way from ebay, but I'm tempted to swap that for the one on my downstairs mediacentre and use the cheap 400W one from that on this project.

sneakernetting Rosetta
This is my main problem.
From the start, what I'm planning is to have two master folders, each with a set of Rosetta folders in - one per motherboard. One master folder (let's call it MF1) will be shared from the 'server' motherboard's HD.

I'm planning to be wirelessly remote desktopping (is that a word?) into the 'server', and then I can copy over the other (updated) master folder (MF2), having done the send/receives at home on each of the Rosetta folders within it.

As the systems will be running from MF1 I need some way to stop them and start them working from MF2. Is there a way I could just move MF1 over to my laptop while the computers are still running from it, which will cause them to dump the BOINC and Rosetta threads?

Does anyone know how to kill a thread from a batch file? If so, I just need to set up a scheduled task on each machine to run every so often to check for MF2. If MF2 exists, then it can kill boinc and rosetta and start boinc from MF2. It's fairly easy to kill the threads on the machines that are running over the box's internal network as I could have MF1 mapped as one drive and MF2 mapped as another. Deleting a mapped drive that Rosetta is running from will cause Rosetta/BOINC to end, and creating a mapped drive to one of the MF folders will allow a scheduled task to start BOINC from there.

Any suggestions/pointers on this?

As a final point, I've got some 6mm MDF to mount the boards on and i got it cut up at work today so the box is coming on, which my flatmate will appreciate as it's currently taking up half of the dining room (aka my computer room).

Suddenly this is a much bigger project than I anticipated!

cheers
Danny

current crunchers specs (these will be upgraded!):
QDI Advance 9, Cel 700 @ ~880, 192MB SDRAM
Abit BP6, 2x Cel 400 @ ?, 0MB SDRAM
Unknown SIS based motherboard, P2 400, 0MB SDRAM

Remaining parts to incorporate:
1x or 2x Celeron (Tualatin) 1GHz @ 1.33GHz (one definitely works - other I don't know)
2x original Athlon motherboards (untested!)
2x64MB SDRAM (PC100 I think - need to test)
1x 54Mbps wireless NIC
1x 10Mbps wired NIC
3x CF card adapters

Hardware I need to aquire:
SDRAM - probably over ~1GB in total
NICs - 6x
CF cards (assuming I use CF!) - 4x 512MB
PSU 24-pin extension leads (to make into PSU splitters)
Motherboard for Tualatin-core P3
More/faster Motherboards & CPUs!

Plus any upgrades I happen to find cheap on ebay!
ID: 29137 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
AMD_is_logical

Send message
Joined: 20 Dec 05
Posts: 299
Credit: 31,460,681
RAC: 0
Message 29148 - Posted: 11 Oct 2006, 2:49:03 UTC

dcdc, be sure to compare the cost of all that to the cost of an Athlon x2 3800+ with 1GB DDR2 ram on a cheap AM2 MB, which would have much higher production than a whole farm of celery.
ID: 29148 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
FluffyChicken
Avatar

Send message
Joined: 1 Nov 05
Posts: 1260
Credit: 369,635
RAC: 0
Message 29167 - Posted: 11 Oct 2006, 16:10:12 UTC - in response to Message 29148.  

dcdc, be sure to compare the cost of all that to the cost of an Athlon x2 3800+ with 1GB DDR2 ram on a cheap AM2 MB, which would have much higher production than a whole farm of celery.



But where is the fun in that ;-) This is so much more fun than buying a computer.

dcdc where in the UK are you ?
Team mauisun.org
ID: 29167 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1832
Credit: 119,677,569
RAC: 10,479
Message 29187 - Posted: 11 Oct 2006, 17:49:17 UTC

dcdc, be sure to compare the cost of all that to the cost of an Athlon x2 3800+ with 1GB DDR2 ram on a cheap AM2 MB, which would have much higher production than a whole farm of celery.

yeah - i've been thinking about the cost/benefit of buying a decent system, but that'd be an upgrade/overhaul for my main machine, with my server getting the NF7 & XP2600 @ 2.3GHz. It sounds like I might be best saving my money for an xbox 360 though! Hope so - a R@H client is all the convincing I need to buy one!

Or I could blow the budget and do both! An upgrade to my main rig would filter down the chain, leaving my 1.6 Duron to add to the box, but obviously the net addition would be a x2 3800+ as the Duron is already crunching. Some of the parts I'm considering will be upgrades to my main machine, with upgrade feeding down through the other machines and the bottom end stuff going into this box, like the Q-technology PSU I'm waiting for from ebay.

My original aim was to use some existing old kit that would otherwise be sat there to do any amount of crunching, but it's turned into a bit more of Rosetta blade server! I expect an x2 3800+ to get a RAC of around 520 - that about right? My 1GHz tualatin @ 1.33 gets a RAC around 130, so I'd need four of them to match the x2. The CPUs are around £5, and I've already got one, but it's the motherboards and SDRAM that are a killer! The good thing is that once I've built it it's gonna be fairly simple to upgrade it as the PSUs, compactflash and whatever scripting I need to set up are the main obstacles.

FC - I'm in Nottingham. I was in Newcastle when we were running FAD, but moved down here about 19 months ago.
ID: 29187 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1832
Credit: 119,677,569
RAC: 10,479
Message 29205 - Posted: 11 Oct 2006, 22:55:39 UTC

ok, I've put the hardware on hold for tonight, and I'm thinking about how to do automate the uploading/downloading.

To start with, I'll have two folders, each containing one Rosetta installation per motherboard:

MF1: Master File 1 (with 4 Rosetta folders in plus a 0 byte flag file called 'done.flg')
MF2: Master File 2 (with 4 Rosetta folders in plus 'ready.flg')

Assuming the heaterbox is running BOINC from MF1:

1. Connect to heaterbox server (H-1) (wirelessly) and run script to copy the (updated) MF2 from laptop to H-1.

2a. Run a script on H-1 to kill boinc & rosetta on all crunchers (if I could set it to run after the next save point that'd be perfect!)
question:I believe taskkill can be used to terminate processes on other machines over the LAN if you know the username/password - is that right? I assume this requires a port to be opened and something to listen on that port?
Otherwise, I can copy a script to the shared folders for each cruncher and have each of them regularly try and run that script if it exists.

2b. The script then starts BOINC from the folder which contains ready.flg (in this case MF2.

2c. The script then copies the folder with done.flg (MF1) to the laptop.

3. When I do the send/receive at home, I'll need to change done.flg to ready.flg.

Done! Any comments, or would anyone like to point out any fatal flaws in my plans and burst my bubble? :D
ID: 29205 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
FluffyChicken
Avatar

Send message
Joined: 1 Nov 05
Posts: 1260
Credit: 369,635
RAC: 0
Message 29235 - Posted: 12 Oct 2006, 12:25:16 UTC - in response to Message 29205.  

ok, I've put the hardware on hold for tonight, and I'm thinking about how to do automate the uploading/downloading.

To start with, I'll have two folders, each containing one Rosetta installation per motherboard:

MF1: Master File 1 (with 4 Rosetta folders in plus a 0 byte flag file called 'done.flg')
MF2: Master File 2 (with 4 Rosetta folders in plus 'ready.flg')

Assuming the heaterbox is running BOINC from MF1:

1. Connect to heaterbox server (H-1) (wirelessly) and run script to copy the (updated) MF2 from laptop to H-1.

2a. Run a script on H-1 to kill boinc & rosetta on all crunchers (if I could set it to run after the next save point that'd be perfect!)
question:I believe taskkill can be used to terminate processes on other machines over the LAN if you know the username/password - is that right? I assume this requires a port to be opened and something to listen on that port?
Otherwise, I can copy a script to the shared folders for each cruncher and have each of them regularly try and run that script if it exists.

2b. The script then starts BOINC from the folder which contains ready.flg (in this case MF2.

2c. The script then copies the folder with done.flg (MF1) to the laptop.

3. When I do the send/receive at home, I'll need to change done.flg to ready.flg.

Done! Any comments, or would anyone like to point out any fatal flaws in my plans and burst my bubble? :D


Probably better to use BOINC commnands to stop the boinc clients, then later when I can sit down a fathom what your doing i may comment some more ;-)
Team mauisun.org
ID: 29235 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1832
Credit: 119,677,569
RAC: 10,479
Message 29237 - Posted: 12 Oct 2006, 13:32:58 UTC - in response to Message 29235.  

Probably better to use BOINC commnands to stop the boinc clients, then later when I can sit down a fathom what your doing i may comment some more ;-)

Good point! There'll be no firewall on these so need to open the port either. How do you send a command to BOINC over a LAN?
ID: 29237 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile River~~
Avatar

Send message
Joined: 15 Dec 05
Posts: 761
Credit: 285,578
RAC: 0
Message 29239 - Posted: 12 Oct 2006, 15:05:45 UTC - in response to Message 29137.  

Does anyone know how to kill a thread from a batch file?


By name, or PID, or through BOINC?

There are a number of ways to go -- I don't know the exact method but if you are willing to do a little digging there will be a way.

From a linux system -- please bear with me as I come back to win below) you can send the following command to a client running on a Windows system

./boinc_command --host FOO --passwd PW --quit

and Boinc exits nicely, after saving the cleint state and all the other nice things you want to happen. To do this from a remote machine you need to prepare your client in advance for remote control, by supplying two files, rem* and gui* (where I can't remember the exact filenames offhand -- you will have done this already if you use BoincView.

FOO can be a host name thatis known on the sending box, or an IP address.

Now this command actually works by sending a message to port 1043 on the given IP address. Now microsoft networking has a load of low level commands (all taken from BSD as allowed by the Berkley licence) (Berkley - there's that name again) so I bet there is a low level networking command in DOS that will send a defined packet to a defined port and IP. Send that to localhost from the same box, or to the IP from elsewhere on your lan, and you can kill a BOINC client cleanly.

Alternatively, it is just possible, tho unlikely, that the boinc_command cli interface has already been compiled for Windows by some enthusiast. Might be worth a google or two.

Finally, find someone who knows how to compile C for win platforms, and beg them to compile boinc_command as a DOS command. Then you can write batch files that attach to projects, list results, etc etc, as some linux users do in their "shell scripts".

River~~
ID: 29239 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1832
Credit: 119,677,569
RAC: 10,479
Message 29241 - Posted: 12 Oct 2006, 16:15:55 UTC - in response to Message 29239.  

Thanks River

I was initially thinking of taskkill (although I couldn't remember the name last night), but through BOINC would be a much nicer way to do it. I guess I could write a batch file or VB script (I can manage some VBA so I might be able to manage VB) to monitor boinc writes and end it after a save point... one thing at a time though i guess!

I use BOINCView so i know about remote_hosts_config(spelling?) etc, although I think it's port 34146 or something like that now... I'll try sending commands to BONIC tonight if I get a chance. Would the 'net send' command work for sending boinc commands?
ID: 29241 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
1 · 2 · Next

Message boards : Number crunching : Sneakernet Project



©2024 University of Washington
https://www.bakerlab.org