Message boards : Theory Application : Version 263.80 doesn't respect local CPU number limit?
Message board moderation

To post messages, you must log in.

AuthorMessage
Pavel Hanak

Send message
Joined: 5 Mar 06
Posts: 13
Credit: 30,870,563
RAC: 8
Message 36989 - Posted: 9 Oct 2018, 20:51:28 UTC
Last modified: 9 Oct 2018, 20:53:44 UTC

Hi all, I just want to check if anyone else has this issue. One of my machines has 16c/32t AMD TR1950X, but in Boinc Manager local preferences I limited number of CPUs to 94%, so that I will always have at least 2 threads free (for better responsivity). All other projects and apps respect it, but not the new 263.80 Theory app. Whenever Theory runs, the CPU always jumps to 100%, even though I limited it in app_config.xml to 2c/4t. Then I tried editing the app_config.xml to 1c/1t, but it didn't help, at least not for the WUs in progess. I will see if it helps for new WUs, though that may take a while, because Theory doesn't have much work at the moment. This particular machine runs W10 x64 Pro and Boinc 7.12.1.
ID: 36989 · Report as offensive     Reply Quote
computezrmle
Volunteer moderator
Volunteer developer
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 15 Jun 08
Posts: 2402
Credit: 225,611,152
RAC: 121,525
Message 36996 - Posted: 10 Oct 2018, 7:58:39 UTC - in response to Message 36989.  

I limited number of CPUs to 94%, so that I will always have at least 2 threads free

0.94 * 32 > 30
This will configure 31 threads.
To configure 30 threads you may set an arbitrary value between 90.7 % and 93.7 %.
You may check your client messages for a line like this:
Number of usable CPUs has changed from x to y.



I limited it in app_config.xml to 2c/4t

BOINC doesn’t make any difference between "cores" and "threads".
As soon as you enable hyperthreading in your computer's BIOS your TR is seen as 32 core CPU.

You may consider to make your hosts visible via the project's web preferences and to post your app_config.xml here.


As a rule of thumb Theory VMs need a calculation factor of 1.3.
Thus 23 concurrently running VMs will saturate 30 CPU cores.
Unfortunately the standard monitoring tools don't show this, especially under windows as it doesn't measure a value that corresponds to the "load average" of linux.
ID: 36996 · Report as offensive     Reply Quote
Pavel Hanak

Send message
Joined: 5 Mar 06
Posts: 13
Credit: 30,870,563
RAC: 8
Message 37002 - Posted: 10 Oct 2018, 18:05:41 UTC - in response to Message 36996.  

Nice math exercise, but in reality, BM reports "max CPUs used:30" when I set them to 94%. Don't ask me why.

The 30% CPU over-utilization seems about right, when I lowered the CPU limit to 85%, the real utilization hovered around 96-97% level when two Theory WUs were running. However, I'm confused by your last line - it doesn't seem the Windows Task Manager was reporting the utilization wrong, the computer got suddenly very sluggish when Theory was running. The over-utilization seems to be real, not just measurement error.

In any case, here is my app_config.xml which I got in another forum thread (and modified). For some reason, there were both cores and threads specified in it:

<app>
    <name>Theory</name>
      <max_concurrent>6</max_concurrent>
  </app>
  <app_version>
    <app_name>Theory</app_name>
    <avg_ncpus>2.0</avg_ncpus>
    <plan_class>vbox64_mt_mcore</plan_class>
    <cmdline>--nthreads 4 --memory_size_mb 1050</cmdline>
  </app_version>

ID: 37002 · Report as offensive     Reply Quote
computezrmle
Volunteer moderator
Volunteer developer
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 15 Jun 08
Posts: 2402
Credit: 225,611,152
RAC: 121,525
Message 37003 - Posted: 10 Oct 2018, 19:47:41 UTC - in response to Message 37002.  

What client version do you use?
How many cores do your VMs configure according to stderr.txt?

Questions that could quickly be answered if you would make your hosts visible.


The app_config.xml you posted is incomplete.
A complete file would look like this:
<app_config>
  <app>
    <name>Theory</name>
    <max_concurrent>6</max_concurrent>
  </app>
  <app_version>
    <app_name>Theory</app_name>
    <plan_class>vbox64_mt_mcore</plan_class>
    <avg_ncpus>2.0</avg_ncpus>
    <cmdline>--memory_size_mb 830</cmdline>
  </app_version>
</app_config>

"--nthreads x" should be obsolete.
If configured "x" should be set to the same value than avg_ncpus.
"--memory_size_mb 830" is set to the default for a 2-core setup.
A higher value doesn't hurt if you have enough total RAM.
ID: 37003 · Report as offensive     Reply Quote

Message boards : Theory Application : Version 263.80 doesn't respect local CPU number limit?


©2024 CERN