Message boards : Number crunching : Benefits of hyper-threading on an i7-4790
Message board moderation
Author | Message |
---|---|
Send message Joined: 15 Jan 06 Posts: 637 Credit: 26,751,529 RAC: 653 |
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.) |
Send message Joined: 15 Jan 06 Posts: 637 Credit: 26,751,529 RAC: 653 |
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. |
Send message Joined: 5 Aug 04 Posts: 21 Credit: 9,084,238 RAC: 0 |
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) |
Send message Joined: 15 Jan 06 Posts: 637 Credit: 26,751,529 RAC: 653 |
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. |
Send message Joined: 15 May 09 Posts: 4540 Credit: 19,022,240 RAC: 20,762 |
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! |
Send message Joined: 22 Feb 06 Posts: 491 Credit: 30,992,465 RAC: 14,585 |
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! |
Send message Joined: 15 May 09 Posts: 4540 Credit: 19,022,240 RAC: 20,762 |
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. |
Send message Joined: 22 Feb 06 Posts: 491 Credit: 30,992,465 RAC: 14,585 |
DDR4 ram in 64Gb is about £500! |
Send message Joined: 15 May 09 Posts: 4540 Credit: 19,022,240 RAC: 20,762 |
DDR4 ram in 64Gb is about £500! For my Birthday or Christmas list then. |
Send message Joined: 18 Feb 17 Posts: 81 Credit: 14,024,464 RAC: 5,225 |
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. 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. |
Send message Joined: 7 Aug 04 Posts: 2187 Credit: 64,822,615 RAC: 5,275 |
DDR4 ram in 64Gb is about £500! 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. |
Send message Joined: 7 Aug 04 Posts: 2187 Credit: 64,822,615 RAC: 5,275 |
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? 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. |
Send message Joined: 18 Feb 17 Posts: 81 Credit: 14,024,464 RAC: 5,225 |
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'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. |
Send message Joined: 15 May 09 Posts: 4540 Credit: 19,022,240 RAC: 20,762 |
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! |
Send message Joined: 15 Jan 06 Posts: 637 Credit: 26,751,529 RAC: 653 |
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. |
Send message Joined: 18 Feb 17 Posts: 81 Credit: 14,024,464 RAC: 5,225 |
In the U.S., the price of RAM has come down a lot in the last few months. 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! |
©2024 cpdn.org