Increase the number of concurrent tasks beyond 8


log in

Advanced search

Questions and Answers : Macintosh : Increase the number of concurrent tasks beyond 8

Author Message
Charles Long
Send message
Joined: 31 Jul 13
Posts: 3
Credit: 304,401,460
RAC: 9,494,545
United States
Message 1530815 - Posted: 22 Jun 2014, 8:08:24 UTC
Last modified: 22 Jun 2014, 8:11:02 UTC

I'm having trouble getting the Seti client to launch more than 8 concurrent tasks at a time even when there are twice that number of available processors. This problem only exists with the OS X Seti client; the Linux clients that I am using run approximately one task per CPU. I am running the stand alone version.

1) This exists between versions of OS X, having tested 10.9.2 and 10.7.4
2) Both versions of Boinc 7.2.42 and 7.3.19
3) With and without GPU processing enabled
4) Global settings set to 0 or 100 of multiprocessors and 0 or 100% of multiprocessors
5) Setting app config to:


<app>
<name>setiathome_v7</name>
<max_concurrent>16</max_concurrent>
<gpu_versions>
<gpu_usage>.5</gpu_usage>
<cpu_usage>.5</cpu_usage>
</gpu_versions>
</app>

Or

<app_version>
<app_name>setiathome_v7</app_name>
<avg_ncpus>.5</avg_ncpus>
</app_version>



I've seen a couple threads complaining about this same issue and no resolution. I'm beginning to believe 8 concurrent threads is either hard coded or all options to change this are ignored.

I have tested other projects, such as asteroidsathome with all of the same global settings (and none of the app settings) and I get a full 16 concurrent tasks on 16 core systems. As that this is meant as a positive way to load test systems, only running on half the cores is counter to that goal. If there is no fix, I'll have to switch away from implementing Seti in our datacenters across the board.

Profile Ageless
Avatar
Send message
Joined: 9 Jun 99
Posts: 12259
Credit: 2,554,809
RAC: 801
Netherlands
Message 1530852 - Posted: 22 Jun 2014, 9:50:31 UTC - in response to Message 1530815.

What are your preferences set to for On multiprocessors, use at most N of the processors and On multiprocessors, use at most X% of the processors?

If need be, post the contents of your global_prefs.xml file and if it exists the global_prefs_override.xml file. These can be found in the data directory, default on OS X at /Library/Application Support/BOINC Data/
____________
Jord

Fighting for the correct use of the apostrophe, together with Weird Al Yankovic

Charles Long
Send message
Joined: 31 Jul 13
Posts: 3
Credit: 304,401,460
RAC: 9,494,545
United States
Message 1530857 - Posted: 22 Jun 2014, 10:12:25 UTC - in response to Message 1530852.

There are no settings as outlined in your reply (see below), anything similar is set to 0. Also, the globalprefs is the same for both projects (below), it's only setiathome that is stuck on running only 8.

I am using the stand alone boinc client.

global_prefs.xml


<global_preferences>
<source_project>http://setiathome.berkeley.edu/</source_project>
<source_scheduler>http://setiboinc.ssl.berkeley.edu/sah_cgi/cgi</source_scheduler>

<mod_time>1403420747</mod_time>
<run_on_batteries>0</run_on_batteries>
<run_if_user_active>1</run_if_user_active>
<run_gpu_if_user_active>1</run_gpu_if_user_active>
<idle_time_to_run>3</idle_time_to_run>
<suspend_if_no_recent_input>0</suspend_if_no_recent_input>
<suspend_cpu_usage>25</suspend_cpu_usage>
<leave_apps_in_memory>0</leave_apps_in_memory>
<cpu_scheduling_period_minutes>60</cpu_scheduling_period_minutes>
<max_cpus>0</max_cpus>
<max_ncpus_pct>0</max_ncpus_pct>
<cpu_usage_limit>0</cpu_usage_limit>
<disk_max_used_gb>0</disk_max_used_gb>
<disk_min_free_gb>0.1</disk_min_free_gb>
<disk_max_used_pct>90</disk_max_used_pct>
<disk_interval>60</disk_interval>
<vm_max_used_pct>75</vm_max_used_pct>
<ram_max_used_busy_pct>50</ram_max_used_busy_pct>
<ram_max_used_idle_pct>90</ram_max_used_idle_pct>
<work_buf_min_days>0.1</work_buf_min_days>
<work_buf_additional_days>0.5</work_buf_additional_days>
<confirm_before_connecting>0</confirm_before_connecting>
<hangup_if_dialed>0</hangup_if_dialed>
<max_bytes_sec_down>0</max_bytes_sec_down>
<max_bytes_sec_up>0</max_bytes_sec_up>
<daily_xfer_limit_mb>0</daily_xfer_limit_mb>
<daily_xfer_period_days>0</daily_xfer_period_days>
<dont_verify_images>0</dont_verify_images>
</global_preferences>

Profile Ageless
Avatar
Send message
Joined: 9 Jun 99
Posts: 12259
Credit: 2,554,809
RAC: 801
Netherlands
Message 1530869 - Posted: 22 Jun 2014, 11:56:24 UTC - in response to Message 1530857.

There are no settings as outlined in your reply (see below), anything similar is set to 0.

Why?


<max_cpus>0</max_cpus>
<max_ncpus_pct>0</max_ncpus_pct>

With this you only limit BOINC. Unless you do have a global_prefs_override.xml file (local preferences), you're now telling BOINC not to use any CPU cores. These settings are the first settings that BOINC will look at, any next settings in files as app_info.xml or app_config.xml isn't going to magically add CPU cores if you told BOINC already that essentially there are none for it to use. I don't know why it's using 8, but you should be glad that it does at least do that.

As I posted elsewhere in another thread:
As it's supposed to work, barring any bugs and errors possible in the various codes:

The value of On multiprocessors, use at most N processors is the absolute minimum amount of CPUs that BOINC can use. This value can be set to zero, which then also means zero (use none, not use all). Default value is use all of the available processors. Minimum can be zero but only when "% of processors" is non-zero else defaults back to 1, maximum is 9999.

The value of On multiprocessors, use at most X% of the processors is the fine tuning method with which you can set the amount of CPUs BOINC. Default set to 100%, can be set to 0%.
It is not used to fine tune the value of "use at most N", which many people seem to think.

For the website preferences, since both these values can only be set through there: when the "% of processors" is specified (i.e. nonzero), then the "use at most N" value is ignored.
Only when "% of processors" set through the web-preferences is zero, fall back to the value specified in "use at most N". Since the use of "use at most N" is not deemed future-proof, its use is being discouraged.

For the BOINC Manager local preferences: these preferences will only override those preferences that can both be set through here and through the web-preferences.
Any of the other preferences will be read from the appropriate file, but can not be changed through local means.

Only on the local preferences will the "0 means no restriction for this setting" value on the "use at most X% of the processors" preference reset the value to default use, which is 100%.
Exemplified by my computer showing it as, when going from 50% to 0%:
09/06/2014 08:56:24 | | max CPUs used: 2
09/06/2014 09:17:05 | | Number of usable CPUs has changed from 2 to 4.


____________
Jord

Fighting for the correct use of the apostrophe, together with Weird Al Yankovic

Charles Long
Send message
Joined: 31 Jul 13
Posts: 3
Credit: 304,401,460
RAC: 9,494,545
United States
Message 1530999 - Posted: 22 Jun 2014, 20:49:52 UTC - in response to Message 1530869.
Last modified: 22 Jun 2014, 20:57:55 UTC

First, allow me to correct myself:


What are your preferences set to for On multiprocessors, use at most N of the processors and On multiprocessors, use at most X% of the processors?


This was answered in the original post:

4) Global settings set to 0 or 100 of multiprocessors and 0 or 100% of multiprocessors


As to the global preferences, according to the settings page, zero means 'no restriction' in all the cases. I have tested both 0 and 100% in multiple instances, as stated above and as it is the default, and there was no change in the number of tasks, no statement as to max available CPU in the stdoutdae.txt.

In addition, my Linux hosts, which use the same global settings, do not have a 8 task limitation and use the all available cores; I have tested multiple systems with different numbers of cores and this is always the case. That and other projects on OS X, such as asteroidsathome, which use the same global settings, they also use all available cores. This limitation is exclusive to the setiathome OS X client.

Oh, and to add, if I add another project on the same OS X host, it picks up the remaining cores.

rob smith
Volunteer tester
Send message
Joined: 7 Mar 03
Posts: 8149
Credit: 52,897,682
RAC: 75,743
United Kingdom
Message 1540743 - Posted: 13 Jul 2014, 7:22:04 UTC

This looks like an error on the prefs page - 0 in this case does mean zero, not "unrestricted" - there are folks who don't want to use their CPUs for crunching. Set it to 100% and all should be happy.
____________
Bob Smith
Member of Seti PIPPS (Pluto is a Planet Protest Society)
Somewhere in the (un)known Universe?


Post to thread

Questions and Answers : Macintosh : Increase the number of concurrent tasks beyond 8

Copyright © 2014 University of California