Thursday, October 5, 2017

Summer PC upgrade: $340 = 12 cores, 24 threads, 48GB RAM, with a Minty OS

I Love the smell of new hardware in the morning!

I really wanted a parallel processing monster of a machine, and while my "6" *cough-3-cough* core 6300FX worked fine, simply not everything would scale nicely on it. In a way, it's gotten better as software is more optimized now, but my own scripting really lagged compared to running on my core i5. The FX 6 core cpu's are really 3 modules with a pair of pipelines sharing some units. Floating point for example gets shared, so performance drops in those scenarios.


AMD's Ryzen is here. Looking at Ryzen 1700, that $300 would have gotten me a nice new 8 core beast of a CPU, but I'd still have to purchase memory and motherboard. Had I gone with 24GB of memory, this upgrade would be $260. DDR4 for a modern CPU is about $160 for 16GB. A decent upgrade here would be closer to $600, and I wasn't ready to spend that much.


Time to embrace old Xeons. Of note, Xeon boards are incredibly expensive, even old ones. Buy used, but be prepared to return them - those pins are fragile. I purchased a EATX board that wouldn't post. Ebay return went smoothly, and I ended up with a decent ATX dual xeon board. 

Rounding up:

Xeon x5670 (2)..........$70
Asus Z8na-d6c..........$110
Hynix 48GB DDR3 1600...$160
___________________________
Total..................$340

I could have gone with half the RAM and saved a bunch, but I figure I can mess around with a 32GB ramdrive and still have oodles of memory left over.


I probably went a little farther back in time than intended but the performance is surprising. I picked up a "Gulftown" Xeon pair - x5670 at $35 a processor. This is 7 years old, hence the price being equivalent to a raspberry pi...








Obligatory Htop ;)


After all this time, I'm still a compiz fan.


/proc/cpuinfo shows that the CPU's idle at only 1.6GHz saving power. Cores in use jump to 2.93GHz.



It's so nice to install an OS and have it detect everything. Add-in cards like sound (no sound on xeon boards usually), USB3.0 (predates the board), USB devices like the WiFi AC adapter - nothing to worry about. Linux Mint is awesome ;)


https://linuxmint.com/


Why go with old Xeons? Why not new ones?

Well, my reasoning is cost, and a lack of substantial improvement in IPC with newer versions. Here's a general comparison on how this old architecture fared over time using geekbench.

Disclaimer - looking at 1 benchmark of different architectures, is not a very accurate way to gauge performance. A different architecture may offer specific advantages or disadvantages for that benchmark. Newer models of xeons are an evolution of the previous model where much of the architecture stays the same so I'm still considering this a fair comparison across the xeons.


Looking at 4 cores and ~3.0GHz as the 6 core models aren't as common throughout frequency ranges.

Scores obtained from geekbench - https://browser.geekbench.com/v4/cpu/ using a median score from the median page, strictly for 4 cores (multiple results from the same person considered as one result):

Looking at prices is tricky. The gulftown can be used in dual processor config at $17 a processor. Intel's 1xxx lines however cannot (and are cheap as a result). Lets consider the closest in spec 2xxx series, here the performance numbers can skew because the CPUs start using higher turbo rates - but this shows how price jumps for newer multi-CPU models.

2x4 cores:

2010 Gulftown....X5667 3.06GHz.........2737/15270 - $34
2010 Gulftown....X5677 3.47GHz.........2897/16724 - $70
2012 Ivy Bridge..E5 2637-v2 3.5GHz.....3125/18078 - $460
2013 Haswell.....E5 2623-v3 3.0GHz+....3373/17361 - $960
2015 Broadwell...E5 2623-v4 2.6GHz.....3427/17053 - $960
2015 Broadwell...E5 2637-v4 3.5GHz.....3510/22771 - $2400
2016 Skylake.....Unable to find close comparison
2x6 cores (my pick):
2010 Gulftown....X5760 2.97GHz.........2599/23882 - $70
1x8 cores (new AMD alternative over my budget):
2017 Ryzen.......1700 3.0-3.7GHz.......4244/22447 - $300

To be fair to Intel, the new architecture isn't ALL about IPC. Frequency and the number of cores has increased, while dropping power usage - a pretty tough feat. However the cost can be high. e.g. A recent high core count xeons pair:


2016 Broadwell...E5 2699-v4 2.2-3.6GHz.3000/66305 - $8000


I'm looking for a general comparison on how this architecture has aged. How does single core and multicore performance change with each generation? Is it worth it buying old xeons? 

By the numbers, this old architecture holds up surprisingly well. I'm sure you can probably get some hardware features for encryption or video encoding on the more modern architectures; some more SIMD etc. Keep in mind that xeon architecture evolved from previous generations, so it's rare for there to be a huge difference.


Going for the 6 cores, I'm sacrificing some single core speed, for a lot more multi-processes performance. I think my CPU governor choice may be contributing to a lower than expected single core performance compared to others on geekbench. I'll have to experiment with that.

The Ryzen is an interesting addition in these comparisons. It's a single CPU and was released as I was building my machine. That single CPU score is pretty solid. I'm quite surprised the old xeons can keep up in multicore score (12 cores vs 8 though...). Granted, the benchmark may simply be favorable to AMD's Ryzen architecture (completely different from Intel's), but it's a strong result regardless.

Hardware.info ran benchmarks of a more practical nature:

NB: Gulftown used above is the last iteration of Nehalem in below's charts.
NB: Following charts are from hardware.info. Click the link above for their full article.



The CPUs used in hardware.info testing are:
Nehalem:      Intel Core i7 875K 2.93-3.6GHz, 4 cores
Sandy Bridge: Intel Core i7 2600K 3.4-3.8GHz, 4 cores
Ivy Bridge:   Intel Core i7 3770K 3.5-3.9GHz, 4 cores

Haswell:      Intel Core i7 4790K 4.0-4.4GHz, 4 cores
Broadwell:    Intel Core i7 5775C 3.3-3.7GHz, 4 cores

NB: Gulftown was the last of the Nehalem line.


It should be noted that the biggest jump on their testing also matches the big jump in processor frequency. 

Basically, we ARE getting improvements in each new processor family, but they aren't huge in general. Over time it does add up - in single core performance, the newest chips are maybe 20-40% faster. Multicore increases don't seem to be as dramatic, but they are indeed there. The question is is it worth it to you?

If you should consider going old xeon route for whatever reason - namely you found a cheap motherboard and have access to cheap EC memory, then consider this wiki page listing all xeons.

That said, Ryzen is a pretty solid pick if you have the money for a full setup. I think for an upgrade, the old xeons were pretty solid ;)

10 comments:

  1. Hmm, I've built almost the same system. Difference is pair of L5640 and 24Gb RAM. Chosen L56xx to make it as silent as possible. Though fitting a cpu heatsinks on this mobo is a tough quest. Spent some euros on heatsinks that didn't fit.

    ReplyDelete
    Replies
    1. I've found that some brackets have a large area around the screw holes. The size means capacitors and other components are in the way.

      I think it was this build where I ground down the bracket corners to get it to fit :
      https://imgur.com/qjFq9xd

      Delete
  2. Very good article, thank you for the time. I am at the same situation actually. I think you would like to see this newer comparisons:

    Intel Xeon X5670 vs AMD Ryzen 7 2700X vs AMD FX-6300
    https://www.cpubenchmark.net/compare/Intel-Xeon-X5670-vs-AMD-Ryzen-7-2700X-vs-AMD-FX-6300-Six-Core/1307vs3238vs1781

    And Intel Xeon X5670 vs AMD Ryzen 7 2700X vs AMD FX-8350 Eight-Core (the best value CPU among desktop class)

    https://www.cpubenchmark.net/compare/Intel-Xeon-X5670-vs-AMD-Ryzen-7-2700X-vs-AMD-FX-8350-Eight-Core/1307vs3238vs1780

    I love AMD's cost-benefit relation...

    ReplyDelete
    Replies
    1. At this time, you may want to consider waiting a little. This upgrade is already a year and a half old.

      I would strongly suggest staying away from bulldozer - the AMD 6300 and 8350 here. I moved from a 6300 and even on this old CPU, single threaded performance was better in certain apps, and most games. The big kicker was the huge multithreaded boost in rendering video. Bulldozer used pairs of pipelines that shared modules e.g. the "6 core" 6300 really only had 3 floating point modules.

      If you're interested in performance/cost, you can consider the previous generation - 1700, or the 6 core 2600. If you have your mind on Intel's older server CPUs, you can save a lot of headache buying used HP workstations - the 800 series will accept the x56xx CPUs like I used here, and the 820/840 series will use newer xeon CPUs - but this is really only if you NEED this much multithreaded performance. Your use matters - The 6 and 4 core Ryzens or quad core intel core 8th gen is easily enough is you're just into gaming.

      The reason I suggest waiting is AMD is gearing up to release the 3000 series in a few months. In addition to more cores and higher clocks, Intel will counter with lower prices to current CPUs, and thrown together new models to compete. Older generations of Ryzen will have to fall in price too. This is in 5 months, so up to you if the wait is worth it.
      https://wccftech.com/amd-ryzen-3000-cpus-x570-motherboards-and-radeon-navi-gpus-7nm-launch-rumor/

      Delete
    2. Great news, thank you once more. I am in the video biz but my first preoccupation right now it is not about the computer. My main concern is to find a way to boost my vintage M42 mount lens with Panasonic's GH4. By the way, I found your blog search for "DIY focal reducer". I really need to improve the performance of the generic M42-M4/3 adapter, which has a 0,7 crop factor. And I need very much to achieve 0,5 or even less 0,4 factor in order to gain more field and light... This kind of post inspires me a lot: https://stargazerslounge.com/topic/198393-how-to-make-a-focal-reducer/

      Delete
    3. I've since moved to using a used Sony a7 (first gen). It's a pretty big quality difference, though controls aren't as nice. I still like my EM10, but that is mostly being used for macro and microscopy.

      A used A7 if you're interested, would set you back maybe $600-$700, often with a standard lens which can probably be sold to make it even more reasonable. It would accomplish both goals (brighter with ISO handling, wider...)- and if you're like me with an unhealthy collection of old manual glass, you'll be using the same lenses on both cameras anyway.

      That project looks interesting. I hope it works out, or is at least fun. DIY camera stuff is always fun :) You may want to inquire about any photos he's taken with that setup. I'm curious how the single lens would affect edges.

      Delete
    4. Hey, Ryan! I found the making of that "DIY focal reducer": https://www.youtube.com/watch?v=9l66Sch9PWY

      I also thought about buying another camera. I used to shoot with a Canon Mark II. Long ago I gave up FF... So, for a change, I decided I'd rather give "DIY" a try.

      Another system would mean lots of new adapters and, you know... And this is a bit frustrating...

      I heard a lot about Sony's A7 and how great it works in low light scenes. I heard a lot about Sigma's special color sensor too.

      Talking about DIY projects, have you ever seen this one?
      https://vimeo.com/43590845

      Delete
  3. Finally, I found yesterday a DIY focal reducer lens project with some photos: http://www.4photos.de/camera-diy/Super-Fast-Tele-Lens.html

    ReplyDelete
  4. This is the best post I've found till now with lots of photos examples:
    http://forum.mflenses.com/viewtopic.php?t=57639

    ReplyDelete
  5. My Gmail gets buried in spam these days. Just saw your comment. Have not seen that one. Where did they get the lenses for that?

    Signs looks interesting but that the iso capability is pretty behind. For a studio though it looks pretty good where you're applying enough light.

    ReplyDelete