Server Upgrade Rant!

Server Upgrade Rant!
I love to rant about this stuff, so here we go!

My servers have been something I have always taken pride in, as I enjoy not only self-hosting stuff for personal use, but also for my friends. It’s sort of a hobby of mine, and has the added benefit of keeping me sharp when it comes to technology in general. It’s funny, because my home setup can often times be more complicated than the servers that I manage at work!

With that out of the way, my current server is feeling a little… old. It’s slow. It’s made with parts from an old PC. It’s time to upgrade!

Technically, I did upgrade once already (probably three years ago now) but my motherboard died. Instead of RMAing the motherboard, I just used my old PC parts to get the server back online, and have been running on that since. I could have RMAd the motherboard, but honestly, the CPU in that board was only one generation newer, and wouldn’t have really given me much performance gain. Even had I RMAd that board, I would be in the same situation I am in now- underpowered.

The current server rig has served me well. It has hosted many game-servers in its day, from Minecraft, Factorio, Space Engineers, etc… It continues to host Teamspeak 3, along with other things like my security camera software. It also hosts Matrix / Riot messaging services via a Linux VM. Not only that, but it also is my main VR Gaming Rig, since it is in my home theater space.

Simply put, the ol’ Intel 3930k is overworked. 6 cores 12 threads used to be beast mode, but for so many tasks, it isn’t cutting it.

Let’s outline the requirements!

Here are the potential tasks that I need servers to accomplish. Based on these tasks, we can begin to think about what hardware would give the best performance. Some tasks will be heavily multi-threaded. Others will use few threads, and have either a heavy or light workload. Some have light or heavy storage speed requirements Let’s go over each.

  • Game Server Hosting
  • Matrix / Riot Chat
  • Teamspeak 3
  • Render Farm
  • Storage Server (Future)

Each of these offers varying workloads which I must discuss due to ONE SIMPLE FACT: You can’t build a machine that’s one-size fits all. It’s just not possible. There are always pros and cons to each hardware build. While today, with the new Ryzen CPUs, we are getting closer to a no-compromises solution, we aren’t entirely there yet. STILL- I think for most people, we actually ARE there. Most people aren’t going to need more than what the 3900x offers, let alone the 3950x. Both offer great single-core performance while providing lots of high-level workstation multi-threaded performance. In fact, it may actually be enough for me to get the 3950x and call it a day, since it can do server tasks AND single threaded tasks.

And yet, there are rumors about the new Ryzen Threadripper 3rd Generation CPUs. This rumored top-end chip sounds like the perfect server CPU for a home server. Next year, it is anticipated that AMD will release their 64 core, 128 thread MONSTER of a CPU. Having a CPU that goes into the triple digit thread count space… That sounds literally INSANE. Insane to the point where I am frothing at the mouth at how cool that sounds, and it’s beginning to impact the rational part of my brain which says “you don’t NEED it”

Ryzen 3950x VS Ryzen Threadripper

Because of the rumors of this 64c 128t behemoth, I had begun to plan building a TRUE dedicated server which will reside within my half-rack. I have begun planning the software side of things. I will run HyperV VMs within Windows 10 Pro, and “rent” our VMs to my friends whenever they want to host a server. I’ll simply give them remote access to it, pre-allocating however many cores / memory they may need. I’ll have a ton of CPU headroom for a TON of VMs, which is something I cannot do at the moment since my current CPU has to share resources between the host OS, and all the other VMs… Not so much with Threadripper. To put it into perspective, my current server is only 6 cores, 12 threads… The new threadripper, with 64 cores, 128 threads, will have approximately 10x more cores and threads to work with. Insane.

However, all this power comes at a price- single-threaded performance. Ohh, and literally the price, which is rumored to be over $2000 USD. While it is unclear how capable the new threadripper CPUs will be in single threaded tasks, it is extremely likely that gaming, or other heavily single-threaded tasks will suffer compared to MUCH cheaper, more mainstream gaming CPUs such as the 3900x.

Not a big deal right? This IS a server after all.

Well, it DOES sort of matter in my case. See, my current server is also my primary VR Gaming Rig! That means that single-threaded workloads are a priority for the VR machine. Not only that, but some un-optimized game servers are heavily single threaded (looking at you MINECRAFT JAVA EDITION) so a Threadripper CPU would not be ideal!

For most people, this shouldn’t even be a question. With the added cost of Threadripper, plus the worse single-core performance, not to mention the already excellent multi-threaded performance of the 3950x, there’s no reason to get anything else. However, if you are literally insane (like me), than you can’t resist owning a 128 thread machine. So it’s decided- I’m getting a Threadripper 3rd gen CPU next year.

But not only that, I’m ALSO getting the 3950x.

AMD… You are killing it right now

I know I’m a certain type of person- someone who wants no compromises, and just happens to have the cash to spend. If I want 128 threads to play with, I need Threadripper. If I want single threaded performance, I need to get the 3950x. Hell, I could get the 3900x if I just need it for VR Gaming, however, I also want it to serve as a platform for server tasks which require single-threaded performance, such as Minecraft. It’s a tall order building two machines, but it comes at the benefit of getting the best of both worlds.

  • 3950x, A VR Gaming Machine / Single Threaded Server
  • Threadripper 3rd Gen, A Bulk Processing, HyperV VM, General Purpose Server

So I’m getting BOTH as of now. It could be that I decide that I’m flat broke, and I can’t afford Threadripper when the flagship CPU comes out early next year, but in the meantime, I will be buying the 3950x AT LAUNCH this month, with plans to migrate to it as soon as it arrives.

Also, for simplicity sake, I need to name these machines something recognizable… How about…

  • 3950x Machine = FifthCore – tbd
  • Threadripper 3rd Gen Machine = DREADRIPPER = best name ever

So, what are you actually going to run on a Threadripper 3rd gen CPU?????

I’m glad you asked. It’s actually a question I ask myself! So many possibilities… So many options! What to do!

Well, as a baseline, I’m taking everything that I can from the VR gaming machine / server “FifthCore” and putting it on “DREADRIPPER” – that includes every current server task it has. HyperV VMs including the one hosting Matrix / Riot Chat, along with my server template which I use for making VMs for friends. I will take my security camera software and put it on there as well, along with Teamspeak 3. That will be all of the “constantly running” tasks it currently has, which will allow me to actually POWER OFF FifthCore when I’m not using it. Sure, I can still host a Minecraft server on it when I need the power, but under normal circumstances, it can be turned off.

I’m also going to look into using DREADRIPPER to render my Davinci Resolve 16 projects, as a remote renderer. I’ll also look at using it as a remote Blender Server Render Farm. These tasks should be heavily threaded, allowing the CPU to really stretch its legs. However, these tasks also have the benefit of having GPU support, which for those of you wondering, generally beats out a CPU for parallel processing tasks. In this case, it is unclear if a Threadripper machine would beat my 2080ti GPU when it comes to rendering, but it’ll be interesting to see! Regardless, by adding an old GPU into the Threadripper machine, it should be able to utilize both the GPU and CPU power to render, making it effectively beast mode.

Also, encoding. With the power of Threadripper, it’ll handle basically any encoding challenge you could throw at it. Currently, I’m running Plex on my NAS, which isn’t very powerful. It can’t handle multiple streams, or 4k content at all.

Overall, I want to push the limits of what sort of processing I can do. I want to host some useful stuff for me and my friends to use, and I want to self-host more DIY replacements for common online content. My biggest online “Swiss army knife” has been my self-hosted solutions. My Password manager, BitWarden. Matrix / Riot Chat. All the tools that my Synology NAS gives me, from Synology Drive (dropbox), Synology Note Station (OneNote), and Download Station (sweet download manager), it is basically all the online capabilities I would want, all while keeping my reliance on commercial solutions to a minimum. A Threadripper machine is an investment into those ideals, although an expensive one. Although, for what you get, it’s technically a relatively great DEAL.

TLDR

With my current server being old and slow, I’m looking forward to upgrading to the 3950X this month, and adding a Threadripper 3rd generation server into the mix early next year. It’ll be expensive, but the wombo-combo that these two machines will provide will give me the very best performance in both single-threaded and multi-threaded tasks.

I look forward to self-hosting more and more in the coming year, and let me know if you need something hosted! I want to make it happen.