Fundamentally Understanding and Solving RowHammer
arxiv.org
arxiv.org
Are we all pretending this is mysterious and novel just because it would be uncomfortable to admit so much has been so wrong for so long?
If your LCD monitor has a dead pixel, is it defective?
That is a question of quality.
Rowhammer showed that what previously was acceptable quality is no longer so.
If my LCD monitor displays any image I want, but when I try to show an image of a checkerboard it loses sync with the incoming signal, yes it is defective. (There were a number of similar problems in the telephone network around the introduction of T1 signaling, and it's why the 1000Hz milliwatt test tone was changed to 1004Hz.)
These things were never acceptable.
Yes.
[1] https://en.wikipedia.org/wiki/ISO_13406-2#Pixel_Fault_Classe...
Look at chip manufacturing. They really care about high yields, but there are always defects, 20 years ago and today as well.
It's an issue with manufacturing in general. Perfection is typically impossible to achieve. Maybe not always, but typically.
Back to the main issue, since modern monitors are quite high resolution, you and I might both have a few dead pixels, or more likely a few that have pixels that are half-dead (dim) in one channel (of red/blue/green), and we just don't notice on our desktops -- and it would usually take careful examination to spot them even on a pure white screen.
Your mileage may vary, of course.
A display with 1 to 5 fixed subpixel is considered normal and within industry standards
https://www.dell.com/support/kbdoc/es-es/000126004/dell-disp...
So yes, you could have a very robust system, but you’d have to pay more for less RAM, which market forces have chosen against.
I’m sure many people would use RAM that’s cheaper and faster but row hammer vulnerable. Just as many people drive cars with engines that will break if driven at redline for long periods of time.
It’s not like row hammer is a realistic use case. No algorithm depends on row hammer access patterns. Just like people don’t buy cars to bounce off the rev limiter.
On the other hand, is not only row hammer attacks that cause bit flips, random bit flips happens, cosmic ray or decline of radioactive particles might cause one. And there is _no way_ to know if one happened on non ECC RAM (I know, ECC only reduces the probability of not noticing it, but it reduces that probability), and given that there is not way to respond.
If one random bit flip happens, best case nothing happens. If you are unlucky, maybe your system will crash. If you are really unlucky your data might end up corrupted and the OS might not even be able to detect it. Or maybe you were running a 100 hours calculation, and it might go wrong in the first minutes because of a bit flip and your simulation is ruined.
Floating point operations is about precision, witch can be studied and decided based on the needs of the application, bit flips are about data corruption.
And why are you discussing crashes? Rowhammer is usually considered a security vulnerability, not a general reliability issue, right?
I'm confused by what you're trying to say.
The goal of a computer for the majority of users (aka, not us developers) is thereby to be as cheap as possible while being just stable enough to not fail so often as to be too annoying, while preferably being as fast as possible under highly constrained conditions to play games at high quality.
Edit: downvotes? Really?
Yes for both.
Price: On pcpartpicker a stick of 16GB DDR4-3200 memory without ECC costs $28.99[2], but the ECC version costs $52.99[1]. Even factoring in that ECC ram comes with an extra chip, it's still 62% more.
Performance: using the same links above, we see that ECC ram tops out at 3200 MT/s, whereas for non-ECC you can get 4000+ MT/s. The brand selection is also better, which is critical if you want to get high performance memory chips like samsung b-die or micron E die.
[1] https://pcpartpicker.com/products/memory/#b=ddr4&E=1&sort=pr...
[2] https://pcpartpicker.com/products/memory/#b=ddr4&E=0&sort=pr...
Notable is that the max speed of 3200 MT/s for ECC is due to that being the fastest JEDEC standard for DDR4, you're not getting the XMP-profiles to run them faster and will have to resort to manual overclocking.
Even though ECC contains the logic of doing error correction in one chip, that doesn't justify double prices.
I have no clue how that works without significant performance cost
If that gains traction, it could bring ECC to the masses.
> . In addition, we show that, despite the non-trivial constraints imposed by ECC, ECCploit can still be powerful in practice and mimic the behavior of prior Rowhammer exploits
That said, it's still very interesting and many systems have improper ECC configuration. ECC without reporting isn't going to mitigate RowHammer; nor will it help to have ECC with reporting, if the reporting is ignored, etc.
[1] I didn't make it to their system configurations, but I did see their description that only one system under test properly responded to errors, by logging errors, and crashing on uncorrectable errors.