Reducing bandwith usage - sharing files

Message boards : BOINC client : Reducing bandwith usage - sharing files
Message board moderation

To post messages, you must log in.

AuthorMessage
dcdc

Send message
Joined: 29 Aug 06
Posts: 82
United Kingdom
Message 6835 - Posted: 7 Dec 2006, 12:51:25 UTC

Hi

I don't know if this has been suggested before, but some members running Rosetta are having problems with the bandwidth required - epsecially for those on dial-up or capped broadband with multiple PCs and who don't have a proxy serer, which is a substantial number of people. There's talk of increasing the compression, which would obviously be a massive help as new Rosetta executables come through fairly regularly and are ~9MB each.

My suggestion is to have an option in BOINC to be able to set a network folder where BOINC can look for files before attempting to download them. If the file doesn't exist in the network share then it will download as ususal and then place a copy in the network share. This would mean a network would only have to download a given file once, and after that the clients would all use the network copy.

This would help lots of people with multiple computers though, and would reduce the bandwidth demands on the projects too.

I'm going to try and make (with help!) a stand-alone program that does this up and running in the mean time by copying large files to the project folder from a network share at regular intervals.

Danny
ID: 6835 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15480
Netherlands
Message 6836 - Posted: 7 Dec 2006, 13:07:59 UTC

Idea forwarded to the developers. :-)
ID: 6836 · Report as offensive
dcdc

Send message
Joined: 29 Aug 06
Posts: 82
United Kingdom
Message 6842 - Posted: 7 Dec 2006, 19:52:55 UTC

thanks ;)
ID: 6842 · Report as offensive
MikeMarsUK

Send message
Joined: 16 Apr 06
Posts: 386
United Kingdom
Message 6847 - Posted: 7 Dec 2006, 21:19:42 UTC


It sounds like the idea is already halfway towards being a boinc proxy, which I've heard people who run banks of PCs offline ask for. Seems like a good idea to me, although personally I haven't got a requirement for it!

ID: 6847 · Report as offensive
dcdc

Send message
Joined: 29 Aug 06
Posts: 82
United Kingdom
Message 13688 - Posted: 9 Nov 2007, 13:09:08 UTC

Bump!!!

This would be really useful to reduce the required bandwidth for users and the projects, and I don't think it would be a big job(!)

I know it's easier said than done, but this doesn't need any changes to the gui - the path can just be held in a text file and edited manually. Then the only changes required AFAICS are:

Check if file exists in shared folder. If true, copy file to boinc folder, else download normally.
Check hash of file copied/downloaded (no code change required here i assume)
If file was downloaded and the hash is ok, copy it to the shared folder.

continue for next file...
ID: 13688 · Report as offensive
MikeMarsUK

Send message
Joined: 16 Apr 06
Posts: 386
United Kingdom
Message 13711 - Posted: 9 Nov 2007, 19:30:40 UTC



A design page for a related idea:
http://boinc.berkeley.edu/trac/wiki/SuperHost


ID: 13711 · Report as offensive
Profile Ananas

Send message
Joined: 27 Jun 06
Posts: 305
Germany
Message 13712 - Posted: 9 Nov 2007, 21:44:59 UTC
Last modified: 9 Nov 2007, 21:45:41 UTC

Half way to that should already be possible under Linux by mounting the same NFS share unter ~/projects on several PCs.

One has to be careful though so that one host pulls the shared files before the other hosts start to use the project.


Needs to be a fast network as many projects update their results under projects instead of working in the slots directory.
ID: 13712 · Report as offensive
John McLeod VII
Avatar

Send message
Joined: 29 Aug 05
Posts: 147
Message 13770 - Posted: 12 Nov 2007, 5:10:29 UTC

A much more likely fix than a superhost would be something akin to bittorrent. The idea is that any hosts on a LAN would check the hosts on the LAN first for any file, and only after that would fetch from the server. Note that this will not help with the tasks themselves, only the project executables.

BOINC WIKI
ID: 13770 · Report as offensive
dcdc

Send message
Joined: 29 Aug 06
Posts: 82
United Kingdom
Message 13825 - Posted: 14 Nov 2007, 12:50:07 UTC - in response to Message 13770.  
Last modified: 14 Nov 2007, 12:50:22 UTC

I think the superhost setup is a very good one for certain setups - we had something similar available on Find-a-Drug where you could run client machines from a server, but that ran directly over the network with no installation required on the client.

A much more likely fix than a superhost would be something akin to bittorrent. The idea is that any hosts on a LAN would check the hosts on the LAN first for any file, and only after that would fetch from the server. Note that this will not help with the tasks themselves, only the project executables.


Surely my suggestion of a single shared folder would have the same effect but be much easier to implement?
ID: 13825 · Report as offensive
dcdc

Send message
Joined: 29 Aug 06
Posts: 82
United Kingdom
Message 16077 - Posted: 25 Mar 2008, 17:45:05 UTC

My suggestion is to have an option in BOINC to be able to set a network folder where BOINC can look for files before attempting to download them. If the file doesn't exist in the network share then it will download as ususal and then place a copy in the network share. This would mean a network would only have to download a given file once, and after that the clients would all use the network copy.


Is there any update or comment on this? I still think it'd be a very useful addition and will substantially reduce the bandwidth for both project's and user's.
ID: 16077 · Report as offensive
Nicolas

Send message
Joined: 19 Jan 07
Posts: 1179
Argentina
Message 16079 - Posted: 25 Mar 2008, 22:54:49 UTC - in response to Message 16077.  

My suggestion is to have an option in BOINC to be able to set a network folder where BOINC can look for files before attempting to download them. If the file doesn't exist in the network share then it will download as ususal and then place a copy in the network share. This would mean a network would only have to download a given file once, and after that the clients would all use the network copy.


Is there any update or comment on this? I still think it'd be a very useful addition and will substantially reduce the bandwidth for both project's and user's.


Set up a caching proxy. Say proxy is on machine A. Machine B downloads a file, passing through the proxy on A. The proxy will also store the file on its cache. When machine C tries to download the file, it will go through the proxy, getting it from A's disk, not from the network.

I have even more specific needs, so I'm planning to write my own caching proxy, mainly to cache YouTube videos and cope with the multiple servers it uses.

ID: 16079 · Report as offensive
dcdc

Send message
Joined: 29 Aug 06
Posts: 82
United Kingdom
Message 16125 - Posted: 29 Mar 2008, 23:55:06 UTC
Last modified: 29 Mar 2008, 23:55:41 UTC

that is an option. Feet1st has written a PHP caching proxy for Rosetta which does that, but is more sophisticated in that it acts as a project and parses the files as they pass through on the fly. That allows more control as you can effect other details in the files as they pass through such as the run times.

I think my suggestion would still be very useful (and much simpler) for those with more than one machine running BOINC who don't want to or don't know how to set up a proxy.
ID: 16125 · Report as offensive
Nicolas

Send message
Joined: 19 Jan 07
Posts: 1179
Argentina
Message 16126 - Posted: 30 Mar 2008, 0:23:04 UTC - in response to Message 16125.  

I think my suggestion would still be very useful (and much simpler) for those with more than one machine running BOINC who don't want to or don't know how to set up a proxy.

I think your suggestion is good, but not worth having on the official client.

The best thing may be a packaged proxy already configured to work with BOINC projects, with an easy way to install it, and putting it on the official addon list.
ID: 16126 · Report as offensive
dcdc

Send message
Joined: 29 Aug 06
Posts: 82
United Kingdom
Message 16636 - Posted: 13 Apr 2008, 15:15:29 UTC - in response to Message 16126.  

I think my suggestion would still be very useful (and much simpler) for those with more than one machine running BOINC who don't want to or don't know how to set up a proxy.

I think your suggestion is good, but not worth having on the official client.

The best thing may be a packaged proxy already configured to work with BOINC projects, with an easy way to install it, and putting it on the official addon list.


Hi Nicolas

Why do you think it's not worth having?

This would be far easier to use than a proxy - I have no intention of setting up a proxy for BOINC as my computers aren't static enough, but an option to point to a shared folder is really quick and easy.

It would only need to be a very simple option and then anyone with a network can use it. I don't know about the other projects, but Rosetta's bandwidth requirements would drop massively using this on a home network.
ID: 16636 · Report as offensive

Message boards : BOINC client : Reducing bandwith usage - sharing files

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.