Coordinated Restore at Checkpoint

What is CRaC?

Coordinated Restore at Checkpoint (CRaC) is a JDK project that allows you to start Java programs with a shorter time to first transaction, combined with less time and resources to achieve full code speed.

CRaC IN YOUR CODE USING CRaC

CRaC API 1.5.0 NOW AVAILABLE

Why CRaC?

The CRaC (Coordinated Restore at Checkpoint) Project researches the coordination of Java programs with mechanisms to checkpoint (make an image of, snapshot) a Java instance while executing. Restoring from the image could solve some of the problems with the start-up and warm-up times. The primary aim of the Project is to develop a new standard mechanism-agnostic API to notify Java programs about the checkpoint and restore events. Other research activities will include, but will not be limited to, integration with existing checkpoint/restore mechanisms and development of new ones, changes to JVM and JDK to make images smaller and ensure they are correct.

USED BY

Features

Super fast startup

Startup within milliseconds from a checkpoint.
Checkpoint creation

Generate checkpoints from code or with jcmd.
Restore from checkpoint

Restore on the same machine, or many others from a checkpoint.
Minimal code changes

Use frameworks, or implement the CRaC API to assist in the creation and restore of checkpoints
Framework support

Several frameworks (Spring Boot, Quarkus, Micronaut,...) offer CRaC support out-of-the-box.
Use it in the Cloud

AWS Lambda has CRaC functionality integrated, no code changes needed!