To contribute to the computing effort to combat COVID-19, we have build an experimental Singularity container to donate computing resources to protein folding Rosetta@home with BOINC.
As it is still quite experimental, please let us know of your experience.
To install the Singularity container framework, see the documentation from Sylabs (should be available in the most Linux repositories)
The Singularity container is available in our CVMFS repository at
/cvmfs/grid.desy.de/container/boinc.d
If you do not have CVMFS setup, you can also download the container image tarball from >>here<<.
After extracting it with 'tar -xJvf boinc.d.tar.xz
', you can point Singularity to the directory 'boinc.d
'.
If you plan to use CVMFS (as it might be more space saving), check:
- if not already configured, set up the /cvmfs/grid.desy.de repository as described in CVMFS repositories
- for details on how to install CVMFS, see the CVMFS documentation
Running a Rosetta@home BOINC job
Please start the container as an unprivileged user in a directory with sufficient space (>5GB).
It will create a few configuration files and start the actual BOINC client.
The BOINC client will then ask for work from the Rosetta@home project.
The container as a few predefined profiles:
- to run it on a desktop with other user activity → it should reduce its load, when a user needs the CPU for herself/himself
singularity run --app desktop /cvmfs/grid.desy.de/container/boinc.d
- to run a job according to WLCG Grid job requirements as a single core job (1 cores, 2GB memory, 20GB disk) or as a multi-core job (up to 8 cores, 16GB memory, 120GB disk)
- a single core job:
singularity run /cvmfs/grid.desy.de/container/boinc.d
# orsingularity run --app 1core /cvmfs/grid.desy.de/container/boinc.d
- as a eight core job:
singularity run --app 8core /cvmfs/grid.desy.de/container/boinc.d
- a single core job:
- and to create a configuration profile of your liking, first create the configuration files in the current directory with something like
which would create a profile for a job, that will use up to 4 cores, 10GB memory and 25GB disksingularity exec /cvmfs/grid.desy.de/container/boinc.d boincconfiger.py --cpu 4 --mem 10 --disk 25
- and run the BOINC client on the just created configuration files with
singularity exec /cvmfs/grid.desy.de/container/boinc.d boinc_client --no_gui_rpc --abort_jobs_on_exit --allow_multiple_clients
Running in the background
The previous commands will all be running in your active session. If everything works fine, you can start the client into the background, so that you can log off and keep it running.
For example, to create a configuration in your current directory and start BOINC into the background run
nohup singularity run --app desktop /cvmfs/grid.desy.de/container/boinc.d --no_gui_rpc > MyBOINC.log &
You can check the progress in the text file "MyBOINC.log
"
Statistics
For group statistics see [here]