Project Leyden: Beginnings

Anton Kozlov akozlov at azul.com
Mon May 30 17:24:55 UTC 2022


Great to see Leyden started!

I also think that Leyden and CRaC are working toward the same goal from
different sides.

Assuming a program to be a series of actions,

   A B C D E F

In CRaC, we don't need to specify dependencies and correctness of all
permutations, the only difference from the usual Java programming model
is that between each subsequent pair of actions checkpoint and restore
may happen.  Those are rather transparent, except they may invalidate
some assumptions about the program environment. So a non-trivial task
for the CRaC Project is how to find these assumptions implemented in the
program state. If an explicit language-level mechanism will be developed
in Leyden to mark executions for build time, the same mechanism will
probably be useful to mark now-wrong assumptions after restore for CRaC.
So I'm excited and curious about what's going to be developed in Leyden.

I also hope CRaC Project to be useful for Leyden. Not sure about pieces
of the program or VM state, like a standalone JIT compilations, that
would be orthogonal tasks for CRaC. But why not a closed world start
image that is restored into an open world Java instance, to achieve a
great start-up, warm-up, and footprint of Leyden, without sacrificing
the dynamic Java features in the runtime.

Thanks,
Anton


More information about the leyden-dev mailing list