climateprediction.net home page
Benefits of hyper-threading on an i7-4790

Benefits of hyper-threading on an i7-4790

Message boards : Number crunching : Benefits of hyper-threading on an i7-4790
Message board moderation

To post messages, you must log in.

AuthorMessage
Jim1348

Send message
Joined: 15 Jan 06
Posts: 637
Credit: 26,751,529
RAC: 653
Message 58755 - Posted: 12 Sep 2018, 19:54:41 UTC

It is a bit hard to determine the effects of hyper-threading, since the work units are long and not entirely uniform. So I thought the best way was to look at the write rates. The more writing done, the more work done. Since I have the BOINC Data folder on a ramdisk, and CPDN is the only project I run on that machine, I can use SsdReady to determine the write rates quite easily.

The first run was on 4 virtual cores, running one sam25 and three pnw25. The write rate (stabilized after 1 hour of monitoring) was 78 GB/day.

The second run was on 6 virtual cores, running one sam 25, four pnw 25 and one anz50. The write was 92 GB/day.

So it looks like running on 6 cores improves the output by 18%. That is nice; not great, but worthwhile.
(Also, the ramdisk usage increased from 4.5 GB to about 6 GB, and will probably grow a little more by the time they are finished.)
ID: 58755 · Report as offensive     Reply Quote
Jim1348

Send message
Joined: 15 Jan 06
Posts: 637
Credit: 26,751,529
RAC: 653
Message 58758 - Posted: 13 Sep 2018, 19:47:30 UTC - in response to Message 58755.  

After another day of crunching, the writes have improved to 100 GB/day, though with a little different set of projects (five pnw25 and one anz50). But I expect that the higher writes are due mainly to an improvement in each project, rather than the difference in the projects.

If that is the case, then going from four to six cores yields an improvement of 100/78 = 1.28, or a 28% improvement. That is more in line with what I see for virtual cores on other projects, and shows that it is worthwhile here too. The risk is that the longer run times gives more chances of errors if something goes wrong with the machine. But I have a UPS, and run it 24/7, which usually works.

Going to eight cores would yield only a little more total output, due to decreasing returns on the additional virtual cores, and not worth the lengthened times to complete each work unit insofar as I am concerned.
ID: 58758 · Report as offensive     Reply Quote
ML1

Send message
Joined: 5 Aug 04
Posts: 21
Credit: 9,084,238
RAC: 0
Message 58980 - Posted: 9 Nov 2018, 4:45:13 UTC - in response to Message 58758.  
Last modified: 9 Nov 2018, 4:46:13 UTC

Thanks for that, interesting.

There's various sources claiming that (Intel) hyperthreading can give at most a 30% increase on total throughput at the expense of greater latency (you don't get anything like x2 CPU cores!). Your +28% seems to bear that out.

The "Joker" for the performance is for what memory bandwidth is required to keep the CPU threads busy and what the CPU cache can support before getting 'poisoned' by too many cache misses...

So... All very task specific!

But in short:

For well behaved sympathetic tasks with sympathetic cache and memory bandwidth needs, then hyperthreading can give you a gained +30% overall throughput. However, that can go negative if the hyperthreading allows (or tries to push) too much activity and the cache is overwhelmed...

Always good to measure what really happens and the 'writes per day' is a good yardstick of progress. Good stuff and interesting for the max number of simultaneous tasks... (IE: Don't max out!)


Thanks,

Happy fast crunchin'!
Martin
See new freedom: Mageia Linux
Take a look for yourself: Linux Format
The Future is what We all make IT (GPLv3)
ID: 58980 · Report as offensive     Reply Quote
Jim1348

Send message
Joined: 15 Jan 06
Posts: 637
Credit: 26,751,529
RAC: 653
Message 58983 - Posted: 9 Nov 2018, 13:28:20 UTC - in response to Message 58980.  

Thanks. I would like to try that type of test on my new Ryzen 2700 build, but that is running Linux (Ubuntu 18.04), so I can't get many work units there.
But I did manage to snag a HadCM3 that finished in only 2 1/2 days, running on full cores (SMT disabled in the BIOS).
https://www.cpdn.org/cpdnboinc/results.php?hostid=1470448

I probably won't be running more CPDN on that machine, but others might like to check out how the AMD chips do.
ID: 58983 · Report as offensive     Reply Quote
Profile Dave Jackson
Volunteer moderator

Send message
Joined: 15 May 09
Posts: 4535
Credit: 18,966,742
RAC: 21,869
Message 59860 - Posted: 22 Mar 2019, 9:03:23 UTC

An interesting thread on the BOINC forums

https://boinc.berkeley.edu/forum_thread.php?id=12877

Someone is proposing using a dual cpu server with 32 cores/cpu giving a total of 128 cores with hyperthreading enabled.

That machine could in the wrong hands trash a lot of tasks!
ID: 59860 · Report as offensive     Reply Quote
Profile Alan K

Send message
Joined: 22 Feb 06
Posts: 491
Credit: 30,946,057
RAC: 13,930
Message 59875 - Posted: 22 Mar 2019, 22:58:50 UTC - in response to Message 59860.  

In theory using the maxim of 2Gb of RAM per core then it would need 256Gb RAM to fully utilise all its capacity which could mean 64Gb memory units (assuming the board has four slots). It is also possible that the bus speed just wouldn't be able to cope with the number of data transfers. Hope this guy's pockets are deep!
ID: 59875 · Report as offensive     Reply Quote
Profile Dave Jackson
Volunteer moderator

Send message
Joined: 15 May 09
Posts: 4535
Credit: 18,966,742
RAC: 21,869
Message 59876 - Posted: 23 Mar 2019, 5:58:09 UTC - in response to Message 59875.  

Hope this guy's pockets are deep!


I haven't looked up prices but suspect the ram alone will cost more than my two computers together.
ID: 59876 · Report as offensive     Reply Quote
Profile Alan K

Send message
Joined: 22 Feb 06
Posts: 491
Credit: 30,946,057
RAC: 13,930
Message 59889 - Posted: 23 Mar 2019, 23:39:25 UTC - in response to Message 59876.  

DDR4 ram in 64Gb is about £500!
ID: 59889 · Report as offensive     Reply Quote
Profile Dave Jackson
Volunteer moderator

Send message
Joined: 15 May 09
Posts: 4535
Credit: 18,966,742
RAC: 21,869
Message 59890 - Posted: 24 Mar 2019, 8:00:19 UTC - in response to Message 59889.  

DDR4 ram in 64Gb is about £500!


For my Birthday or Christmas list then.
ID: 59890 · Report as offensive     Reply Quote
wolfman1360

Send message
Joined: 18 Feb 17
Posts: 81
Credit: 14,024,464
RAC: 5,225
Message 60090 - Posted: 6 May 2019, 0:49:55 UTC - in response to Message 58983.  

Thanks. I would like to try that type of test on my new Ryzen 2700 build, but that is running Linux (Ubuntu 18.04), so I can't get many work units there.
But I did manage to snag a HadCM3 that finished in only 2 1/2 days, running on full cores (SMT disabled in the BIOS).
https://www.cpdn.org/cpdnboinc/results.php?hostid=1470448

I probably won't be running more CPDN on that machine, but others might like to check out how the AMD chips do.


This is a very interesting and informative thread - thank you!

I currently have 16 GB in this machine (Ryzen 1800x). For the tasks that Windows is able to snag would 12 CPD tasks running simultaneously be a bottleneck or be digging pretty deep into virtual memory/swap and eventually error out?
I've been hesitating adding it since the last time I did I got tons of errored out tasks when I forgot to set a limit and was gone for a few days. I actually didn't realize just how many errors I'd caused until I came back to the project 6 months later, so I'm a lot more cautious when adding various projects to machines and don't just set it and forget it. It's also why I may tend to ask obvious questions but I just want to triple check.

I currently have a Ryzen pro crunching away - but it's a dedicated server with 64 GB of ram so no issues there so far, and it's crunching other projects other than CPD as well so it's hard to tell exactly how much ram is needed per task.
ID: 60090 · Report as offensive     Reply Quote
Profile geophi
Volunteer moderator

Send message
Joined: 7 Aug 04
Posts: 2185
Credit: 64,822,615
RAC: 5,275
Message 60091 - Posted: 6 May 2019, 2:32:03 UTC - in response to Message 59890.  

DDR4 ram in 64Gb is about £500!


For my Birthday or Christmas list then.

In the U.S., the price of RAM has come down a lot in the last few months. Thank goodness as it was outrageous last year.
ID: 60091 · Report as offensive     Reply Quote
Profile geophi
Volunteer moderator

Send message
Joined: 7 Aug 04
Posts: 2185
Credit: 64,822,615
RAC: 5,275
Message 60092 - Posted: 6 May 2019, 2:39:50 UTC - in response to Message 60090.  

I currently have 16 GB in this machine (Ryzen 1800x). For the tasks that Windows is able to snag would 12 CPD tasks running simultaneously be a bottleneck or be digging pretty deep into virtual memory/swap and eventually error out?
I've been hesitating adding it since the last time I did I got tons of errored out tasks when I forgot to set a limit and was gone for a few days. I actually didn't realize just how many errors I'd caused until I came back to the project 6 months later, so I'm a lot more cautious when adding various projects to machines and don't just set it and forget it. It's also why I may tend to ask obvious questions but I just want to triple check.

On the Windows front, a 16 core CPU with 16 GB of RAM won't hit the swap file and all the tasks can be contained in RAM. It's cache contention and perhaps memory contention that will slow things down. I'm not sure at what number of tasks on that CPU you would reach the point of diminishing returns.
ID: 60092 · Report as offensive     Reply Quote
wolfman1360

Send message
Joined: 18 Feb 17
Posts: 81
Credit: 14,024,464
RAC: 5,225
Message 60095 - Posted: 6 May 2019, 3:28:16 UTC - in response to Message 60092.  

I currently have 16 GB in this machine (Ryzen 1800x). For the tasks that Windows is able to snag would 12 CPD tasks running simultaneously be a bottleneck or be digging pretty deep into virtual memory/swap and eventually error out?
I've been hesitating adding it since the last time I did I got tons of errored out tasks when I forgot to set a limit and was gone for a few days. I actually didn't realize just how many errors I'd caused until I came back to the project 6 months later, so I'm a lot more cautious when adding various projects to machines and don't just set it and forget it. It's also why I may tend to ask obvious questions but I just want to triple check.

On the Windows front, a 16 core CPU with 16 GB of RAM won't hit the swap file and all the tasks can be contained in RAM. It's cache contention and perhaps memory contention that will slow things down. I'm not sure at what number of tasks on that CPU you would reach the point of diminishing returns.


I'll start with 12, just to be safe.
Should I be changing any settings in boinc? I already have the tasks set to suspend in memory.

I have a few other things that like to take up some ram so I'll have to remember to close them too. One day I'll get 32 GB of ram for $200 plus CAD and all of this will be a distant memory. It's amazing that 16 gb felt like the world a few years ago but feels like 8 gb now.
ID: 60095 · Report as offensive     Reply Quote
Profile Dave Jackson
Volunteer moderator

Send message
Joined: 15 May 09
Posts: 4535
Credit: 18,966,742
RAC: 21,869
Message 60097 - Posted: 6 May 2019, 6:47:59 UTC

It's amazing that 16 gb felt like the world a few years ago but feels like 8 gb now.


My first PC, a Tandy, had either 128 or 256K of ram, I can't remember which. I remember buying the chips and inserting them in the sockets to upgrade my first self build to 4MB and saving for a 40MB hard disk drive!
ID: 60097 · Report as offensive     Reply Quote
Jim1348

Send message
Joined: 15 Jan 06
Posts: 637
Credit: 26,751,529
RAC: 653
Message 60099 - Posted: 6 May 2019, 12:55:46 UTC - in response to Message 60091.  

In the U.S., the price of RAM has come down a lot in the last few months.

I bought 16 GB (two 8 GB modules) for less than $90. USD a month ago. It is the fast stuff too (3000 MHz), and AMD compatible, which is hard to find.
It was too good a buy to pass up. Now I just have to figure out a use for it.
ID: 60099 · Report as offensive     Reply Quote
wolfman1360

Send message
Joined: 18 Feb 17
Posts: 81
Credit: 14,024,464
RAC: 5,225
Message 60101 - Posted: 6 May 2019, 15:43:06 UTC - in response to Message 60099.  

In the U.S., the price of RAM has come down a lot in the last few months.

I bought 16 GB (two 8 GB modules) for less than $90. USD a month ago. It is the fast stuff too (3000 MHz), and AMD compatible, which is hard to find.
It was too good a buy to pass up. Now I just have to figure out a use for it.

Oh wow! I'm running a prebuilt Lenovo Legion tower, so I'm honestly not sure what this motherboard supports. I'd hate to spend the money buying 3000 when it only supports up to 2667. Right now it's got 2400, so I might even go with that, but ultimately we'll see what good prices come along in Canada.

My first PC, a Tandy, had either 128 or 256K of ram, I can't remember which. chips and inserting them in the sockets to upgrade my first self build to 4MB and saving for a 40MB hard disk drive!

Incredible how things have progressed over these years. I always love knowing about history and how these things came to be. It's all so fascinating. I wish I had known about boinc back in the days of single core computing, too. After months of crunching what an accomplishment to finally send work to the server!
ID: 60101 · Report as offensive     Reply Quote

Message boards : Number crunching : Benefits of hyper-threading on an i7-4790

©2024 cpdn.org