So you think you want to write a deterministic hypervisor?
1–10 of 56 posts
Re: So you think you want to write a deterministic hypervisor?
#2especially as that builds off of the extensive work done on x86 counter determinism here: https://web.eece.maine.edu/~vweaver/projects/deterministic/
it turns out x86/amd chips many of the perf counter events are offset by the (unpredictable) interrupt count because the interrupt return instruction uop gets counted as both a user and kernel instruction. On many processors the retired store instruction avoids this issue.
Re: So you think you want to write a deterministic hypervisor?
#3strange they seem unaware of the RR deterministic debugger work especially as that builds off of the extensive work done on x86 counter determinism here: https://web.eece.maine.edu/~vweaver/projects/deterministic/ it turns out x86/amd chips many of the perf counter events are offset by the (unpredictable) interrupt count because the interrupt return instruction uop gets counted as both a user and kernel instruction.…
Re: So you think you want to write a deterministic hypervisor?
#4strange they seem unaware of the RR deterministic debugger work especially as that builds off of the extensive work done on x86 counter determinism here: https://web.eece.maine.edu/~vweaver/projects/deterministic/ it turns out x86/amd chips many of the perf counter events are offset by the (unpredictable) interrupt count because the interrupt return instruction uop gets counted as both a user and kernel instruction.…
Re: So you think you want to write a deterministic hypervisor?
#5Re: So you think you want to write a deterministic hypervisor?
#6Re: So you think you want to write a deterministic hypervisor?
#7Hermit [1] is another cool effort at determinism/reproducibility. [1] https://github.com/facebookexperimental/hermit
Re: So you think you want to write a deterministic hypervisor?
#8We do something similar in house where I work. Is it hard to onboard new customers? Since they make a special container for you they basically adopt your build system, which may be hard for them. Does this go beyond mutation testing?
The kinds of state space exploration we do are a lot more general than mutation testing. Our current product does exploration by (1) varying the space of faults, packet delivery times, thread schedules, etc., and (2) driving a customer-provided pseudo-randomized workload. We have plans to make both these mechanisms much more expressive, powerful, and configurable; and we have longer-term plans to add entirely new kinds of testing to the same platform.
Disclosure: I'm one of the co-founders of Antithesis.
Re: So you think you want to write a deterministic hypervisor?
#9Hermit [1] is another cool effort at determinism/reproducibility. [1] https://github.com/facebookexperimental/hermit
Yes it is, for simple programs anyway. On the other hand, I've tried using Hermit to wrap around tests of a Raft implementation in Rust and Hermit would crash no matter what I did. Perhaps it was me using threads, perhaps it was me using sockets, I have no idea. The error messages were pretty obscure to me. The Hermit devs don't seem to be super responsive in general to issues on the repo. I don't blame them of cours…
Maybe I got lucky but I reported some issues right around the time of their article publication [1] - Nov '22 - and they were pretty responsive then.
[1] https://developers.facebook.com/blog/post/2022/11/22/hermit-...
Re: So you think you want to write a deterministic hypervisor?
#10Earlier quoted context omitted.
Yes it is, for simple programs anyway. On the other hand, I've tried using Hermit to wrap around tests of a Raft implementation in Rust and Hermit would crash no matter what I did. Perhaps it was me using threads, perhaps it was me using sockets, I have no idea. The error messages were pretty obscure to me. The Hermit devs don't seem to be super responsive in general to issues on the repo. I don't blame them of cours…
> The Hermit devs don't seem to be super responsive in general to issues on the repo. I don't blame them of course. Maybe I got lucky but I reported some issues right around the time of their article publication [1] - Nov '22 - and they were pretty responsive then. [1] https://developers.facebook.com/blog/post/2022/11/22/hermit-...