Cosmology@Home runs multiple “apps.” The requirements list is for the default app (named camb_boinc2docker), but if your computer does not meet them, there is an older app available (named camb_legacy) which runs on just Windows and Linux but supports 32-bit processors and does not need Virtualbox or VT-x/AMD-v. At this point we only use the results from camb_legacy for testing the PICO algorithm and not for comparing with data since the app is fairly old. However, the results do serve a limited purpose and allow Cosmology@Home users who do not meet the above requirements to continue to contribute, thus we continue to provide it. We encourage users who can run camb_boinc2docker to do so, however.
This is a feature of modern processors (Intel calls theirs “VT-x” and AMD calls theirs “AMD-v”) which Virtualbox needs to be able to run 64-bit virtual machines like the ones used by Cosmology@Home.
One way to check if your processor supports VT-x/AMD-v is to look up your processor specifications online. It may be easier however to simply try and run Cosmology@Home. If you receive any camb_boinc2docker jobs it means BOINC has detected that your processor has support.
However, it may still be that while your processor supports VT-x/AMD-v, these features are turned off in your BIOS. If your camb_boinc2docker jobs download but hang for ~5min then die, this may be the case. To enable it, you need to reboot your computer, enter your BIOS, find this option and enable it. Here is an example of what it might look like (although this will vary with BIOS version, it will likely say something about virtualization):
If you attempted to run a camb_boinc2docker job before enabling VT-x/AMD-v, it is possible your client is stuck in a state where it still thinks this feature is disabled. It will give you a message “Scheduler wait: Please upgrade BOINC to the latest version” and the log files will show “ERROR: Invalid configuration. VM type requires acceleration but the current configuration cannot support it.” To fix this:
Some users prefer to have Cosmology@Home running at all times in the background, even while they’re using their computer. Unfortunately, due to a regression in VirtualBox, on Windows the priority of VirtualBox cannot be set to low, so it may interfere with your usage. As a workaround until VirtualBox is fixed, you can either lower your BOINC global CPU usage, or you can limit the number of CPUs that Cosmology@Home uses (leaving your other CPUs for native BOINC applications from other projects which can be set to low priority).
camb_boinc2docker is multi-threaded and will use up all available cores which BOINC allows it to. For example, if in the BOINC computing preferences you have set “Use at most 50% CPU time” and you have a 4-core processor, the job will use two of them.
If for whatever reason you wish to limit the number of cores used without changing the global BOINC CPU usage, you can do so by creating a file called
"app_config.xml" in the Cosmology@Home project folder and adding the following text, with the “2” under
avg_ncpus replaced by however many CPUs you want to use (thanks to Crystal Pellet):
<app_config> <app> <name>camb_boinc2docker</name> <max_concurrent>1</max_concurrent> </app> <app_version> <app_name>camb_boinc2docker</app_name> <plan_class>vbox64_mt</plan_class> <avg_ncpus>2</avg_ncpus> </app_version> </app_config>
app_config.xmlfile, make sure you saved the file with a character encoding apropriate for your system (options to do so may vary by text editor).
For an introduction to the science we do at Cosmology@Home, see this (link will be posted shortly) multi-part blog post.
To summarize, we run the CAMB code, the results from which are used to train the PICO code, which in turn is used by various groups in the field to analyze cosmological datasets. Most notably, PICO is used extensively in the analysis of Planck data (e.g. this paper). The papers describing PICO itself can be found here and here (click “PDF” on the right to view the papers for free). Citations to these papers can be found here and here and represent work which has referenced PICO and hence benefited from Cosmology@Home in some way.
If you wish to use only the old Cosmology@Home application, camb_legacy, you can edit your preferences and unselect all other applications. The results from this application are not as useful so please consider doing so only if you are having technical problems running the other applications. Note camb_legacy only supports Windows and Linux.
Docker only supports 64-bit processors. For those with 32-bit computers wishing to contribute to Cosmology@Home, you might still be able to run the legacy application.
Docker containers which are downloaded by Cosmology@Home are saved to the file
scratch/boinc2docker_persist.tar in the project folder.
Find the log by going to Community->Your Account->Tasks and searching for the task which failed. You’ll see the log at the bottom of the page.
When camb_boinc2docker first starts, it downloads the Docker container needed to run the job. During this download (which will not show up in BOINC’s “Download” tab), the progress bar will be pinned to 0.100%.
The very first time you run a camb_boinc2docker job the download may take a while, the container is about 35Mb. After that it is saved for all future jobs. Any time we update the app there may be smaller incremental downloads as well.
This is the name for the software which allows us to run Docker containers with BOINC. It can be used to run any code, camb_boinc2docker being one of them. You can follow development of boinc2docker on github.
Absolutely! All of the code, including the camb_boinc2docker code itself as well as the server code is publicly available on the github page. In fact, the exact commit the server is currently running can be seen on the server status page. We run our server from a Docker container, so its super easy for anyone run a copy of our server too, and play around with modifying or seeing how it works.
No, feel free to abort jobs if you need to. Our results are built up by the aggregate of all jobs, and losing any one particular result is fine.