apavlo/h-store — pull request #150 by gegao (2013-12-31 14:44:55+00:00)
Title: JVM Snapshot Implementation

I implement a feature that enables H-Store to execute OLAP queries on JVM Snapshot to avoid expensive distributed transactions. The snapshots are created using `fork()` system call which has Copy-On-Write mechanism.

Main changes include:
* `fork()` and `kill()` JNI.
* JVM Snapshot Manager.Main part of the code. It runs in a separate thread in the H-Store site. The Manager is in charge of creating, refreshing snapshots, communicating with snapshots and queuing OLAP queries.
* JUnit test
* Some changes to other parts of system includes snapshot initialization, snapshot synchronization etc.

This feature is under flag `site.jvmsnapshot_enable`. Details can be found in http://hstore.cs.brown.edu/documentation/deployment/jvm-snapshots/