• madthumbs@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 hours ago

    Data integrity is a hardware problem, not an OS problem.

    The myth that Linux is stable enough that you don’t need ECC unless you’re running ZFS or a database is wrong. A flipped bit corrupts memory before the OS sees it.

    -ECC protects the OS. The OS cannot protect itself.

    Windows has the most aggressive consumer‑grade fault‑tolerance stack with WHEA, bad‑page retirement, PCIe AER recovery, GPU/driver subsystem restart, VBS integrity enforcement, core offlining, and memory poisoning.

    -These features dramatically reduce crashes on unreliable hardware.

    ECC is the only one to detect single‑bit errors, correct single‑bit errors, detect multi‑bit errors, and prevent silent corruption from propagating. It’s not ‘Linux stability’ - it’s literally ECC (which most consumer desktops and laptops don’t have)!

    -Servers need ECC because server workloads demand correctness (and Linux doesn’t even try to deliver that because they don’t have to).

    Cosmic rays, electrical noise, and manufacturing defects literally hit hardware, not software. -That famous blue screen in front of an audience during a Windows presentation? -Nothing to be ashamed about (but they could’ve used ECC)!

    If the hardware lies, the OS has no way to know. Even Windows Server requires ECC. Enterprise Linux distros recommend ECC. It’s about physics: not the OS.

    • godsammitdam@lemmy.zip
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      12 minutes ago

      Data integrity is a hardware problem, not an OS problem.

      ECC protects the OS. The OS cannot protect itself.

      ECC is the only one to detect single‑bit errors, correct single‑bit errors, detect multi‑bit errors, and prevent silent corruption from propagating.

      Good, we’ve made progress. You now correctly describe what ECC does, which is accurate. Notice though that you’ve abandoned your original claim that “Linux is intended to be run on ECC memory” and replaced it with “servers need ECC.” Those are completely different statements. The first one was wrong, like I refuted. You’ve just admitted it without saying so.

      Windows has the most aggressive consumer‑grade fault‑tolerance stack with WHEA, bad‑page retirement, PCIe AER recovery, GPU/driver subsystem restart, VBS integrity enforcement, core offlining, and memory poisoning.

      These features dramatically reduce crashes on unreliable hardware.

      These are real but irrelevant to your original argument. Those features handle hardware errors after they occur. ECC prevents corruption before it propagates. They’re not comparable. On non-ECC consumer hardware, Windows and Linux, and any other OS for that matter, are equally exposed to silent bit-flip corruption. Windows just surfaces the errors more visibly. That’s better logging, not better physics.

      Linux doesn’t even try to deliver that because they don’t have to

      Easily the most provably false thing you’ve said. Linux runs 100% of the top 500 supercomputers in the world. It runs the majority of financial infrastructure, safety-critical systems, and enterprise servers globally. Correctness is literally the reason it dominates those environments. The idea that it doesn’t try for correctness is not a technical position, it’s just wrong. At this rate, are you applying for a position in the Trump admin? You’d fit right in for how confidently incorrect you are.

      Also still waiting on that Lemmy answer. For someone so against “FOSS commie garbage” you seem pretty active on it, enough to make your own community and moderate it.