mersenneforum.org  

Go Back   mersenneforum.org > New To GIMPS? Start Here! > Information & Answers

Reply
 
Thread Tools
Old 2009-01-24, 03:28   #1
Jud McCranie
 
Jud McCranie's Avatar
 
Oct 2007

2·32·5 Posts
Default Hyperthreading

I have one computer that has hyperthreading. With the new version of Prime95 I notice that I can assign two workers. How much more throughput will I get by assigning two workers on a hyperthreaded CPU? (My guess 10-15%).
Jud McCranie is offline   Reply With Quote
Old 2009-01-24, 03:34   #2
starrynte
 
starrynte's Avatar
 
Oct 2008
California

22×59 Posts
Default

On my Pentium 4, I get about 6% more throughput, but that varies depending on the programs I use that day.
Essentially, say 1 worker takes some amount of time. "Normally" it would take double that amount of time to run 2 workers. With hyperthreading though, 2 workers takes just slightly less than two times the amount of time. (Multithreading LL tests does work reasonably well on hyperthreading though)
starrynte is offline   Reply With Quote
Old 2009-01-24, 04:59   #3
petrw1
1976 Toyota Corona years forever!
 
petrw1's Avatar
 
"Wayne"
Nov 2006
Saskatchewan, Canada

22·17·67 Posts
Default

Quote:
Originally Posted by starrynte View Post
On my Pentium 4, I get about 6% more throughput, but that varies depending on the programs I use that day.
Essentially, say 1 worker takes some amount of time. "Normally" it would take double that amount of time to run 2 workers. With hyperthreading though, 2 workers takes just slightly less than two times the amount of time. (Multithreading LL tests does work reasonably well on hyperthreading though)
Not me. I have two single-core hyperthreading PIV's; a 2.4 Ghz and a 3.4 Ghz. Both actually run about 3-5% SLOWER when I choose 2 CPUs.

I have NOT tried v25.9, though.
petrw1 is offline   Reply With Quote
Old 2009-01-24, 16:42   #4
starrynte
 
starrynte's Avatar
 
Oct 2008
California

22×59 Posts
Default

Quote:
Originally Posted by petrw1 View Post
Both actually run about 3-5% SLOWER when I choose 2 CPUs.
This occasionally happens with mine, but 90% of the time that's because some program I'm running is "stealing" CPU cycles. So assuming average usage, you'd get anywhere from 10% increase to 5% decrease in performance, depending on the programs being used...
starrynte is offline   Reply With Quote
Old 2009-01-25, 01:46   #5
Jud McCranie
 
Jud McCranie's Avatar
 
Oct 2007

2×32×5 Posts
Default

Thanks, I have enough workers running that I don't think using the hyperthreading is really worth it for me.
Jud McCranie is offline   Reply With Quote
Old 2009-01-31, 22:51   #6
Maybeso
 
Maybeso's Avatar
 
Aug 2002
Portland, OR USA

2×137 Posts
Default I just want to be sure ...

On my P4 I found that running one LL thread and one TF thread gave me at least +15%. The task manager would show 100% CPU. In the evenings when I was usually home, I had the TF thread stop and task manager showed 50% each thread, as expected.

Now on version 25, it shows 100% with only one worker doing just LL. Is the LL using both threads better via the "helper"? If I can specify different work types for each worker I will try using 2. Otherwise I don't see how to do it.
Maybeso is offline   Reply With Quote
Old 2009-02-03, 03:00   #7
starrynte
 
starrynte's Avatar
 
Oct 2008
California

3548 Posts
Default

<assuming you are doing DC/LL tests>
If you set 1 worker, multithreading 1, I believe there will be 1 worker using both logical cores (for a total of 1 thread working on the assignment, there's no helper thread!). This, naturally, uses all the CPU. (Though it may appear as only 50%, I've read somewhere that this was because of hyperthreading, but I'm not completely sure)
If you set 1 worker, multithreading 2, there will be 1 worker along with a helper thread (for a total of 2 threads working on the assignment). This does NOT use 100% CPU (at least not on mine), only something between 80 and 90. (100% CPU usage may occur though, if you have a lot of other programs running)
If you set 2 workers, multithreading 1, there will be 2 workers (for a total of 1 thread working on each worker's assignment). This uses 100% CPU.
If you set 2 workers, multithreading 2, Prime95 will warn you as this means each worker is using 2 threads, for a total of 4 threads. Yet there are only 2 CPU's for 4 threads to run on, meaning DECREASED performance.

Quote:
Is the LL using both threads better via the "helper"?
An LL with a helper = 1 worker, multithreading 2. In the long run, performance will be decreased (slightly), but if all you want to do is finish the assignment, a helper thread will speed up the LL. (Though be warned that if the helper thread is affected in performance, the main thread is also.)
Quote:
If I can specify different work types for each worker
You can set a different work type for each worker that you have.
starrynte is offline   Reply With Quote
Old 2009-02-22, 19:25   #8
Unregistered
 

1,409 Posts
Default

I have a Intel I7, which is a quad core with hyperthreading. So right now I'm running 4 workers at 2 multithreading each, as my cpu has 8 logical cores with hyperthreading on and my cpu usage is at 50%. Shouldn't it be at least around 80%-100%
  Reply With Quote
Old 2009-02-26, 02:15   #9
starrynte
 
starrynte's Avatar
 
Oct 2008
California

EC16 Posts
Default

oh and also regarding apps "stealing" cpu cycles, for those who use Digsby (an IM client) there is apparently a "research module" that runs distributed computing projects after the computer has been idle for 5 minutes. (see http://blog.digsby.com/archives/68 for more details) To disable, go to Help -> Support Digsby and disable "Help Digsby Conduct Research" (enabled by default thus far)
starrynte is offline   Reply With Quote
Old 2009-03-04, 01:40   #10
xorbe
 
xorbe's Avatar
 
Feb 2009

73 Posts
Default

Quote:
Originally Posted by Unregistered View Post
I have a Intel I7, which is a quad core with hyperthreading. So right now I'm running 4 workers at 2 multithreading each, as my cpu has 8 logical cores with hyperthreading on and my cpu usage is at 50%. Shouldn't it be at least around 80%-100%
I think TF only uses 1 thread. If you do LL, then it will use any number of threads I think. Not sure about P-1, as I only did one of those so far.
xorbe is offline   Reply With Quote
Old 2009-03-04, 02:49   #11
cheesehead
 
cheesehead's Avatar
 
"Richard B. Woods"
Aug 2002
Wisconsin USA

22·3·641 Posts
Default

Quote:
Originally Posted by xorbe View Post
I think TF only uses 1 thread. If you do LL, then it will use any number of threads I think. Not sure about P-1, as I only did one of those so far.
Seems to me that beneficial multithreading ought to be a matter of whether or not FFTs are involved. That is, the same benefit for LL would apply to P-1 and ECM, so thread-splitting could be deferred to the FFT code common to all three. I've looked briefly for it in the source code, but haven't found where thread-splitting is done.

Last fiddled with by cheesehead on 2009-03-04 at 02:50
cheesehead is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Hyperthreading TheMawn Hardware 12 2013-08-15 00:03
Hyperthreading Primeinator Information & Answers 13 2010-05-20 15:15
Should hyperthreading be used? Electrolyte Hardware 5 2006-11-08 01:29
Hyperthreading dave_0273 Hardware 5 2003-12-12 13:22
Hyperthreading Prodigious Software 4 2002-12-17 12:31

All times are UTC. The time now is 09:55.

Mon Mar 8 09:55:00 UTC 2021 up 95 days, 6:06, 0 users, load averages: 1.50, 1.27, 1.18

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.