Live data from Hacker News

Viewing profile — rrnewton

rrnewton

HN member
Joined
Sat, May 05, 2012, 8:20 AM UTC
HN karma
171
Public activity
46 items

About rrnewton

Computer science professor. Haskeller. Compiler and runtime hacker.

Recent public activity

  1. comment
    Comment #33721447

    I thought it was very cool how gVisor is multi-backend (their “sentry” implemented vie either ptrace or kvm), which is pretty unusual with instrumentation tools. We could maybe hav…

  2. comment
    Comment #33721311

    The distinction that we often have trouble getting across is between eliminating/controlling nondeterminism, vs recording what happens to occur. Undo, like rr, and Microsoft TTD, r…

  3. comment
    Comment #33715483

    There’s a bit of shared lineage there. Joseph Devietti and I started working in this area together around 2015. And Joe had worked on the deterministic dOS at UW during his PhD (wh…

  4. comment
    Comment #33714851

    Yeah, it's interesting to think about persisting the state we would need to make the file system more sympatico with Hermit. If we were willing to have a daemon.... Meta develops t…

  5. comment
    Comment #33713672

    Well, we don't prove the absence of concurrency bugs -- that would be more a job for formal verification, type systems, at the source level. But we can tell when our `--chaos` stre…

  6. comment
    Comment #33713368

    Yep, good point -- should have mentioned it. That's still roughly accurate because Hermit is, today, still ptrace-powered. I'll quote my reply from elsewhere about the WIP high-per…

  7. comment
    Comment #33713317

    Thanks for all the questions! Whew, here goes. > How are you sanitizing the result of stat(), for example? Ah, that part's the same as it was described in the ASPLOS'20 paper ( htt…

  8. comment
    Comment #33713061

    Well, the starting datetime at the beginning of execution in the container is whatever you set it to: $ hermit run --epoch=2022-01-01T00:00:00Z /bin/date Fri Dec 31 16:00:00 PST 20…

  9. comment
    Comment #33712769

    Ah, at least you were in good hands with Michael Vollmer. Btw, he's now a prof at University of Kent in the UK ( http://recurial.com/ ).

  10. comment
    Comment #33712745

    Well, probably not on device ;-). The underlying Reverie instrumentation layer works on ARM, but Hermit isn't ported yet, and we haven't touched RISC-V yet at all. (Contributions w…

  11. comment
    Comment #33712625

    Well, gettimeofday is a syscall, and we do intercept it (along with clock_gettime, clock_gettres, time, nanosleep, and the rdtsc instruction, even though that last one is not a sys…

  12. comment
    Comment #33712499

    Yes, I'm very interested in that as well. I've been involved with the ACM Artifact Evaluation process which has been going on in several conferences for a while. https://www.acm.or…

  13. comment
    Comment #33712414

    Alas the performance overhead in realtime is not great yet. It still uses ptrace currently, which often results in a multiple-X slowdown (but at least it doesn't "subscribe" to eve…

  14. comment
    Comment #33712305

    Sure! So it really breaks down into two cases: internal and external networking relative to the container Hermit creates. (1) internal networking If you run a test like `rust/netwo…

  15. comment
    Comment #33712197

    Sure! I think underpinning your question is a really subtle point there. And I think the answer is in the different purposes of regression testing and bug finding. In regression te…

  16. comment
    Comment #33710960

    Reverted a badly-timed breaking change that came through the sync system. Will fix it properly shortly (and add a Dockerfile and release tag). But for now you may have better luck …

  17. comment
    Comment #33710774

    (1) rr [formerly Mozilla rr] We're big fans of rr! Hermit is different in that creating a deterministic OS semantics is different than recording whatever nondeterministic behavior …

  18. comment
    Comment #33710537

    It's a good question. We would like to make it usable as a platform for dynamic analysis. The idea being that you can control all these external factors (like thread scheduling), f…

  19. comment
    Comment #33710322

    Heh, I implore you to consider the engineers-eye view. We're tech geeks inside or outside of FAANG, with all the usual incentives. I've been the tech lead on this project for 5 yea…

  20. comment
    Comment #33710247

    Yes indeed. That concurrency testing capability is a pretty well-studied area and we implement a couple existing algorithms. The first is our adaptation of the PCT algorithm (ASPLO…

  21. comment
    Comment #33709489

    Note that this is a follow-on project from the earlier Dettrace system, which was applied mainly to reproducible builds (as in the academic paper, https://dl.acm.org/doi/10.1145/33…

  22. comment
    Comment #33708868

    This has been the culmination of several years of work intercepting and sanitizing the Linux system call API. It's now open source.

  23. story
  24. story
  25. comment
    Comment #20816207

    Hmm, why is this a good thing compared to just using Nix / nix-pkgs to manage JS packages?