Welcome to MilkyWay@home

suggestion - "# of cores to use" option, this will speed up Intels Hyperthread cpus..

Message boards : Application Code Discussion : suggestion - "# of cores to use" option, this will speed up Intels Hyperthread cpus..
Message board moderation

To post messages, you must log in.

AuthorMessage
doug

Send message
Joined: 6 Jun 10
Posts: 1
Credit: 247,194
RAC: 0
Message 40708 - Posted: 27 Jun 2010, 16:47:10 UTC


I have an Intel i7 with 4 cpus. It has hyperthreading, which your "benchmarker" is detecting as 8 cpus, and thus it is launching 8 simultaneous tasks, but it really only has 4 cpus.

My understanding is that Intel hyperthreading has a few extra storage registers to allow fast context switches, which is somewhat useful in general computing but it really doesn't help at all in compute-intensive applications like BOINC.

In fact, it hinders. Doing twice as many tasks as you have CPUs actually will take more than twice as long.... as the overhead of context switches eats into valuable computation time.

------

For an immediate fix, I'd suggest allowing the user to enter the maximum number of cpus to use. I'd be willing to bet the overall throughput will increase!


regards
Doug Fortune
Pentam Aerospace



ID: 40708 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Profile The Gas Giant
Avatar

Send message
Joined: 24 Dec 07
Posts: 1947
Credit: 240,884,648
RAC: 0
Message 40712 - Posted: 27 Jun 2010, 17:54:15 UTC

In my experience I've always had better throughput with HT on than off. I've typically seen about a 40% increase in the amount of work done. Mind you this is on my now aging P4's.

You could try limiting the %CPUs in your BOINC Manager preferences.
ID: 40712 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
[PST]Howard
Avatar

Send message
Joined: 31 Aug 07
Posts: 21
Credit: 21,004,179
RAC: 0
Message 40948 - Posted: 16 Jul 2010, 16:58:06 UTC - in response to Message 40708.  

Copy the following, paste it into notepad, then save as cc_config.xml in your data directory, then restart BOINC:

<cc_config>
<log_flags>
<task>1</task>
<file_xfer>1</file_xfer>
<sched_ops>1</sched_ops>
<cpu_sched>0</cpu_sched>
<cpu_sched_debug>0</cpu_sched_debug>
<rr_simulation>0</rr_simulation>
<debt_debug>0</debt_debug>
<task_debug>0</task_debug>
<work_fetch_debug>0</work_fetch_debug>
<unparsed_xml>0</unparsed_xml>
<state_debug>0</state_debug>
<file_xfer_debug>0</file_xfer_debug>
<sched_op_debug>0</sched_op_debug>
<http_debug>0</http_debug>
<proxy_debug>0</proxy_debug>
<time_debug>0</time_debug>
<http_xfer_debug>0</http_xfer_debug>
<benchmark_debug>0</benchmark_debug>
<poll_debug>0</poll_debug>
<guirpc_debug>0</guirpc_debug>
<scrsave_debug>0</scrsave_debug>
<app_msg_send>0</app_msg_send>
<app_msg_receive>0</app_msg_receive>
<mem_usage_debug>0</mem_usage_debug>
<network_status_debug>0</network_status_debug>
<checkpoint_debug>0</checkpoint_debug>
</log_flags>
<options>
<save_stats_days>7</save_stats_days>
<dont_check_file_sizes>0</dont_check_file_sizes>
<http_1_0>0</http_1_0>
<ncpus>4</ncpus>
<max_file_xfers>8</max_file_xfers>
<max_file_xfers_per_project>4</max_file_xfers_per_project>
<report_results_immediately>1</report_results_immediately>
<suppress_net_info>0</suppress_net_info>
<disallow_attach>0</disallow_attach>
<os_random_only>0</os_random_only>
<zero_debts>1</zero_debts>
</options>
</cc_config>
ID: 40948 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote

Message boards : Application Code Discussion : suggestion - "# of cores to use" option, this will speed up Intels Hyperthread cpus..

©2024 Astroinformatics Group