It was 2004 when I bought my last workstation for use at home, a Siemens Fujitsu Pentium 4 tower PC. After that I shifted to notebooks as they became cheap and powerful enough to do almost everything with them I wanted to do. Even my 5 year old refurbished Thinkpad X250 is an excellent machine for pretty much all I want to do, and it handles my 21:9 monitor with a resolution of 3440×1440 pixels without breaking a sweat. Even my 7 year old X230 can easily do that, while running two virtual machines, one with Windows and one with Ubuntu alongside. But it has its limits especially for computing intensive things as I recently discovered. Not finding the performance I was looking for in the cloud for a reasonable amount of money I was wondering if a workstation at home would be something that could push the limits?
The Setup
So when I recently got an offer for a refurbished 3 year old HP Z440 workstation with a 6 core Xeon E5-1650 v4, 32 GB of RAM, a Nvidia Quadro M2000 graphics card with 4 GB RAM and a 256 GB SSD in combination with a 1 TB 3.5 hard disk thrown in for good measure for around 800 euros, I couldn’t resist the experiment and the potential opportunities.
The Use Cases
This workstation is just in the sweet spot for the things I had in mind. One area where this rig would have its benefits are for a number of tasks I run every now and then such as video transcoding and picture fixing that benefit from multi-processing. My Z440, sold as new to its former owner in 2017, has 6 cores, 12 threads, i.e. 3 times of what I have in my Thinkpad X250 notebook right now. The processor is one generation ahead of the i5-5300U processor in my notebook, i.e. about 3-4 generations away from the processor you would buy in a new notebook or workstation today. Geekbench and other comparison lists online projected a single core CPU speed advantage of around 50% compared to my notebook CPU and 5 times better multi-core performance. Impressive on the one hand but also modest on the other hand when the massive cooling equipment required as shown in the image above is considered.
I also do have a number of single-core use cases which are a tad too slow on my X250 today. While I have to use some of them on the notebook for mobility reasons, I could run others on the workstation easily as I only use them at home. So the extra 50% single-core CPU performance in combination with better memory and IO performance might just do the trick there.
The third basic application I had in mind for a workstation at home is to offload some of the virtual machines I use on my notebook on a daily basis. I do have 16 GBs of RAM in my notebook which allows me to run 2 virtual machines with Windows and Ubuntu for things I don’t want or can’t do on the Host OS (Ubuntu) and in practice this works great. But even with 16 GB of RAM I can only give around 4 GB to each if I want to be able to run two of them at the same time. That and the processor load Windows often imposes on the system when it starts background scans for viruses and software updates are a nuisance. Put a simultaneous video conference on top that requires crazy amounts of processing power, and that mobile CPU gets to its limits. So the idea was to run some of the virtual machines I use on a daily basis on the workstation so I could give more RAM and more CPU cores to each VM.
Why A Refurbished Workstation?
So why did I buy a used workstation rather than a new one? Price of course! 3 years ago, the HP Z440 with this processor, amount of RAM and graphics card would have easily cost around €2500. A new workstation with at least 6 cores, 32 GB of RAM and a decent graphics card would cost at least €1300-1500 euros today. That’s an amount of money I wouldn’t want to spend. For €800 euros, however, I think it was just the sweet spot in terms of price and performance in the areas described above that could work for me.
Some First Results
All of this is theory, so how does the workstation perform in practice and how does it push the limits of my current notebook computing approach? In short, I am very happy with the results and I will go into the details in a number of follow up posts. But here’s one teaser: As I often have to rotate, shrink and convert large numbers of JPG images I wrote a tool for it that automates the job. After enhancing it for multi-processing, i.e. several images are processed simultaneously, I saw very nice speed improvements on the notebook. Running these jobs on 1000 images, for example, still takes 13 minutes on my X250 notebook with 2 mobile optimized cores, 4 threads and no other work being done on the notebook at the same time. On the Z440 with 6 cores and 12 threads the same operation runs in 2.5 minutes, a 5 times speed improvement over multi-processing on the notebook and an almost 8 times improvement over the initial single-thread implementation of my tool which required 20 minutes for the same job!
So far so good, stay tuned for lots of thoughts on the topic and results in follow up posts!