Message boards : Theory Application : Native Theory Application Setup (Linux only)
Message board moderation

To post messages, you must log in.

Profile Laurence
Project administrator
Project developer

Send message
Joined: 20 Jun 14
Posts: 374
Credit: 238,712
RAC: 0
Message 38259 - Posted: 18 Mar 2019, 11:06:16 UTC
Last modified: 5 Dec 2023, 14:31:52 UTC

The native Theory application for Linux has been added as a beta (test) app. It is similar to the ATLAS native app and depends on CVMFS. To install CVMFS please follow the Getting Started documentation. For the /etc/cvmfs/default.local file, download this pre-configured example using the following command:
sudo wget -O /etc/cvmfs/default.local
For those who are already running Native Atlas tasks, please update the default.local file with command above and then reload the configuration with:
sudo cvmfs_config reload
To check CVMFS is functioning correctly run the following command:
cvmfs_config probe
Which should produce the following output:
Probing /cvmfs/ OK
Probing /cvmfs/ OK
Probing /cvmfs/ OK
Probing /cvmfs/ OK
Probing /cvmfs/ OK
Probing /cvmfs/ OK
If this fails and the troubleshooting guide doesn't help, please post the issue to the message boards.

This application make use of rootless Linux containers with runc. This is a relatively new feature and a few configuration tweaks are required on some operating systems.

CentOS 7
Increase the maximum number of user namespaces:
sudo echo "user.max_user_namespaces = 15000" >> /etc/sysctl.conf
sudo sysctl -p
Debian Stretch
Enabling user namespace for every user permanently:
sudo sed -i '$ a\kernel.unprivileged_userns_clone = 1' /etc/sysctl.conf
sudo sysctl -p

The Suspend/Resume does not work out of the box. It needs a cgroup to be created for each slot and this requires a cgroup with permissions for the user boinc. This can be provided by adding a PreStart script for boinc-client systemd. Download two files with wget:
sudo wget -O /sbin/create-boinc-cgroup
sudo wget -O /etc/systemd/system/boinc-client.service
Then run the following commands to pick up the changes:
sudo systemctl daemon-reload
sudo systemctl restart boinc-client
This will only suspend the application in memory. To suspend the application to disk so that it will survive the client exiting requires the container checkpointing feature. However, this is not currently available for Linux containers.

Please post to the message boards if there are any issues.
ID: 38259 · Report as offensive
Volunteer moderator
Volunteer developer
Volunteer tester
Help desk expert

Send message
Joined: 15 Jun 08
Posts: 2411
Credit: 226,218,526
RAC: 130,317
Message 49141 - Posted: 5 Jan 2024, 19:39:58 UTC

Important note!

This thread needs to be revised for Theory native >=300.08.

The method/scripts suggested for suspend/resume should not be used any more as they require cgroups v1.
Recent linux systems use cgroups v2 as default.

Theory native >=300.08 supports cgroups v2 as default while cgroups v1 support is deprecated.

Meanwhile please use the advice given in this thread to enable suspend/resume on a cgroups v2 based system.
ID: 49141 · Report as offensive

Message boards : Theory Application : Native Theory Application Setup (Linux only)

©2024 CERN