nixos-config/machines/sayuri/README.md

4.1 KiB
Raw Blame History

sayuri

Hardware

HP Z440 workstation.

  • Intel Xeon E5-2683 v4
  • 4×4GiB DDR4 2400MHz ECC memory
  • 250GB Samsung 970 Evo Pro NVMe SSD
  • 256GB micron MTFDDAK256TBN-1AR15ABHA SATA SSD
  • 2TB Toshiba HDWA120 HDD
  • Sapphire Nitro+ Radeon RX 480 (8GiB VRAM)

Mods

Fan

The original fans are really loud if you run them at a higher speed. What fans are used depend on the exact model of the Z440, mine had a Delta QUR0912VH as rear case fan, a Delta AFB0912VH as front fan and a Foxconn PVA092G12S as CPU fan. Since the firmware only allows dynamic fan control via Intel QST, which is not supported in the kernel, the “minimum fan speed” set in the firmware configuration is always used. I replaced all three fans (rear case fan, front “PCIe” fan, CPU fan) with aftermarket products. For the rear case fan and CPU fan I used Noctua NF-A9 PWM fans, for the front fan an Arctic F9 PWM (for the sole reason that it is cheaper). Since HP decided to use different connectors for all of the fans (with the CPU fan connector having a proprietary 6-pin connector), I had to get creative with plugging them in. One alternative suggested by Michael Stapelberg in his article on fan replacement in a HP Z440 is to remove the guard rails of the fans. Since this is destructive and I might want to sell the fans again if I dont use them anymore, I decided against this and instead opted for connecting them manually with cheap jumper cables. This certainly is not the prettiest solution, but it works. As for the CPU fan, the fifth and sixth wire are actually not needed and a 4-pin PWM fan can be plugged into the connector (with jumpers).

CPU

The original CPU that came in my model was an Intel Xeon E5-1620 v4 CPU with 4 cores (8 threads), a base clock speed of 3.5GHz and a boost clock speed of 3.8GHz. To achieve better multicore performance, I upgraded it to an Intel Xeon E5-2683 v4, which can be found used for semi-cheap on AliExpress. It has 16 cores (32 threads), a base clock speed of 2.1GHz and a boost clock speed of 3GHz. While the CPU worked out-of-the box with the 2020 firmware revision I had on it, it did not offer frequency control in linux (and therefore stayed at its base clock). Upgrading to the newest firmware did not fix this issue. A workaround is to enable CPU HWPM in the firmware, which strips the kernel from frequency control and instead hands it to the firmware, which at least allows the CPU to reach 2.7GHz Since this setting makes it impossible to determine the CPU clock via cpupower frequency-info, they have to be obtained by running grep -E '^cpu MHz' /proc/cpuinfo (one line for every thread).

However, all CPUs compatible with the socket of this system (2011-3) share the same problem: They suffer from many security vulnerabilities, the mitigation of which slows them down massively. A possible workaround is to disable mitigations (https://make-linux-fast-again.com/), which, however, makes the CPU vulnerable to all those attacks again! This is implemented by the yolo specialisation, which can be selected at boot.

The result of this is that, while it has double the cores and is a desktop/server CPU, it still is around 15% slower (!) than my laptops Ryzen 7 5850U in multithreaded synthetic workloads. It looks even worse in single-threaded workloads, in which my laptop is five times as fast.

Memory

I have not yet upgraded the memory for cost reasons. It still is the original 4 sticks of Hynix HMA451R7AFR8N-UH (4GiB DDR4 2400MHz ECC). An upgrade is necessary due to many processes memory usage scaling linearily with CPU cores, the prime example being compiling with make -j32 et al.

Conclusion

Is it worth it? Probably not, especially as a desktop machine. It might come in handy at a later time as a server.

Purpose

Tasks that require a decent amount of GPU power and/or have to run while I do other things (on my laptop).

Name

Sayuri Kurata is a student from Kanon