filterKey: project
filterKey: project{"id":963,"date":"2011-07-12T12:19:30","date_gmt":"2011-07-12T16:19:30","guid":{"rendered":"http:\/\/hstore.cs.brown.edu\/?page_id=963"},"modified":"2012-10-11T21:38:42","modified_gmt":"2012-10-12T01:38:42","slug":"parameter-mappings","status":"publish","type":"page","link":"https:\/\/hstore.cs.brown.edu\/documentation\/development\/parameter-mappings\/","title":{"rendered":"Transaction Parameter Mappings"},"content":{"rendered":"
A parameter mapping<\/strong> is a data structure that allows H-Store to link procedure input parameters (ProcParameter<\/tt>) to the input parameters of unique Statement invocations (StmtParameter<\/tt>). This allows the H-Store TransactionEstimator to calculate what partitions will be needed by a transaction before it begins execution.<\/p>\n See the 2011 VLDB paper for a description on how these mappings are used by H-Store.<\/p>\n 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:<\/p>\n You can then use the make-workloads.py<\/a> utility to automatically generate, combine, and compress a sample workload. You must execute this command from the H-Store root directory.<\/p>\n This will create a workload file called “tm1-combined.trace.gz<\/tt>“. You can construct the mappings file with the mappings-generate<\/tt> command with this workload:<\/p>\n The threshold<\/tt> option defines the cut-off point for the matching coefficients of the mappings.<\/p>\n\n
@article{pavlo2011,
\n author = {Pavlo, Andrew and Jones, Evan P.C. and Zdonik, Stanley},
\n title = {On Predictive Modeling for Optimizing Transaction Execution in Parallel {OLTP} Systems},
\n journal = {Proc. VLDB Endow.},
\n volume = {5},
\n issue = {2},
\n month = {October},
\n year = {2011},
\n pages = {85--96},
\n publisher = {VLDB Endowment},
\n url = {http:\/\/hstore.cs.brown.edu\/papers\/hstore-markov.pdf},
\n }<\/code>\n <\/div>\n<\/li>\n<\/ul>\nGenerating New Parameter Mappings<\/h2>\n
ant hstore-prepare<\/tt> -Dproject=tm1 -Dhosts=localhost:0:0<\/pre>\n
.\/tools\/make-workloads.py tm1<\/pre>\n
ant mappings-generate<\/tt> -Dproject=tm1 \\\r\n -Dthreshold=1.0 \\\r\n -Dworkload=tm1-combined.trace.gz \\\r\n -Doutput=tm1.mappings<\/pre>\n