Message boards : ATLAS application : Set process priority of VBoxHeadless process
Message board moderation

To post messages, you must log in.

AuthorMessage
MPI für Physik

Send message
Joined: 20 Mar 15
Posts: 7
Credit: 313,567,754
RAC: 346,047
Message 44326 - Posted: 17 Feb 2021, 8:39:51 UTC

Hi,

since we also have htcondor jobs by local users on our pool we would like the boinc jobs to suspend when htcondor jobs start. In order for this to work we must make sure that "nice" value of the boinc job (VBoxHeadless) is larger than the "nice" value of the condor jobs.

We currently observe that boinc runs VBoxHeadless with nice P=35, but have no way of controlling (.i.e. setting a different value) that through ATLAS@home or boinc configs.

Now vbox has https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/vboxmanage-controlvm.html

...
vm-process-priority default|flat|low|normal|high: Changes the priority scheme of the VM process. See Section 7.12, “VBoxManage startvm”.
...

So something like

VBoxManage controlvm <vm-name> vm-process-priority low

could be added to the vboxwrapper on request from a config?

Cheers, Stefan
ID: 44326 · Report as offensive     Reply Quote
computezrmle
Volunteer moderator
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 15 Jun 08
Posts: 1825
Credit: 123,762,160
RAC: 86,115
Message 44327 - Posted: 17 Feb 2021, 9:07:14 UTC - in response to Message 44326.  

BOINC can check whether distinct processes are running and pause it's own tasks.

Global BOINC niceness can be set via the systemd service options
https://www.freedesktop.org/software/systemd/man/systemd.exec.html

Some BOINC priority options can be influenced via cc_config.xml
https://boinc.berkeley.edu/wiki/Client_configuration

Vboxwrapper can't be configured. It's options are hardwired.
ID: 44327 · Report as offensive     Reply Quote
MPI für Physik

Send message
Joined: 20 Mar 15
Posts: 7
Credit: 313,567,754
RAC: 346,047
Message 44349 - Posted: 20 Feb 2021, 11:23:36 UTC - in response to Message 44327.  

BOINC can check whether distinct processes are running and pause it's own tasks.

yes, but boinc only counts processes with niceness < boinc job niceness, i.e. processes with higher priority. We want to use this boinc feature, but we have to make sure that boinc jobs run with niceness > htcondor jobs niceness. We want to give our local users htcondor jobs priority over boinc jobs.

Global BOINC niceness can be set via the systemd service options
https://www.freedesktop.org/software/systemd/man/systemd.exec.html

Yes, but this does not determine the boinc jobs niceness, in particular if they are run in vbox VMs. In this case vbox starts the VM with some niceness according to vbox configs. For us the boinc jobs run with niceness = 35. But since we don't know who and where this number is set we worry that with some change in boinc or the ATLAS@home job wrapper this could change, our local users htcondor jobs don't run and we get grilled for it.

Some BOINC priority options can be influenced via cc_config.xml
https://boinc.berkeley.edu/wiki/Client_configuration

Yes, but they are already by default at "lowest priority", so no need to change them.

Vboxwrapper can't be configured. It's options are hardwired.

skluth@atlas246:~/boinc$ less /local/scratch/boinc/slots/0/vbox_replay.txt
...
VBoxManage -q controlvm "boinc_50e1e3a46f263637" cpuexecutioncap 75
...

And that line is only there when I set in my account settings 75% CPU load. So this propagates to the vboxwrapper somehow.

vbox can do this: VBoxManage controlvm vm-process-priority default|flat|low|normal|high so we could possibly use that to control what vbox is doing with the niceness. But that would need work on the vboxwrapper so its not an option now.

Our solution now is to set the htcondor jobs niceness < boinc niceness to make sure htcondor jobs push boinc jobs away. htcondor has a config parameter for that.
ID: 44349 · Report as offensive     Reply Quote

Message boards : ATLAS application : Set process priority of VBoxHeadless process


©2021 CERN