this post was submitted on 20 May 2024
208 points (94.4% liked)

Technology

59298 readers
4437 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] QuaternionsRock@lemmy.world 3 points 5 months ago (1 children)

Here is a great article on the topic. Basically, x86 spends a comparatively enormous amount of energy ensuring that its strong memory guarantees are not violated, even in cases where such violations would not affect program behavior. As it turns out, the majority of modern multithreaded programs only occasionally rely on these guarantees, and including special (expensive) instructions to provide these guarantees when necessary is still beneficial for performance/efficiency in the long run.

For additional context, the special sauce behind Apple’s Rosetta 2 is that the M family of SoCs actually implement an x86 memory model mode that is selectively enabled when executing dynamically translated multithreaded x86 programs.

[–] pycorax@lemmy.world 1 points 5 months ago

Thanks for the links, they're really informative. That said, it doesn't seem to be entirely certain that the extra work done by the x86 arch would incur a comparatively huge difference in energy consumption. Granted, that isn't really the point of the article. I would love to hear from someone who's more well versed in CPU design on the impact of it's memory model. The paper is more interesting with regards to performance but I don't find it very conclusive since it's comparing ARM vs TSO on an ARM processor. It does link this paper which seems more relevant to our discussion but a shame that it's paywalled.