diff --git a/machines/sayuri/README.md b/machines/sayuri/README.md index ab8ed24..ee5d100 100644 --- a/machines/sayuri/README.md +++ b/machines/sayuri/README.md @@ -4,17 +4,92 @@ HP Z440 workstation. - * [Intel Xeon E5-1620 v4](https://ark.intel.com/content/www/us/en/ark/products/92991/intel-xeon-processor-e5-1620-v4-10m-cache-3-50-ghz.html) - * 16 GiB DDR4 2400 MHz ECC memory + * [Intel Xeon E5-2683 v4](https://ark.intel.com/content/www/us/en/ark/products/91766/intel-xeon-processor-e52683-v4-40m-cache-2-10-ghz.html) + * 4×4 GiB DDR4 2400 MHz ECC memory * 250GB Samsung 970 Evo Pro NVMe SSD - * 256GB micron SSD + * 256GB micron MTFDDAK256TBN-1AR15ABHA SATA SSD * 2TB Toshiba HDWA120 HDD - * Sapphire Nitro+ Radeon RX 480 + * Sapphire Nitro+ Radeon RX 480 (8 GiB 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](https://michael.stapelberg.ch/posts/2021-08-28-silent-hp-z440-workstation/) +is to remove the guard rails of the fans. +Since this is destructive and I might want to sell the fans again if I don’t 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.5 GHz +and a boost clock speed of 3.8 GHz. +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.1 GHz +and a boost clock speed of 3 GHz. +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.7 GHz +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 laptop’s 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 (4 GiB DDR4 2400 MHz 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 benefit from parallel computing, require a decent amount of GPU -power or possibly even both. +Tasks that require a decent amount of GPU power +and/or have to run while I do other things (on my laptop). ## Name diff --git a/machines/sayuri/configuration.nix b/machines/sayuri/configuration.nix index 013771d..a83193f 100644 --- a/machines/sayuri/configuration.nix +++ b/machines/sayuri/configuration.nix @@ -75,7 +75,7 @@ user = "sbruder"; }; }; - intel-sucks.configuration = { + yolo.configuration = { # https://make-linux-fast-again.com/ boot.kernelParams = [ "l1tf=off"