3 ms·
What hardware supports shared memory record-and-replay in the presence of data races? I'm not aware of any widely available hardware that does this. UndoDB's d
by roca 6y ago
What hardware supports shared memory record-and-replay in the presence of data races? I'm not aware of any widely available hardware that does this.
UndoDB's design is similar to rr but they use binary instrumentation at record time, so it's higher overhead than rr and a more complex implementation in some ways, but they don't depend on performance counters so they work on more architectures (AMD, ARM) and in any virtual guest.
It's certainly true that it's hard to get people to pay for debugging tools. On the other hand, some big-name companies spend tons of money on internal tooling, so at least some companies are willing to spend on developer productivity in general. I think certain classes of tools have "traditionally" been free and that mindset is hard to change, and the majority of companies are reluctant to spend money on developer productivity in general. I don't have great ideas to tackle this other than "keep making tools better and better until the wall cracks".
If you want to talk more off the record, feel free to contact me.
- Veserv 6y agoAn example is ARM systems including an ETM component that supports data tracing. You connect an external trace probe, usually via JTAG, to receive the trace events. This technique usually uses read/write and control-flow state for reconstruction. This has the advantage of not requiring a recording from the beginning to reconstruct since you can correctly work backward from the final state, but requires higher data bandwidth and storage.
- roca 6y agoOK right. That isn't very scalable however since you're limited by the size and bandwidth of the memory buffer holding the recorded memory values.