Documentation > Development > Transaction Parameter Mappings

A parameter mapping is a data structure that allows H-Store to link procedure input parameters (ProcParameter) to the input parameters of unique Statement invocations (StmtParameter). This allows the H-Store TransactionEstimator to calculate what partitions will be needed by a transaction before it begins execution.

See the 2011 VLDB paper for a description on how these mappings are used by H-Store.

  • A. Pavlo, E. P. C. Jones, and S. Zdonik, "On Predictive Modeling for Optimizing Transaction Execution in Parallel OLTP Systems," Proc. VLDB Endow., vol. 5, pp. 85-96, 2011. [PDF] [BIBTEX]
      author = {Pavlo, Andrew and Jones, Evan P.C. and Zdonik, Stanley},
      title = {On Predictive Modeling for Optimizing Transaction Execution in Parallel {OLTP} Systems},
      journal = {Proc. VLDB Endow.},
      volume = {5},
      issue = {2},
      month = {October},
      year = {2011},
      pages = {85--96},
      publisher = {VLDB Endowment},
      url = {},

Generating New Parameter Mappings

You first must build the target benchmark’s catalog. Since the Parameter Mappings are not specific to a cluster, you can use a single-partition cluster. This will cause the cluster to run faster, but requires sufficient amount of mmeory to store the entire database on a single machine:

ant hstore-prepare -Dproject=tm1 -Dhosts=localhost:0:0

You can then use the utility to automatically generate, combine, and compress a sample workload. You must execute this command from the H-Store root directory.

./tools/ tm1

This will create a workload file called “tm1-combined.trace.gz“. You can construct the mappings file with the mappings-generate command with this workload:

ant mappings-generate -Dproject=tm1 \
    -Dthreshold=1.0 \
    -Dworkload=tm1-combined.trace.gz \

The threshold option defines the cut-off point for the matching coefficients of the mappings.