Boinc
#1
I would like to request BOINC as a feature.
Reply
#2
Provide more details.
42.7% of all statistics are made up on the spot

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#3
Thumbs Up 
BOINC is an acronym, Berkeley Open Infrastructure for Network Computing.
Their website is here
With BOINC you can compute data for different projects.
Such as SETI@Home.
You can also create your own projects, and distribute computing.
See BAM! and Grid Republic for more info on project creation.

It would be nice if one could opt to compute for projects when there is enough free memory.
Also, it would be a neat idea to see if the computing of the XBMC client could be distributed if possible. Say have XBMC serve to the computers on your home network to increase processing ability of the xbox.

So I would say having both a client and a server for BOINC would be a great feature that could prove useful.

I see that the xbox has limited resources, and techniques to utilize other network devices to carry out tasks too intensive for the xbox would allow for new growth and potential.

The only way to get more ram at this time is to take the ram from another xbox and install it to the xbox you seek to upgrade. It is a far more complex task than what I have outlined that requires certain tools. It would be nice to increase the abilities through networked resources instead of hardware upgrades. BOINC would be a huge step in that direction.

Thanks Big Grin
Reply
#4
I was thinking about this as well today, and thought about posting a thread, but... luckily I used the search function first Wink

I think it would be nice to see BOINC as a plugin for XBMC. Most of the HTPC's aren't being used 24/7. Of course there are some downsides:

* Some HTPC are quite low-specced (ION)
* It might cause some noise, due to running fans on some HTPC's.

But still Smile It would be a nice feature Smile
Reply
#5
I'd love to see BOINC as an easy add-on option too...
Reply
#6
Well... I just added it manually Smile I started an SSH session to my XBMC machine, and logged in with xbmc/xbmc gave myself admin rights through the sudo command.
After this, I installed BOINC with this command:

sudo apt-get install boinc-client boinc-manager

After this, I found the needed files in /usr/bin
I ran boinccmd from root, which will give you a bunch of options. Here you can find an explanation on how to attach to a project. After this I rebooted the machine, and BOINC started automaticly and it's crunching right now Smile

Still, XBMC integration would be nice: Some of these projects would be great screensavers! It would also make it a lot easier to keep track of the progress. Right now, I have to check via SSH Smile
For the rest: my ION system is not very powerfull, but fortunatelly I am not noticing any slowing down while BOINC is running. But.. I am also only using the CPU and not the GPU Smile
Reply
#7
another vote here! Wink

It could have team XBMC as the default too...
Reply
#8
Thumbs Up 
+1 Vote of BOINC

Would be great to have a feature in the power settings, e.g., Run BOINC after x minutes of inactivity.

Currently on my HTPC I have BOINC set to run after 3 min. of inactivity & while CPU use (by programs other than BOINC) is less than ~10% (this option in under the computing preferences menu). This stops BOINC while a video is playing i.e. shutter free playback.

My HTPC boots into XBMC so I have to quit XBMC start explorer.exe start BOINC then restart XBMC everytime the computer reboots.


Folding@Home is another great distributed computing project to add.
Reply
#9
I'd like to see this in the XBMC live version.

I use a GT630 graphics card so my CPU is idle a lot watching cars 3 times a day and Rio at least twice.

Just thought I could be helping out on the fight for cancer and finding aliens when the boys are watching movies.

Would be cool!!
Reply
#10
Does anyone know how to suspend BOINC only when xbmc plays a video and resume after it's done. My computer is always on, and XBMC is always running, but I want to pause BOINC completely when I'm playing a video, but when XBMC is open, and not playing, I want to resume processing.

I can setup BOINC to pause when an application is open, but XBMC is always open. I could do it if XBMC launches another application to play videos.
Or, if you fine people know of another way.

Thanks!
Reply
#11
Hello everyone!

+1 for this request (on Linux)

I'm regular user of KODI for several years on OE and now LE. I'm also running BOINC client on all of my computers and mobile devices, except HTPC, mainly I do not know how to run it on LE. My HTPC is turned on almost all the time just seeding free SW. I like to use it for something more than that.

To simplify: BOINC client consists of 2 pieces of software: client Core and client Manager. Core client is used to crunch data and Manager to manage jobs and view data. But even client Manager is not necessary since we can use Manager from other computers to log into some other networked client and monitor status or just run boinc_cmd via ssh to do the same.

So, the core client is the one is essential to me and to the most users. In case of KODI, core client can be run as background service, just like Transmission or Aria2 is.

Unfortunately, I do not know how to create add-ons and I'm not event that good in compiling. BUT, if any programmer out there wants to donate time and work to good cause and find new star, discover new medicine, unravel some protein and solve some of the world problems - he can by helping us to create BOINC core client as a service and (maybe) BOINC program as a Manager (just like Transmission service with Transmission GUI program).

I'm willing to do my job and test it and help in any way necessary!

Here's some useful info for compiling BOINC for Linux:
http://boinc.berkeley.edu/trac/wiki/SoftwareBuilding
https://boinc.berkeley.edu/trac/wiki/CompileClient
https://boinc.berkeley.edu/w/?title=Inst...rom_source

Thank you for your time!
Reply
#12
Just throwing it out there, I have a docker image in my personal repo for BOINC.

If you're using LE on x86, this would work.

It is running the server and the client, and you can access the gui in a browser window from another computer (through some xrdp magic).

A few downsides:
1) X86 only (no arm or aarch64 build)
2) CPU only (never tried gpu assist, may or may not work)
3) Image is fairly large (due to the gui and all)

Upside is, it works and it is fairly easy to install.

On LE, install the docker service addon from the LE repo. After that, you can install this through command line (ssh would also work)

Here's the docker image: https://hub.docker.com/r/aptalca/docker-rdp-boinc/
Reply
#13
(2017-01-15, 05:12)aptalca Wrote: Just throwing it out there, I have a docker image in my personal repo for BOINC.

If you're using LE on x86, this would work.

It is running the server and the client, and you can access the gui in a browser window from another computer (through some xrdp magic).

A few downsides:
1) X86 only (no arm or aarch64 build)
2) CPU only (never tried gpu assist, may or may not work)
3) Image is fairly large (due to the gui and all)

Upside is, it works and it is fairly easy to install.

On LE, install the docker service addon from the LE repo. After that, you can install this through command line (ssh would also work)

Here's the docker image: https://hub.docker.com/r/aptalca/docker-rdp-boinc/

Following your guide on https://hub.docker.com/r/aptalca/docker-rdp-boinc/ I managed to run BOINC and now I'm crunching data! Thank you!
Here's what I did over SSH:
Code:
docker pull aptalca/docker-rdp-boinc
docker run -d --name="RDP-Boinc" -e HEIGHT="720" -e WIDTH="1280" -v /storage/boinc:/config:rw -e TZ="Europe/Podgorica" -p 8083:8080 aptalca/docker-rdp-boinc
Just like you suggested I needed to replace original timezone command with my time zone.

After that I created/edited autostart.sh in
Code:
nano /storage/.config/autostart.sh
and put this in file:
Code:
(
docker start RDP-Boinc
) &
so RDP-Boinc would be automatically started every time computer is turned on.

I can check progress via Chromium plugin by visiting http://localhost:8083/#/client/c/Boinc from that computer or by IP address from other computers in network.

Your solution is quick, easy and more importantly - it works as intended! But after couple of manual computer reboots I noticed that something went wrong. By checking CPU and RAM usage I could see that BOINC is going thru data. When I try accessing xrdp over web I can see that Guacamole web server is up and running and I'm getting xrdp login window, but when I click Ok, xrdp is showing message that it could not connect. So, I'm guessing problem wasn't Guacamole or xrdp, but maybe xrdp access to BOINC manager? What do you think? Only quick'n'dirty solution I could think of was to remove RDP-Boinc docker and run it again (data and current progress were not affected):
Code:
docker stop RDP-Boinc
docker rm RDP-Boinc
docker run -d --name="RDP-Boinc" -e HEIGHT="720" -e WIDTH="1280" -v /storage/boinc:/config:rw -e TZ="Europe/Podgorica" -p 8083:8080 aptalca/docker-rdp-boinc

Maybe I should put in autostart.sh commands for removal and runing docker every time i turn on computer?
Code:
docker rm RDP-Boinc
docker run -d --name="RDP-Boinc" -e HEIGHT="720" -e WIDTH="1280" -v /storage/boinc:/config:rw -e TZ="Europe/Podgorica" -p 8083:8080 aptalca/docker-rdp-boinc
Would this be right approach? I'm not familiar with dockers, so I'm not sure if this approach would make some strange gibberish on my storage?
Reply
#14
(2017-01-15, 21:51)mladen.perisic Wrote:
(2017-01-15, 05:12)aptalca Wrote: Just throwing it out there, I have a docker image in my personal repo for BOINC.

If you're using LE on x86, this would work.

It is running the server and the client, and you can access the gui in a browser window from another computer (through some xrdp magic).

A few downsides:
1) X86 only (no arm or aarch64 build)
2) CPU only (never tried gpu assist, may or may not work)
3) Image is fairly large (due to the gui and all)

Upside is, it works and it is fairly easy to install.

On LE, install the docker service addon from the LE repo. After that, you can install this through command line (ssh would also work)

Here's the docker image: https://hub.docker.com/r/aptalca/docker-rdp-boinc/

Following your guide on https://hub.docker.com/r/aptalca/docker-rdp-boinc/ I managed to run BOINC and now I'm crunching data! Thank you!
Here's what I did over SSH:
Code:
docker pull aptalca/docker-rdp-boinc
docker run -d --name="RDP-Boinc" -e HEIGHT="720" -e WIDTH="1280" -v /storage/boinc:/config:rw -e TZ="Europe/Podgorica" -p 8083:8080 aptalca/docker-rdp-boinc
Just like you suggested I needed to replace original timezone command with my time zone.

After that I created/edited autostart.sh in
Code:
nano /storage/.config/autostart.sh
and put this in file:
Code:
(
docker start RDP-Boinc
) &
so RDP-Boinc would be automatically started every time computer is turned on.

I can check progress via Chromium plugin by visiting http://localhost:8083/#/client/c/Boinc from that computer or by IP address from other computers in network.

Your solution is quick, easy and more importantly - it works as intended! But after couple of manual computer reboots I noticed that something went wrong. By checking CPU and RAM usage I could see that BOINC is going thru data. When I try accessing xrdp over web I can see that Guacamole web server is up and running and I'm getting xrdp login window, but when I click Ok, xrdp is showing message that it could not connect. So, I'm guessing problem wasn't Guacamole or xrdp, but maybe xrdp access to BOINC manager? What do you think? Only quick'n'dirty solution I could think of was to remove RDP-Boinc docker and run it again (data and current progress were not affected):
Code:
docker stop RDP-Boinc
docker rm RDP-Boinc
docker run -d --name="RDP-Boinc" -e HEIGHT="720" -e WIDTH="1280" -v /storage/boinc:/config:rw -e TZ="Europe/Podgorica" -p 8083:8080 aptalca/docker-rdp-boinc

Maybe I should put in autostart.sh commands for removal and runing docker every time i turn on computer?
Code:
docker rm RDP-Boinc
docker run -d --name="RDP-Boinc" -e HEIGHT="720" -e WIDTH="1280" -v /storage/boinc:/config:rw -e TZ="Europe/Podgorica" -p 8083:8080 aptalca/docker-rdp-boinc
Would this be right approach? I'm not familiar with dockers, so I'm not sure if this approach would make some strange gibberish on my storage?
My guess is that when you reboot, the container is not stopped cleanly and that's why it has issues afterwards.

If recreating the container is working fine, then what you came up with is probably fine. Docker containers are designed to be temporary and easily deployable anyway. But there is always a chance that the data in the mapped config folder may get corrupted during an unclean shutdown.

The proper solution would be to create a service file (systemd) that starts and stops the container during system start and shutdown (or reboot). If you search on the libreelec forums, you should be able to find some samples for docker containers
Reply
#15
(2017-01-16, 00:19)aptalca Wrote:
(2017-01-15, 21:51)mladen.perisic Wrote:
(2017-01-15, 05:12)aptalca Wrote: Just throwing it out there, I have a docker image in my personal repo for BOINC.

If you're using LE on x86, this would work.

It is running the server and the client, and you can access the gui in a browser window from another computer (through some xrdp magic).

A few downsides:
1) X86 only (no arm or aarch64 build)
2) CPU only (never tried gpu assist, may or may not work)
3) Image is fairly large (due to the gui and all)

Upside is, it works and it is fairly easy to install.

On LE, install the docker service addon from the LE repo. After that, you can install this through command line (ssh would also work)

Here's the docker image: https://hub.docker.com/r/aptalca/docker-rdp-boinc/

Following your guide on https://hub.docker.com/r/aptalca/docker-rdp-boinc/ I managed to run BOINC and now I'm crunching data! Thank you!
Here's what I did over SSH:
Code:
docker pull aptalca/docker-rdp-boinc
docker run -d --name="RDP-Boinc" -e HEIGHT="720" -e WIDTH="1280" -v /storage/boinc:/config:rw -e TZ="Europe/Podgorica" -p 8083:8080 aptalca/docker-rdp-boinc
Just like you suggested I needed to replace original timezone command with my time zone.

After that I created/edited autostart.sh in
Code:
nano /storage/.config/autostart.sh
and put this in file:
Code:
(
docker start RDP-Boinc
) &
so RDP-Boinc would be automatically started every time computer is turned on.

I can check progress via Chromium plugin by visiting http://localhost:8083/#/client/c/Boinc from that computer or by IP address from other computers in network.

Your solution is quick, easy and more importantly - it works as intended! But after couple of manual computer reboots I noticed that something went wrong. By checking CPU and RAM usage I could see that BOINC is going thru data. When I try accessing xrdp over web I can see that Guacamole web server is up and running and I'm getting xrdp login window, but when I click Ok, xrdp is showing message that it could not connect. So, I'm guessing problem wasn't Guacamole or xrdp, but maybe xrdp access to BOINC manager? What do you think? Only quick'n'dirty solution I could think of was to remove RDP-Boinc docker and run it again (data and current progress were not affected):
Code:
docker stop RDP-Boinc
docker rm RDP-Boinc
docker run -d --name="RDP-Boinc" -e HEIGHT="720" -e WIDTH="1280" -v /storage/boinc:/config:rw -e TZ="Europe/Podgorica" -p 8083:8080 aptalca/docker-rdp-boinc

Maybe I should put in autostart.sh commands for removal and runing docker every time i turn on computer?
Code:
docker rm RDP-Boinc
docker run -d --name="RDP-Boinc" -e HEIGHT="720" -e WIDTH="1280" -v /storage/boinc:/config:rw -e TZ="Europe/Podgorica" -p 8083:8080 aptalca/docker-rdp-boinc
Would this be right approach? I'm not familiar with dockers, so I'm not sure if this approach would make some strange gibberish on my storage?
My guess is that when you reboot, the container is not stopped cleanly and that's why it has issues afterwards.

If recreating the container is working fine, then what you came up with is probably fine. Docker containers are designed to be temporary and easily deployable anyway. But there is always a chance that the data in the mapped config folder may get corrupted during an unclean shutdown.

The proper solution would be to create a service file (systemd) that starts and stops the container during system start and shutdown (or reboot). If you search on the libreelec forums, you should be able to find some samples for docker containers
Yes, I understand that. I thought docker system is designed that way. You are probably right - I noticed prolonged shutdown when docker is active which could indicate OS is waiting for app to close and then kill it. I will investigate later this week and report findings here. Thanks for the tip!

Just quick questions: How can I pass command to BOINC client? For example, how can I tell it to pause all work or to shutdown? Also, how can I modify startup parameters of client?

Sent from my U FEEL
Reply

Logout Mark Read Team Forum Stats Members Help
Boinc0