You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
THIS IS A DRAFT BOUNTY AND NOT LIVE YET
BOINC is a software tool used by scientific researchers to distribute large computational workloads to the computers of volunteers. Currently, they can distribute a native app (compiled for each target platform that the computers of volunteers run) or a vbox image. A native app is great, but requires a lot of work to maintain the different compiled versions. Vbox images make it easier to do broad cross-platform support, but come at a significant performance overhead.
Docker containers would make it easier to distribute cross-platform containerized workunits without the performance loss of virtualbox. Additionally, it would allow researchers using BOINC to pull from docker's vast library of pre-built images instead of having to build the software packages themselves.
You can see the existing Boinc2Docker software which wraps docker in virtualbox as a base for building your solution.
Submit code to BOINC repo and have it approved by maintainers, following all coding standards used by the repo and making any style and other edits requested by them. In the event that your code is not accepted by maintainers but otherwise meets bounty requirements and solves the issue the bounty is for, the bounty will still be paid out. Our organization works directly with the BOINC developers and we have every reason to believe they will accept a well-written pull request.
Your code needs to do the following:
Create a new plan class in the BOINC server for docker containers. You can use the existing vbox plan class as a template
Create a template docker image which people can use to distribute their work. The docker should include a volume for transferring data in and out of the image. This volume will store the workunit inputs and outputs (or there can be two volumes, one for inputs, another for outputs). The output should include not only the output from the work itself, but any logs created by docker in the process which could be used to diagnose issues starting the container.
Make the BOINC client capable of starting, pausing, stopping, and resuming a docker-based workunit. These calls should execute a script in a standard location in the docker image so that it can be modified by researchers to start/stop/etc the tools running within the image.
The ability to run docker images in the BOINC client only needs to work on Linux hosts, but should be written in such a way that it can be extended to other operating systems later.
When the BOINC client completes the workunit, it should zip the output from the docker volume and send it back to the server, like it currently does with vbox workunits.
Contribute to this Bounty
You can contribute to this bounty by donating to SCI directly. You will get a nice tax deduction, and we will spend those donated funds on our bounty programs. The higher the bounty, the more likely a developer will come along to claim it!
Bounty amount: $200 USD
Payment will be made through PayPal or DAI directly from the SCI upon completion of the work. You will also get the satisfaction of knowing you are helping a software and ecosystem which supports the progress of science.
Claiming bounty
Comment below if you want to indicate you are working on the bounty (though this is not required) or if you have any questions. If the bounty amount exceeds $600 USD equivalent, you will also need to provide us with the requisite paperwork normally completed for contractors for US companies (1099-MISC).
About SCI
The SCI is a US 501(c)(3) non-profit organization dedicated to rebuilding the bridge of participation and trust between the public and the scientific process. We support tools and infrastructure that enable people to learn about and engage with science. Follow our work via our free newsletter on substack.
The text was updated successfully, but these errors were encountered:
THIS IS A DRAFT BOUNTY AND NOT LIVE YET
BOINC is a software tool used by scientific researchers to distribute large computational workloads to the computers of volunteers. Currently, they can distribute a native app (compiled for each target platform that the computers of volunteers run) or a vbox image. A native app is great, but requires a lot of work to maintain the different compiled versions. Vbox images make it easier to do broad cross-platform support, but come at a significant performance overhead.
Docker containers would make it easier to distribute cross-platform containerized workunits without the performance loss of virtualbox. Additionally, it would allow researchers using BOINC to pull from docker's vast library of pre-built images instead of having to build the software packages themselves.
You can see the existing Boinc2Docker software which wraps docker in virtualbox as a base for building your solution.
Relevant issue in BOINC repo BOINC/boinc#1620
Requirements to claim bounty:
Your code needs to do the following:
Contribute to this Bounty
You can contribute to this bounty by donating to SCI directly. You will get a nice tax deduction, and we will spend those donated funds on our bounty programs. The higher the bounty, the more likely a developer will come along to claim it!
Bounty amount: $200 USD
Payment will be made through PayPal or DAI directly from the SCI upon completion of the work. You will also get the satisfaction of knowing you are helping a software and ecosystem which supports the progress of science.
Claiming bounty
Comment below if you want to indicate you are working on the bounty (though this is not required) or if you have any questions. If the bounty amount exceeds $600 USD equivalent, you will also need to provide us with the requisite paperwork normally completed for contractors for US companies (1099-MISC).
About SCI
The SCI is a US 501(c)(3) non-profit organization dedicated to rebuilding the bridge of participation and trust between the public and the scientific process. We support tools and infrastructure that enable people to learn about and engage with science. Follow our work via our free newsletter on substack.
The text was updated successfully, but these errors were encountered: