"BOINC portable" for Windows hosts

Message boards : Number crunching : "BOINC portable" for Windows hosts
Message board moderation

To post messages, you must log in.

1 · 2 · 3 · 4 . . . 5 · Next

AuthorMessage
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6021
Credit: 86,835,529
RAC: 33,642
Russia
Message 1875011 - Posted: 25 Jun 2017, 17:38:24 UTC

There are cases when possibility to run BOINC exists but full BOINC installation undesirable.
So, some portable BOINC version would be very desirable.

It can be BOINC commandline client or GUI one but w/o registry pollution.

What problems I encounter if I just copy BOINC directories on flash drive and run it via cmd file (to specify needed folders):

1) BOINC did not recognize GPUs (iGPU/NV). It did after usual install on that PC.
2) BOINC GUI manager did not able to connect to BOINC client (daemon). Again, after full innstall this issue disappeared (obviously).

Any ideas, pease?

And, for PCs with processing power but w/o direct Internet connection (yes, there are some still ;) ) would be good to devise some offline task distribution solution to do net exchange only from single PC but process on many.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1875011 · Report as offensive
Profile Darrell
Volunteer tester
Avatar

Send message
Joined: 14 Mar 03
Posts: 267
Credit: 1,405,391
RAC: 27
United States
Message 1875024 - Posted: 25 Jun 2017, 19:13:08 UTC - in response to Message 1875011.  


It can be BOINC commandline client or GUI one but w/o registry pollution.

Registry pollution? In Windows 7 you get two sets of Space Services Laboratory, UC Berkeley keys. The one in HKLM\Software tells the client what it needs to know about its installation, and the other in HKCU\Software that tells the manager and screensaver what they need to know. "Pollution" is a term that doesn't fit here, as the keys are no more than what any other Windows application would set up.

And, for PCs with processing power but w/o direct Internet connection (yes, there are some still ;) ) would be good to devise some offline task distribution solution to do net exchange only from single PC but process on many.

Due to the cheating in Classic Seti this mechanism allowed, Dr. Anderson refused any and all requests to implement it in Boinc from the early days of Boinc Beta, and as far as I know still does.
... and still I fear, and still I dare not laugh at the Mad Man!

Queen - The Prophet's Song
ID: 1875024 · Report as offensive
Profile Sebastian Brack

Send message
Joined: 22 Aug 99
Posts: 8
Credit: 8,629,641
RAC: 5,558
Germany
Message 1875030 - Posted: 25 Jun 2017, 19:37:18 UTC

A portable version with selectable options for CPU properties. 32Bit / 64Bit, AMD / INTEL and instruction set SSE (x) to AVX.
Based on these selection criteria, the download of the corresponding packages is started.
The prerequisite is, of course, that you also know the CPU, which should be used. I think, however, who wants to use this, also knows its CPUs.
In the beginning, a limited downloadability of packages might be useful.
ID: 1875030 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6530
Credit: 190,694,536
RAC: 15,893
United States
Message 1875035 - Posted: 25 Jun 2017, 19:53:54 UTC

I don't think I have used the installer to put BOINC on a PC in 8 or 9 years.
If there are no registry entries telling BOINC where to put data. Then it will use the directory from where it was launched.

At my previous workplace I had a few machines that were on isolated networks without internet access. So I used sneakernet to get them work.

1. Connect flash drive for offline host.
2. Copy program files to flash drive. Something like E:\BOINC\
3. Stop BOINC client running on online host.
4. Start BOINC client from flash drive on online host.
5. Set BOINC to suspend processing
6. Connect to project(s).
7. Upgrade projects until desired cache level reached.
8. Stop BOINC client running on flash drive.
9. Connect flash drive to offline host.
10. Start BOINC client on online host.
12. Start BOINC client from flash drive on offline host.
13. Set BOINC to resume processing.

I have not had a problem with BOINC detecting GPUs when started this way. I would use an online host that had the same type of GPU as the offline host. So they would fetch the correct work & I would not have to reschedule tasks. Initially I rescheduled tasks for offline hosts with GPUs, but the introduction of task limits made that not as feasible.
Also this process could be modified so that you are running multiple instances of BOINC on the online host to send/fetch tasks, but I found it easier to just stop the running instance. As some previous versions of BOINC did not handle running multiple instances very well.

Because the path for USB drives sometimes changes I start BOINC with a .bat file like this. So I don't have to know the driver letter before hand.
pushd %~dp0
boinc.exe --skip_cpu_benchmarks --detach
start boincmgr.exe /s

You could add the command for --dir %~d0\BOINCData if you wanted BOINC place data in a directory other than from BOINC is launched.
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the BP6/VP6 User Group today!
ID: 1875035 · Report as offensive
Profile Darrell
Volunteer tester
Avatar

Send message
Joined: 14 Mar 03
Posts: 267
Credit: 1,405,391
RAC: 27
United States
Message 1875043 - Posted: 25 Jun 2017, 20:23:08 UTC

A Google searched revealed this portable version: https://portableapps.com/node/17295
ID: 1875043 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6021
Credit: 86,835,529
RAC: 33,642
Russia
Message 1875047 - Posted: 25 Jun 2017, 20:47:37 UTC - in response to Message 1875024.  


It can be BOINC commandline client or GUI one but w/o registry pollution.

Registry pollution? In Windows 7 you get two sets of Space Services Laboratory, UC Berkeley keys. The one in HKLM\Software tells the client what it needs to know about its installation, and the other in HKCU\Software that tells the manager and screensaver what they need to know. "Pollution" is a term that doesn't fit here, as the keys are no more than what any other Windows application would set up.

Pollution == any recording in registry that remains after directories deletion.
So yes, pollution cause requires uninstall. "Portable" doesn't write in registry - that's the key.




And, for PCs with processing power but w/o direct Internet connection (yes, there are some still ;) ) would be good to devise some offline task distribution solution to do net exchange only from single PC but process on many.

Due to the cheating in Classic Seti this mechanism allowed, Dr. Anderson refused any and all requests to implement it in Boinc from the early days of Boinc Beta, and as far as I know still does.

That's not the scope of this thread. I dont' propose changing BOINC codebase in any way. I propose to develop way to effectively use existing BOINC in portable manner.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1875047 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6021
Credit: 86,835,529
RAC: 33,642
Russia
Message 1875225 - Posted: 26 Jun 2017, 16:05:52 UTC - in response to Message 1875035.  

Thanks for detailed instruction.
I did just the same (but used relative path ..\BOINCdata to get to data directory ).
But encountered those issues i described in the first post.
Will try to reproduce yours exactly.

And how you handle same tasks cranching on "online" and "offline" hosts? Or "online" BOINc setup used only for fetching in this case (I tried to duplicte working BOINc from netbook so it had some duplicated tasks in cache after duplication).
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1875225 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6021
Credit: 86,835,529
RAC: 33,642
Russia
Message 1875226 - Posted: 26 Jun 2017, 16:06:46 UTC - in response to Message 1875043.  

A Google searched revealed this portable version: https://portableapps.com/node/17295

Thanks I'll take a look. Though looking on post data I'm afraid that version lack of GPU support.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1875226 · Report as offensive
wykinger
Avatar

Send message
Joined: 6 Jan 17
Posts: 65
Credit: 7,894,790
RAC: 0
Germany
Message 1875256 - Posted: 26 Jun 2017, 17:26:52 UTC

why dont you simply make a portable windows stick and add boinc to its programms ?
http://lifehacker.com/how-to-run-a-portable-version-of-windows-from-a-usb-dri-1565509124
ID: 1875256 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6021
Credit: 86,835,529
RAC: 33,642
Russia
Message 1875273 - Posted: 26 Jun 2017, 20:27:59 UTC - in response to Message 1875256.  

why dont you simply make a portable windows stick and add boinc to its programms ?
http://lifehacker.com/how-to-run-a-portable-version-of-windows-from-a-usb-dri-1565509124


Because PC should be used for what it was bought, not only for BOINC.
And OS already installed and it's Windows. So - no bootable flash drives, only portable BOINC.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1875273 · Report as offensive
Profile Darrell
Volunteer tester
Avatar

Send message
Joined: 14 Mar 03
Posts: 267
Credit: 1,405,391
RAC: 27
United States
Message 1875277 - Posted: 26 Jun 2017, 20:42:59 UTC

On the offline boinc, did you try adding the --detectgpus flag when starting the client?
ID: 1875277 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6021
Credit: 86,835,529
RAC: 33,642
Russia
Message 1875287 - Posted: 26 Jun 2017, 21:33:48 UTC - in response to Message 1875277.  

On the offline boinc, did you try adding the --detectgpus flag when starting the client?

Not so far, thanks, will try.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1875287 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6530
Credit: 190,694,536
RAC: 15,893
United States
Message 1875289 - Posted: 26 Jun 2017, 21:55:54 UTC - in response to Message 1875225.  

Thanks for detailed instruction.
I did just the same (but used relative path ..\BOINCdata to get to data directory ).
But encountered those issues i described in the first post.
Will try to reproduce yours exactly.

And how you handle same tasks cranching on "online" and "offline" hosts? Or "online" BOINc setup used only for fetching in this case (I tried to duplicte working BOINc from netbook so it had some duplicated tasks in cache after duplication).

Online and offline hosts are completely different data directories.
Online host would be D:\BOINC with data in D:\BOINCdata.
Then for flash drives from offline hosts would be E:\BOINC with data in E:\BOINCdata, or whatever drive letter the flash drive is mounted.
So there is no shared or duplicate data.
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the BP6/VP6 User Group today!
ID: 1875289 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6021
Credit: 86,835,529
RAC: 33,642
Russia
Message 1875346 - Posted: 27 Jun 2017, 7:09:58 UTC - in response to Message 1875289.  
Last modified: 27 Jun 2017, 7:21:43 UTC

I see, you don't copy data directory at all.
But then you would need to to do item 6 - connect to projects again and again.
Keeping in mind that there are many PCs to handle it will be time-consuming.
I did copy both program _and_ data folders. That's why duplicates arise.
Can issues I encountered come from that too?

EDIT:
To handle N PCs I would need smth like this on flash drive:

E:\BOINC
E:\BOINCdata01
E:\BOINCdata02
....
E:\BOINCdataN

As I understand initial project attach will be required only on first directory structure creation... but N times.
I would like to optimize this initial overhead too.
EDIT2: also, there should be some gather/scatter script too cause obviously I need local copy on PC while it crunch...

Smth like:
Scatter:
Copy E:\BOINC to C:
Move E:\BOINCdata_i_ to C:\BOINCdata (where _i_ should be determined automatically based on existing directory structure)
Launch BOINC from local drive

Gather:
Stop BOINC on local driver
Delete C:\BOINC
move C:\BOINCdata to E:\BOINCdata_j_

In general case _i_ != _j_ that's not good if PCs not identical.
So additionally I need to ensure some persistence in data directories distribution over set of N hosts...
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1875346 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6530
Credit: 190,694,536
RAC: 15,893
United States
Message 1875429 - Posted: 28 Jun 2017, 1:39:43 UTC - in response to Message 1875346.  

You could use --allow_multiple_clients and--gui_rpc_port to start multiple instances of BOINC and do them all at once.
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the BP6/VP6 User Group today!
ID: 1875429 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6021
Credit: 86,835,529
RAC: 33,642
Russia
Message 1875456 - Posted: 28 Jun 2017, 6:26:53 UTC - in response to Message 1875287.  

On the offline boinc, did you try adding the --detectgpus flag when starting the client?

Not so far, thanks, will try.

Such flag undefined for boinc client I use (7.6.33 x64)
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1875456 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6021
Credit: 86,835,529
RAC: 33,642
Russia
Message 1875457 - Posted: 28 Jun 2017, 6:29:14 UTC
Last modified: 28 Jun 2017, 6:31:10 UTC

Characterised issue with GPU detection little more: http://boinc.berkeley.edu/dev/forum_thread.php?id=11690

So, in my case "command-line BOINC" doesn't see GPU, "GUI BOINC" - does.
It's weird cause my own GPU apps built for console subsystem and detect GPUs just OK....

(I tried to copy BOINC dirs and bring them to similar PC - no luck, then I tried on original one that surely uses GPUs with GUI manager... - same issue. BOINC.exe being started from command prompt doesn't detect GPUs)
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1875457 · Report as offensive
Profile BilBg
Volunteer tester
Avatar

Send message
Joined: 27 May 07
Posts: 3720
Credit: 9,384,984
RAC: 358
Bulgaria
Message 1875529 - Posted: 28 Jun 2017, 17:50:56 UTC - in response to Message 1875457.  

BOINC.exe being started from command prompt doesn't detect GPUs

Try from elevated (admin) command prompt?
 


- ALF - "Find out what you don't do well ..... then don't do it!" :)
 
ID: 1875529 · Report as offensive
Profile Darrell
Volunteer tester
Avatar

Send message
Joined: 14 Mar 03
Posts: 267
Credit: 1,405,391
RAC: 27
United States
Message 1875532 - Posted: 28 Jun 2017, 18:20:33 UTC - in response to Message 1875456.  

On the offline boinc, did you try adding the --detectgpus flag when starting the client?

Not so far, thanks, will try.

Such flag undefined for boinc client I use (7.6.33 x64)


Sorry, the correct flag is: --detect_gpus
ID: 1875532 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6021
Credit: 86,835,529
RAC: 33,642
Russia
Message 1875879 - Posted: 30 Jun 2017, 12:15:23 UTC - in response to Message 1875529.  

BOINC.exe being started from command prompt doesn't detect GPUs

Try from elevated (admin) command prompt?

I can try just to rule that out but elevated privilegies not quite suitable for portable version in general.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1875879 · Report as offensive
1 · 2 · 3 · 4 . . . 5 · Next

Message boards : Number crunching : "BOINC portable" for Windows hosts


 
©2018 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.