Message boards : Number crunching : Local control of which subprojects run`
Message board moderation

To post messages, you must log in.

AuthorMessage
pls

Send message
Joined: 22 Oct 07
Posts: 27
Credit: 808,821
RAC: 0
Message 37148 - Posted: 1 Nov 2018, 4:19:38 UTC

The various subprojects of LHC have really different characteristics, and the only existing way to control which one are run is at the account level.

I'm wondering if this control is possible at the local machine level.

Can a make an app_config that will have, e.g., LHCb tasks never downloaded or run?

Thanks,
++PLS
ID: 37148 · Report as offensive     Reply Quote
bronco

Send message
Joined: 13 Apr 18
Posts: 443
Credit: 8,438,885
RAC: 0
Message 37151 - Posted: 1 Nov 2018, 5:13:07 UTC - in response to Message 37148.  

I haven't tried it but I have read <max_concurrent>0</max_concurrent> accomplishes what you want.
ID: 37151 · Report as offensive     Reply Quote
pls

Send message
Joined: 22 Oct 07
Posts: 27
Credit: 808,821
RAC: 0
Message 37153 - Posted: 1 Nov 2018, 10:04:44 UTC - in response to Message 37151.  

I will give it a try and report.

By the way, could someone who can post a pinned message please post one containing the formula for computing memory requirements for all of the mt apps?

Thanks
ID: 37153 · Report as offensive     Reply Quote
BITLab Argo

Send message
Joined: 16 Jul 05
Posts: 24
Credit: 35,251,537
RAC: 0
Message 37157 - Posted: 1 Nov 2018, 17:10:10 UTC - in response to Message 37148.  

The various subprojects of LHC have really different characteristics, and the only existing way to control which one are run is at the account level
I'm wondering if this control is possible at the local machine level.


Why do you feel the "Location" feature is insufficient/inappropriate for you?

The only issue I've had with locations is that the website splits their configuration across two separate pages on different menus, which is a nuisance when making sure everything's consistent at setup.
After that it worked fine and it's trivial to flip a machine between subprojects when needed.
ID: 37157 · Report as offensive     Reply Quote
Profile Ray Murray
Volunteer moderator
Avatar

Send message
Joined: 29 Sep 04
Posts: 254
Credit: 11,239,046
RAC: 651
Message 37161 - Posted: 1 Nov 2018, 20:22:50 UTC
Last modified: 1 Nov 2018, 21:15:05 UTC

As Argo says, just set whatever app preferences you like for Default, Home, Work or School and change the Location of your machine(s) to match.
If you really want to do it by app_config, here's mine, which you can edit to your own requirements. This is more to limit the number of each app that I allow to run as my 3 machines have limited resources and can therefore only run 1 Atlas (single core) or 2 LHCb's at a time but are happy with up to 4 Theorys running concurrently without difficulty. Again I find single cores work best on my setups.
Boinc constantly reminds me that it doesn't recognise Alice as she hasn't made it to Production from -dev yet but I've left her in to save having to edit once she does arrive.
The memory requirements formulae are in a few posts but I haven't got time tonight to look for them. Perhaps in Yeti's setup checklist? Happy to pin it if anyone finds a definitive formula as it is useful to work out app load versus machine resources to see what will/might run successfully and what definitely won't.

<app_config>
<project_max_concurrent>4</project_max_concurrent>
<app>
<name>ATLAS</name>
<max_concurrent>1</max_concurrent>
<fraction_done_exact>1</fraction_done_exact>
</app>
<app>
<name>sixtrack</name>
<max_concurrent>4</max_concurrent>
<fraction_done_exact>1</fraction_done_exact>
</app>
<app>
<name>sixtracktest</name>
<max_concurrent>4</max_concurrent>
<fraction_done_exact>1</fraction_done_exact>
</app>
<app>
<name>ALICE</name>
<max_concurrent>1</max_concurrent>
<fraction_done_exact>1</fraction_done_exact>
</app>
<app>
<name>CMS</name>
<max_concurrent>1</max_concurrent>
<fraction_done_exact>1</fraction_done_exact>
</app>
<app>
<name>LHCb</name>
<max_concurrent>2</max_concurrent>
<fraction_done_exact>1</fraction_done_exact>
</app>
<app>
<name>Theory</name>
<max_concurrent>4</max_concurrent>
<fraction_done_exact>1</fraction_done_exact>
</app>
</app_config>
ID: 37161 · Report as offensive     Reply Quote
pls

Send message
Joined: 22 Oct 07
Posts: 27
Credit: 808,821
RAC: 0
Message 37162 - Posted: 2 Nov 2018, 10:00:57 UTC - in response to Message 37161.  

I can't use the account setting because I am also pool mining gridcoin and therefore running under the pool account. The only mechanism I have is something local to the machine, like app_config.
ID: 37162 · Report as offensive     Reply Quote
BITLab Argo

Send message
Joined: 16 Jul 05
Posts: 24
Credit: 35,251,537
RAC: 0
Message 37168 - Posted: 2 Nov 2018, 14:33:05 UTC - in response to Message 37161.  
Last modified: 2 Nov 2018, 14:46:14 UTC

The memory requirements formulae are in a few posts ... Happy to pin it if anyone finds a definitive formula


I found the following for Virtualbox tasks fairly recently; apologies for not noting where:

Atlas: 3GB + (0.9GB * ncores.)
3993 for 1
4915 for 2
6759 for 4
10545 for 8

LHCb: memory for 1 thread is 2048 MB, add 1300 MB for each additional thread
3348 for 2
5948 for 4
11148 for 8

Theory: memory for 1 thread is 730 MB, add 100 MB for each additional thread
830 for 2
1030 for 4
1430 for 8


(the numbers show the memory requirement for multiple threads within one VM; the LHCb and Theory figures match what I see boinc_client pass to the vboxwrapper, so there will be a little bit more overhead needed)

I don't know what the requirements for Sixtrack are, certainly <= 512MB per task.

I don't know what the requirements for native Atlas are; I have successfully (HITS files produced!) run 4-core native Atlas on 4-core 4 GB machines without drama. I did increase BOINC's allowed memory usage from the default 50% to 85%.
ID: 37168 · Report as offensive     Reply Quote
bronco

Send message
Joined: 13 Apr 18
Posts: 443
Credit: 8,438,885
RAC: 0
Message 37185 - Posted: 3 Nov 2018, 0:57:42 UTC

Most helpful would be a web page where users could select one of the apps from a dropdown box, set the # of cores on a spin control, click a "Submit" button and get the RAM required and a bit of XML to copy 'n paste into an app_config.xml.

The page could also have a tutorial on app_config.xml format and location, how to properly paste a section into an existing app_config.xml, how to get the client to read and verify the new app_config.xml, etc.
ID: 37185 · Report as offensive     Reply Quote
BITLab Argo

Send message
Joined: 16 Jul 05
Posts: 24
Credit: 35,251,537
RAC: 0
Message 37206 - Posted: 3 Nov 2018, 14:07:45 UTC - in response to Message 37185.  

I disagree:

Most helpful would be....


... not having to hand-hack XML to make things work, in the first place.
ID: 37206 · Report as offensive     Reply Quote
bronco

Send message
Joined: 13 Apr 18
Posts: 443
Credit: 8,438,885
RAC: 0
Message 37210 - Posted: 3 Nov 2018, 14:52:34 UTC - in response to Message 37206.  

Substitute "more" for "most" if it makes it more palatable for you.
I agree with you. It shouldn't be necessary but the people who could make it so don't seem to want to.
ID: 37210 · Report as offensive     Reply Quote

Message boards : Number crunching : Local control of which subprojects run`


©2021 CERN