CRIU + Java: sounds pretty interesting, not sure how well it works in practice and seems to be linux only. But for certain contexts it seems an interesting alternative to graal native-image. https://assets.ctfassets.net/oxjq45e8ilak/3KKci3H0yZWIlzHBjCjUpg/8faf9c9777d9ba646a1b986c5abb6648/Christine_H_Flood_CRIU_and_Java_opportunities_and_challenges_2021_04_12_18_17_19.pdf
CRIU is super cool, I thought about trying to use it to spin up fresh clj repl processes
It's very much linux-only
@borkdude works very well in practice, we’ve used it on nextjournal to snapshot + restore everything from Clojure over Python to Julia. Only limitations we ran into is that • it doesn’t work with GPU memory • we worked around the fact that the env is are persisted from the snapshot by passing an override env on restore
Clojure over Python to Julia? Is this a way of saying: for a, b and c? or did you serialize some stuff through Clojure, Python and then to Julia?
@borkdude sorry no, I mean we used it for all those things
got it. cool
@mkvlr so you use it for nextjournal notebooks all the time?
we used it for a while but not anymore. We used to depend on it in an attempt to make python etc reproducible, similar to what runkit was doing https://blog.runkit.com/2015/09/10/time-traveling-in-node-js-notebooks/
CRIU looks like a candidate solution for the JVM warmup problem. The benefits might be proportional to the cluster size - the first JVM needs to get to a hot state for every new code change to an app.