Message boards : Number crunching : The most efficient cruncher rig possible
Author | Message |
---|---|
bkil Send message Joined: 11 Jan 20 Posts: 97 Credit: 4,433,288 RAC: 0 |
I would like to sponsor BOINC (Rosetta at present) by building a rig (or multiple rigs) just for this purpose. Let's say I'd like to spend $1000 over the course of 5 years. This should include electricity as well, assume $5/watt over this interval. I plan to sell the hardware every 5 years for let's say 50% on average and again purchase something considered efficient at that time. Note that hardware viewed as top-notch today lose more value over time (i.e., are overpriced at introduction), while separate commodity hosts lose less (i.e., will sell easier). For example, a single cycle could include purchasing hardware for $800, consuming $600 of electricity (120W) and then selling the hardware at the end of the iteration for $400. Purchasing from the second hand market is also an option if it makes sense at all, but please be reasonable (base your recommendation on average prices attainable at most places). For the sake of reducing the scope of the argument, let's just assume 1GB of RAM requirement per slot and that the bare minimum number of peripherals are needed (in case of a desktop: motherboard, CPU+HSF, RAM, PSU, cables). From a science contribution perspective, what is the most efficient cost allocation and hardware choice (phone/SBC/laptop/desktop, RAM, CPU)? |
torma99 Send message Joined: 16 Feb 20 Posts: 14 Credit: 288,937 RAC: 0 |
I would like to sponsor BOINC (Rosetta at present) by building a rig (or multiple rigs) just for this purpose. Let's say I'd like to spend $1000 over the course of 5 years. This should include electricity as well, assume $5/watt over this interval. I recently upgraded my rig to run Rosetta, GPUGrid, WCG and Ralph. I was over your budget with Ryzen 7 3700x 32gigs of Ram, and an RTX2070. But for just Rosetta, I might start with Ryzen 3600x, with a fairly decent B450 mobo (MSI Mortar Max), and 16 Gigs of Ram. With this config there is an upgrade headroom for you in the CPU front. As I see in every 3 years or so, you can easily buy a CPU which was at least 1 tier or 2 tiers higher than you had, for example nowadays you can buy an i7 7700k second hand for a price of a i5 6500 or 6600. If I can keep up with the electricity bill I will aim myself for an 3950x in maybe 4 years without the need to upgrade anything else. For cooling you will be fine with the stock cooler with a well ventillated case. For PSU look for Seasonic Focus 450 Gold, If you want a stronger GPU, then a stronger one, but 450watts is enough almost for anything. For a second hand build I'd stay with Intel and I7 7700k. It has a built in graphics chip, so no need for a GPU 8/8 c/t so you can crunch many work units at once. |
Mod.Sense Volunteer moderator Send message Joined: 22 Aug 06 Posts: 4018 Credit: 0 RAC: 0 |
Certainly lots of factors to consider there. I am not well-versed in PC hardware, but I would suggest at least 2GB of memory per active thread, and as large of a on-chip memory cache as you can find. Rosetta Moderator: Mod.Sense |
ProDigit Send message Joined: 6 Dec 18 Posts: 27 Credit: 2,718,346 RAC: 0 |
Electricity on average here costs 10ct per kWh. So, for a 400W system running 24/7 you'd be paying $400 on electricity. If you want to add cooling cost (AC), you'd have to be looking at double that (takes about a 500W ac unit to keep the room at the same temp). That's 900W on electricity. However, if you have a spare room, attic, or garage, where room temperature doesn't matter (eg:it has a small window open for outside air), your annual electric cost would be $400. I would recommend investing in a ryzen 3900x. It costs a little more at $400, + Mobo $100 and ram $50. It doesn't use that much more on electricity than a lower model, but has plenty more threads and core frequency. It's also recommend to buy a cheap closed loop water-cooling system. A single fan 140mm, or even a 120mm will work, as long as it's not in an enclosed case with inadequate cooling. You'll also need a fan cooling the VRMs (I use a $20 80mm case fan, and it's plenty). The rest (PSU) you can get from an old PC. The whole system would run at under 250W. So the overall cost with running cost of 1 year would be $800. Add cooling, and it'll be ~1300 (~1000 if you use it to heat the house and only need AC in the hottest part of the day). We're hoping that the AM4 socket can be later used for upgrades. It appears that this socket is limited to 16 CPU cores. However, it may be possible AMD could create a future compatible processor on 5nm with 16 cores and 64 threads. It won't be much faster as a 16/32 like the 3950x, but might be more energy efficient. In other words, socket AM4 is pretty much maxed out. At the moment, the only sockets that are 'future proof', are the tr4 (threadripper) boards, but the processor alone is probably outside of your budget. |
bkil Send message Joined: 11 Jan 20 Posts: 97 Credit: 4,433,288 RAC: 0 |
I think we can leave out the GPU for now as Rosetta doesn't support it and I think the answer gets ever more complicated, probably warranting a thread of its own. Does the choice of motherboard make a big difference for Rosetta where we aren't expecting to tune or upgrade anything? Do you think it is cost effective to upgrade the CPU in such a rig at the end of a cycle or even midway compared to selling it as a whole and always getting the most recent technology? If it does, isn't this extra performance costing more power consumption? Does it deliver enough value for the extra investment? Does DDR4 speed or latency make a measurable difference to the contribution? |
bkil Send message Joined: 11 Jan 20 Posts: 97 Credit: 4,433,288 RAC: 0 |
Yes, the price is similar here, ~12ct/kWh comes out to about $5/W for 5 years. Thus a 400W load will cost $2,000 for each 5 year cycle, but that would be produced by multiple machines I guess. We can assume that the machine can be placed in the hallway, basement or some other non-living space so no extra HVAC is needed. So as the noise wouldn't be an issue either and we're probably choosing a reduced-TDP CPU, I think we can skip water cooling for now. I'm okay with a completely headless build over ssh. Would a cheaper FSP PSU do in this case? It's easy to compute that non-efficient PSU isn't worth it for 24/7 operation. However, if you investigate the efficiency curve of bigger PSU, they usually are the best for larger loads and give sub-par performance on a < 100W load that we are building here, again costing extra in the energy bill. |
bkil Send message Joined: 11 Jan 20 Posts: 97 Credit: 4,433,288 RAC: 0 |
Thank you all for your insights and the concrete model numbers to get me started! We could do some research to find the exact numbers (as surely TDP is only used for binning), but just as a back of the envelope calculation, let's assume 20W idle consumption for the PSU + motherboard + RAM + CPU, 85% efficiency for the PSU and assume TDP as the loaded extra power for the CPU. That comes down to a 5-year power cost of: * 65W TDP: $500 (Anand: 90W for 3700x and 2700) * 91W TDP: $635 (Anand: 95W for i7-7700K) * 95W TDP: $659 (Anand: 117W for 1800X) * 105W TDP: $720 (Anand: 142W for 3900x, +10W for 3950x) Let's assume $70 for 16GB RAM ($105 for 24GB) and $45 for an FSP350-APN 85%+ PSU. Let's grab a cheap motherboard around $60 for now and optimize this choice later. These are not the best prices, just a random webshop around here. Let's approximate the relative performance between the models based on Whetstone: https://boinc.bakerlab.org/rosetta/cpu_list.php * 2700 65W 8C/16T 3.2GHz $200 66.91GFLOPS * 2700x 105W 8C/16T 3.7GHz $200 77.38GFLOPS * 3600x 95W 6C/12T 3.8GHz $233 63.13GFLOPS * 3700X 65W 8C/16T 3.6GHz $400 85GFLOPS * 3900x 105W 12C/24T 3.8GHz $500 124.84GFLOPS * 3950x 105W 16C/32T 3.5GHz $1000 162.74GFLOPS * i7-7700k 91W 4C/8T 4.2GHz $100 48.8GFLOPS The i7 is rare around here and it's ridiculously overpriced, but let's assume an unfair bargain for every needed component. Then the total cost of ownership is (purchase - sell + operation): * 2700: (70+45+60+200) / 2 + 500 = $688 * 2700x: (70+45+60+200) / 2 + 720 = $908 * 3600x: (53+45+60+233) / 2 + 659 = $855 * 3700x: (70+45+60+400) / 2 + 500 = $787 * 3900x: (105+45+60+500) / 2 + 720 = $1075 * 3950x: (140+45+60+1000) / 2 + 720 = $1343 * i7-7700k: (25+40+30+100) / 2 + 635 = $733 Dividing the total cost with the potential performance hints at the cost to benefit ratio: * 2700: $10/GFLOPS * 2700x: $12/GFLOPS * 3600x: $14/GFLOPS * 3700x: $9.2/GFLOPS (Anand measurement: $10.8/GFLOPS) * 3900x: $8.6/GFLOPS (Anand: $10.3/GFLOPS) * 3950x: $8.3/GFLOPS * i7-7700k: $15/GFLOPS Feel free to compute what would happen if you upgrade your CPU midterm. Note that all of the above GFLOPS are inflated because HT doesn't increase performance by 100%, it's more like 30-50%. Just for the kicks, let's see this one: * Raspberry Pi 4 $70 8.24GFLOPS (Impl 0x41 Arch 8 Variant 0x0 Part 0xd08 Rev 3) Using PXE can spare you the SD card but it still needs a PSU for around $10, although I guess you could gang a bunch of these onto a single PC PSU as well. Electricity should cost you less than $30. So that adds up to: * Raspberry Pi 4: (80 / 2 + 30) / 8.24 = $8.5/GFLOPS So according to Whetstone, a Raspberry Pi 4 easily compares to a Ryzen 3950x as an investment! Too bad that's where the back of the envelope calculation breaks down, as the rPi is much better in Whetstone than in aiding BOINC research according to my observation. Still, it's good to know it can be considered one of the more efficient alternatives overall. From this it shows that both 3700x and 3900x would be within budget and both are excellent performers. Although if I was given a choice to purchase either 3 hosts of 3700x vs. 2 hosts of 3900, I'd probably go for the 3700x as it should be cooler and thus more silent and probably a little easier to sell. Maybe this could also enable a little more undervolting or overclocking potential. It's also nice to have more hosts if you need to repurpose or donate hardware to schools or charities: more workstations = more happy students. If you think this analysis is flawed or you have some other choices or strategies with which one could allocate a given amount of money in a recurring manner for hardware & electricity, I'm awaiting your feedback. |
Mod.Sense Volunteer moderator Send message Joined: 22 Aug 06 Posts: 4018 Credit: 0 RAC: 0 |
Does DDR4 speed or latency make a measurable difference to the contribution? With an application thread that's routinely taking 500-1000MB? Certainly, memory access time is a big deal. Rosetta Moderator: Mod.Sense |
dcdc Send message Joined: 3 Nov 05 Posts: 1831 Credit: 119,526,853 RAC: 6,993 |
I would ignore any benchmark scores and base this entirely on the RAC that a given CPU typically generates. Also pcpartpicker.com might help. I would be surprised if an 8 core Ryzen system with stock cooling and a cheap low power 2nd hand GPU didn't come out as the best option, although the 1600AF might be worth looking at too. And a decent PSU - I tend to stick with Seasonic. I wouldn't consider upgrading anything - high end CPUs retain their value so remain expensive so it's usually better value to buy new. A3700X should generate around 11k per day at stock speed. My Pi 4 running 3 threads generates 400. Alternatively there are often deals on old rack mount servers, but they will use more power than a new 7nm Ryzen. I've got a DL380 which was around £200 and does a similar throughout to the 3700X. I need to check the power draw of both though. |
Grant (SSSF) Send message Joined: 28 Mar 20 Posts: 1675 Credit: 17,738,677 RAC: 22,912 |
A3700X should generate around 11k per day at stock speed.I'd hope for more than that out of it wth 8c/16t. I'm hoping my i7-8700K will make it to around 10k or so, and that's only 6c/12t I notice there's a 40min or more difference between Run time & CPU Time on your results (16hr Target CPU Run time? I get around 4min difference on 8hr Target CPU Run time Tasks). So either the system has the CPU doing quite a bit other than crunching, or you'e got "Use at most 100% of CPU time" set to less than 100%. Grant Darwin NT |
bkil Send message Joined: 11 Jan 20 Posts: 97 Credit: 4,433,288 RAC: 0 |
Considering that a Ryzen 3700X consumes more than 20 times as much than a Raspberry Pi 4, it would be really important to know the exect numbers here. We would need volunteers to measure both the power consumption and the productivity of both of them in a minimal configuration to see. |
bkil Send message Joined: 11 Jan 20 Posts: 97 Credit: 4,433,288 RAC: 0 |
I fully agree that we must compare and tweak a given configuration according to the intended application (in this case for Rosetta). However, given the amount of dimensions, we must start from somewhere. And where could we get reliable metrics in an aggregated and indexed form? It's unfortunate that the host pages don't allow robots and WU-prop doesn't seem to get updates nowadays: http://wuprop.boinc-af.org/results/delai.py When going through results on the profiles of other members, I see that 3 cores on a Raspberry Pi 4 produces about 700-800 points a day. Note that if you run zram and a bit of swap you could probably run on 4 cores and reach 1k/day. I see as you only have this set up only recently, you need to wait some more for your averages to go up, but you can verify your progress on the graphs (it is flipping between 650-1200 credit/day): https://www.boincstats.com/stats/-1/host/detail/346676938/lastDays I can see than an Atom Z3735F produces a comparable amount of credits, if not less: https://www.boincstats.com/stats/-1/host/detail/326349437/lastDays It was also my finding that second hand systems are almost always lousy crunchers, except for maybe ultra efficient mobile processors. Just comparing the above stats to operating some legacy machines according to the same metrics: * Q6600: 105W TDP, 10.05GFLOPS, $71/GFLOPS (non-HT) * Athlon X2 4000+: 65W TDP, 4.39GFLOPS, $110/GFLOPS (non-HT) * Phenom II 1055T: 95W TDP, 16.57GFLOPS, $40/GFLOPS (non-HT) * i5-6500: 65W TDP, $33/GFLOPS (non-HT) * G5400: 58W TDP, $25/GFLOPS (HT) * 1017U (13W from the wall): $21/GFLOPS (non-HT) You can probably reduce non-HT ones by at least 30% to match the previous HT numbers. |
dcdc Send message Joined: 3 Nov 05 Posts: 1831 Credit: 119,526,853 RAC: 6,993 |
I'm using it quite heavily so that's probably it. It's probably waiting for RAM while in use a lot of the time. Everything is set to 100% though. |
bkil Send message Joined: 11 Jan 20 Posts: 97 Credit: 4,433,288 RAC: 0 |
I wouldn't like to sidetrack the main discussion with this, but I've been keeping track of my contribution in the past few days from mostly >2GB RAM/slot machines. I found a single case where my peak RSS reached 2.8GB (!), one reached 1.75GB, and dozens of others were in the range of 308-867MB, while the overall average was 507MB. Given a large enough number of threads (16-24 in this case), I think 1GB/slot sounds sufficient. Also if you use memory compression and kernel same-page merging you can get away with much less, but this again is an advanced topic. |
bkil Send message Joined: 11 Jan 20 Posts: 97 Credit: 4,433,288 RAC: 0 |
If this is your host, the daily graphs hint at the possibility to get 15k/day from it, depending on what you did on the peak days show: * https://stats.free-dc.org/stats.php?page=hostbycpid&cpid=fb168306446a06ce688f731c6792830a |
Grant (SSSF) Send message Joined: 28 Mar 20 Posts: 1675 Credit: 17,738,677 RAC: 22,912 |
I'm using it quite heavily so that's probably it.That'd do it. It's not likely to be waiting for RAM, just that the CPU is doing things other than crunching. So if you make heavy daily use if it, that'd explain the discrepancy between CPU time & Run time on that system (on the other couple of systems i checked out there was next to no difference at all). Grant Darwin NT |
Sid Celery Send message Joined: 11 Feb 08 Posts: 2119 Credit: 41,179,074 RAC: 11,480 |
I think we can leave out the GPU for now as Rosetta doesn't support it and I think the answer gets ever more complicated, probably warranting a thread of its own. I'm very interested in this discussion and perhaps unduly focussed on motherboards as I've managed to blow two - the most recent being a few weeks ago <sob> While starting with a AMD FX8120 CPU and moving up to a AMD FX8370, I also started with an Asus M5A99FX Evo MB (melted some sockets into the motherboard while I was inexperienced with overclocking and overdid the heat) and more recently an Asus M5A99FX Pro 2.0 even at a more reasonable overclock. Now with an Asus Sabertooth 990FX (v1.1 - couldn't find a v2.0 at short notice) Point being, a slightly above average MB didn't survive as long as the CPU, so my next MB will be a more resilient one to survive the prospect of a CPU upgrade along the way Also, another vote for good cooling, especially if overclocking. I re-cased my PC for better airflow last year and took the opportunity to replace an AIO watercooler from a single 120mm fan to double 140mm fans. Highly effective |
dcdc Send message Joined: 3 Nov 05 Posts: 1831 Credit: 119,526,853 RAC: 6,993 |
I guess it depends where you are/ambient temps as to whether stock cooling is sufficient. My basement rarely gets above 15°C, even if it's 25 outside. I'm sure some of you have higher temps to contend with than that 😉 |
bkil Send message Joined: 11 Jan 20 Posts: 97 Credit: 4,433,288 RAC: 0 |
I had built a few rigs myself in the past, but nothing extreme. In my mind, stock cooling by definition should serve the purpose of keeping the CPU at safe temperatures, ideally below thermal throttling even under full load. Surely they can't make such a promise if you operate the machine in the Sahara or if you pack your case with 6 power hungry GPUs and 4 HDDs, but it should still operate reasonably well for normal use cases in most household conditions in Europe for example. If it doesn't, you are entitled to return it and get your money back or sue for it. I do acknowledge that compared to aftermarket solutions, stock coolers can leave your CPU hotter, consume more power, spin faster, produce more noise, take more space, look uglier and die earlier. They may or may not leave you headroom for overclocking. However, in our use case, the machine should be stationed far from humans and will not be overclocked for efficiency reasons. Running the CPU hotter, especially with extra power needed when overclocking, may reduce the chip's lifetime, but as we plan to ditch it after 5 years anyway, it doesn't matter that now it's life expectancy has dropped from 15 years to 14 years or so. Note that from the top choices mentioned up until now, the 3700X with 65W TDP should be a very easy target with possibly even headroom for overclocking and I'd reasonably believe that it could cope with any load under any realistic household climate without HVAC indefinitely. I would be surprised if you'd have to use it in a 15C room in order for it to operate. The 3900X with 105W TDP isn't the most demanding CPU on the market but that could appear to be pushing the limit a bit more. Still nothing to be afraid of according to this review: For running stock the Ryzen 9 3900X doesn’t need a big cooler strapped on for maximum performance and it certainly doesn’t require liquid cooling. Even when enabling PBO you won’t gain much more performance by upgrading the cooler. We're not saying you shouldn’t upgrade the cooler for lower temperatures and quieter operation, simply that by doing so you won’t squeeze much extra performance.I don't feel a liquid cooler justified for a 1% gain in performance if you add up its price and its power consumption. I don't think that a company as big as AMD would risk their name with offering sub par solutions, as malfunctioning cooling would also increase their warranty and support costs. They had honestly decided not to bundle coolers with CPUs that they felt couldn't be dealt with properly, like with the 3950X. Here is their product line: https://www.amd.com/en/technologies/cpu-cooler-solution |
Sid Celery Send message Joined: 11 Feb 08 Posts: 2119 Credit: 41,179,074 RAC: 11,480 |
I guess it depends where you are/ambient temps as to whether stock cooling is sufficient. My basement rarely gets above 15°C, even if it's 25 outside. I'm sure some of you have higher temps to contend with than that 😉 It's down to me. I overclock within an inch of the computer's life, then expect it to run 247 so temps are always up into the 60s (max 72C) - and if they aren't I try to ramp it up a bit further! It's something of a miracle they last me 3-4yrs come to think of it... |
Message boards :
Number crunching :
The most efficient cruncher rig possible
©2024 University of Washington
https://www.bakerlab.org