On 2024-08-06 13:03, Dan Ritter wrote:
Daniel M Gessel wrote:

On 2024-08-06 11:47, Dan Ritter wrote:
Daniel M Gessel wrote:
On 2024-08-06 00:31, Bill Bogstad wrote:
We would have a whole lot fewer moles to whack if we changed our tools.
In some cases a 5% performance hit is huge - offering up "our programmers
make mistakes" as a justification is a non-starter.
Remember that:

- virtual machines impose a penalty of 1% or more -- worse when
    not optimally configured

- the mitigations for various speculative execution and memory
    hammer attacks can impose 2-30% penalties depending on
    specific programs

- changes between stable kernel versions can be +/- 15% in some
    cases

All of those can already be cited as  "our programmers make mistakes".
I honestly don't know how the first two address programmer mistakes; can you
explain?
The rise of virtual machines and containers is an admission of
systemic failure: people gave up on managing dependencies in a
sensible manner. Rather than have a deployment system which
produces a working program plus libraries and configuration,
these systems effectively ship a developer's laptop to the
cloud.
That system software semantics changes between releases and that there isn't a global release cycle that every developer adheres to is out of the scope of the responsibilities of individual developers.

Mitigations for Spectre and Rowhammer are required because we
persistently run other people's code on our hardware, or if you
prefer, we keep running our code on other people's hardware and
pretending that it's our hardware.
I thought these were hardware bugs (at least according to Wikipedia) that could be exploited by malicious (not broken) code? Programmers tripping over hardware bugs really isn't their error...

Hardware workarounds are invariably painful - but in my experience they're usually turned off with "trusted code" if there's a significant performance hit.
I don't know where you've worked, but I will bet a shiny nickel
that 5% drops and 5% improvements happened in different sections on
most major releases.
Definitely - but performance was tested on daily builds and drops in key software would be raised as block-ship issues. They didn't matter in some software, but those probably wouldn't be part of the performance test suite.

Hand optimized assembly code may be used in performance critical sections - compiler checks won't help

_______________________________________________
Discuss mailing list
Discuss@driftwood.blu.org
https://driftwood.blu.org/mailman/listinfo/discuss

Reply via email to