I’ve done lots of posts, but never an actual product review. But enough people asked me about the workstation I am using to run virtual machines, so I thought it was a good time to start. First, I have used workstation-class machines for many years, running Hyper-V with a lot of RAM and disk space, averaging probably 20-30 virtual machines running at any particular time (supporting various configurations and scenarios). When I left Microsoft, the workstation that I had used for years was left behind.
While there are plenty of folks that would have suggested building your own PC for this, there was one very specific reason I went with a prebuilt device: When building a PC, there is a real risk of damaging the (fragile) pins when installing the CPU — I have first-hand experience with that. That’s not a huge issue with a processor that costs $100-200 (lesson learned), but when you’re talking about a workstation and looking at 12+ core CPUs (e.g. an AMD ThreadRipper), the risk is much higher. So, there was a benefit of buying a ready-to-go device.
In the end, I zeroed in on the Lenovo ThinkStation P620, running a 12-core AMD Threadripper Pro 3945WX processor. That’s an entry-level configuration (and yes, it’s a big device), but generally I don’t stress the processors — I just need lots of memory and disk space, and the overall specs for the device will show that there is lots of expandability (probably excessively so). As an entry-level workstation, it had an entry-level workstation video adapter, an NVidia Quadro P620, with support for four attached monitors connected via Mini-DisplayPort. Given that I typically don’t even have a monitor attached to this computer (I use RDP to access the machine, which stays tucked under my desk), this is overkill, but not terribly unusual for a workstation.
What I was really looking for was expandability, to support large amounts of memory and disk space. This PC has 8 DIMM slots supporting 64GB DDR4 PC4-3200 ECC RDIMM. The entry-level configuration had 16GB in one DIMM, which I obviously was going to expand (and I can find RAM cheaper than upgrading to a higher configuration via Lenovo). It also included a single M.2 512GB NVMe drive, an empty M.2 slot, and plenty of additional drive bays for SATA drives (although you would probably be better off with a PCIe expansion card for more M.2 cards instead of using SATA drives, unless you already had them — see my SSD blog for more info on that).
I waited until I received the device to purchase the upgrades I wanted to add: 128GB of RAM (2×64) and 2TB M.2 PCIx 3.0 NVMe storage. That was mainly so I could see the internal configuration:
From that, you can see some interesting things: The CPU has two fans and a heat sink (toward the bottom, just right of center). The memory slots on either side of the CPU have their own cooling fans (with a sleeve that covers them). The M.2 slots (just above center, left of center) have a heatsink that covers them (important because they can get quite hot, which then can cause performance throttling or worse). There are six PCIe slots, one of which has the video card in it. The drive bays at the top of the picture support 2.5″, 3.5″ or 5.25″ drives using adjustable rails (and all cables are included and connected by default). There are also 5.25″ drive bays accessible from the front (bottom right in this photo) if you want a DVD drive for some reason.
The Samsung 970 EVO Plus 2TB M.2 NVMe that I installed sits under the M.2 heatsink. Lenovo even included the screw needed to anchor the M.2 card.
Just above the CPUs, you can see the two 64GB RDIMMs that I added to expand the memory to 144GB. (Yes, there might be a little performance hit from not having matching sets of RDIMMs, but I don’t really care, nor will I be able to notice.) Researching the RAM needed for this machine was the most difficult part of the process. The Reddit BYOPC crowd eventually pointed me to https://shopblt.com, which I had never heard of, but they had what I needed, this item.
Looking at the back panel, you can see the standard ports (sound, PS/2), six USB connectors, one 10G Ethernet connection, the six PCIe slots with the 4 Mini-DP video ports, and the power connector.
If you look closely, you’ll see one additional PCIe card that I just installed: I needed an additional Gigabit Ethernet port, so I added a dual-port PCIe card today. It would be nice if the machine had two built-in, but for an extra $30 I now have three.
Because UEFI-based firmware is something that I care about, I also checked out the capabilities exposed through the firmware UI. One area that caught my eye was the network configuration:
The PXE services are pretty standard, but HTTPs Support and HTTPs Boot are fairly new, leveraging the capabilities added in UEFI 2.5 to boot devices using files stored on an web server instead of a TFTP server. All you would need to do to use that is have your DHCP or PXE server return an HTTP URL whenever it sees an “HTTPClient” DHCP request (as compared to the normal “PXEClient” request that it would normally see). That’s a good subject for a later blog.
So what was the total damage on the checking account? Based on current prices, that would be $2000 for the ThinkStation P620 (watch for sales, check for employee discounts — I paid a few hundred less), $315 for the Samsung EVO Plus 2TB M.2 NVMe drive, and $550 for the 128GB (2×64) RAM. So $2865 (without tax, shipping) for a device that will last for many years, with the ability to add more RAM and storage as needed.
Overall, it’s a very capable PC, running Windows Server Datacenter with Hyper-V. It’s a tool-free design (although I did need a screwdriver to attach the M.2 card — maybe someone will come up with a tool-free design for that in the future). Two thumbs up from me.
A few general comments:
- Don’t be surprised when the machine sounds like a jet engine when it is first turned on. As soon as the OS is up and running, the fan noise drops off. I’ve yet to strain the PC enough to be able to hear the fans during normal usage.
- This is an AMD-based processor. As a result, nested virtualization can be challenging. While Windows 10 added support for this some time ago, Windows Server 2019 doesn’t support it. So if you want to use nested virtualization (e.g. to run an Android emulator, Hyper-V in Hyper-V, VMware, QEMU, etc.) you may be out of luck. This capability is in the latest Windows Server vNext insider builds, but those have a different issue in that they won’t upgrade a device that has the new Chromium-based Edge installed. A new build due out this month should take care of that.
- The device ships with Windows 10 Pro (not Windows 10 Pro Workstation, which is interesting). I “upgraded” it to Windows Server by downloading and mounting the ISO, then running SETUP.EXE, a trivial process. SETUP will ask you at some point if you want to migrate nothing (the only option) and as long as you say yes, you’ll have a server OS with the needed drivers in no time.
- Notice the fan intake grid pattern on the first picture? The case is completely black, so what you are seeing there is the dust pattern that the fan has created drawing air into the device. While my house is probably a little dusty, that is probably something that will need to be checked periodically to make sure it isn’t building up anywhere. Inside the device, I don’t see that happening yet, so it’s likely exhausted out the back (mostly).
Categories: PC Hardware