TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Deterministic Execution vs. Record-and-Replay

4 pointsby harporoederalmost 6 years ago

1 comment

souprockalmost 6 years ago
By that standard, there really isn&#x27;t deterministic execution. You&#x27;ll always want something that simply must be recorded, such as the current time.<p>A better distinction: deterministic execution is when you rerun the executed instructions, depending on predictable execution to avoid needing full snapshots for all possible stopping points.<p>By my definition, I&#x27;ve been on a team that has had it working for more than a decade. We built our own hypervisor in fact, purely for internal use. It has been a neat project, providing a lot of benefit to us. Along the way we have frequently had to fight CPU errata, and Intel flat out refuses to officially support the technology.<p>We&#x27;re hiring: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=19797601" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=19797601</a><p>Overall, I think that deterministic execution is going to become important to many software developers.<p>An interesting issue is that the typical RISC CPU can not support this. RISC CPUs tend to use nondeterministic locking sequences, generally some variation of &quot;load locked&quot; and &quot;store conditional&quot;. This design error is found in all instruction sets supported by ARM, MIPS, PowerPC, and RISC-V. Aside from the occasional errata glitch, Intel works fine. CISC wins.
评论 #20049585 未加载