1) Added ResilientStore.makeMap(mapName:String) to allow multiple maps to use the same native store.
2) Clean-up native store code: remove prepare(), epoch, and pendingTransactions
3) Added Store.setAll(pairs:HashMap[String,V]) to store multiple K/V pairs.
In the Hazelcast store, this function is equivalent to calling set(k,v) multiple times. However, in the native store this function is faster than calling set(k,v) multiple times. Each call to set(k,v), in the native store, invokes a communication from the master to the slave. setAll(...) invokes a single communication from master to slave to update multiple keys.
4) Executors use Store.setAll() in checkpointing
5) DistBlockMatrix and Blockset:
more clean-up to remove shrinking recovery code,
same remake() steps for both sparse and dense matrices
simplified restoreSnapshot_local()
1) Added ResilientStore.makeMap(mapName:String) to allow multiple maps to use the same native store.
2) Clean-up native store code: remove prepare(), epoch, and pendingTransactions
3) Added Store.setAll(pairs:HashMap[String,V]) to store multiple K/V pairs. In the Hazelcast store, this function is equivalent to calling set(k,v) multiple times. However, in the native store this function is faster than calling set(k,v) multiple times. Each call to set(k,v), in the native store, invokes a communication from the master to the slave. setAll(...) invokes a single communication from master to slave to update multiple keys.
4) Executors use Store.setAll() in checkpointing
5) DistBlockMatrix and Blockset: more clean-up to remove shrinking recovery code, same remake() steps for both sparse and dense matrices simplified restoreSnapshot_local()