Documentation > Development > Transaction Parameter Mappings
filterKey: project
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]
@article{pavlo2011,
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 = {/papers/hstore-markov.pdf},
}
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 make-workloads.py utility to automatically generate, combine, and compress a sample workload. You must execute this command from the H-Store root directory.
./tools/make-workloads.py 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 \ -Doutput=tm1.mappings
The threshold option defines the cut-off point for the matching coefficients of the mappings.