Understanding Snapshots

A snapshot is a static image of a running application's process tree. You can use Memory Machine ZeroIO Snapshot to almost instantly capture a snapshot, then later just as quickly restore the running process to the state captured in the snapshot.

Restriction: ZeroIO Snapshot based services are available only in Memory Machine Advanced Edition.

When you use ZeroIO Snapshot to create a snapshot, Memory Machine takes these steps:

  1. Attaches to the application
  2. Flushes any application data in the DRAM tier to PMEM
  3. Freezes the application
  4. Copies a small subset of the application data (metadata) to a local or mapped storage device

Since the application data in PMEM does not need to be written to another persistent store, the Memory Machine process is much faster than an application-capture process that writes the entire snapshot to traditional storage media.

A running application has a unique process ID (PID) within the host's runtime system. This PID is stored with other metadata when a snapshot is captured. When the snapshot is restored, it runs under its original PID.

The ability to take a fast snapshot of a large application enables a number of valuable features, including:

  • Periodic backup of partially completed work
  • Crash-tolerant database recovery
  • Exporting and importing in-process application instances
  • Cloning in-process application instances