Checkpointing strategies for efficient reactive intermittent computing systems