diff --git a/tests/public_benchmark/ldbc/README.md b/tests/public_benchmark/ldbc/README.md index 7f764b10c..14456c6c7 100644 --- a/tests/public_benchmark/ldbc/README.md +++ b/tests/public_benchmark/ldbc/README.md @@ -7,7 +7,12 @@ ./setup_dependencies ./setup_dataset [--scale-factor 1] ./neo [--run] OR ./mg [--run] + # To run short reads by default, just call: ./run_benchmark + # To run update queries use the following. + ./run_benchmark --properties-file ldbc-snb-impls-updates.properties + # You may need to increase the time compression when updating: + ./run_benchmark --time-compresion-ratio 1.5 --properties-file ldbc-snb-impls-updates.properties ## How to run a specific test? diff --git a/tests/public_benchmark/ldbc/ldbc-snb-impls-infbug.properties b/tests/public_benchmark/ldbc/ldbc-snb-impls-infbug.properties deleted file mode 100644 index 4058fd7bf..000000000 --- a/tests/public_benchmark/ldbc/ldbc-snb-impls-infbug.properties +++ /dev/null @@ -1,71 +0,0 @@ -# Linked Data Benchmark Council -# Social Network Benchmark -# Interactive Workload - -# *** workload-related driver properties *** -workload=com.ldbc.driver.workloads.ldbc.snb.interactive.LdbcSnbInteractiveWorkload - -# *** vendor-related driver properties *** -# database= - -# *** workload-specific properties *** - -# Directory containing query parameter files -# ldbc.snb.interactive.parameters_dir= - -# Directory containing data update stream files -# ldbc.snb.interactive.updates_dir= - -# Short reads random walk dissipation rate, in the interval [1.0-0.0] -# Higher values translate to shorter walks and therefore fewer short reads -ldbc.snb.interactive.short_read_dissipation=0.2 - -## frequency of read queries (number of update queries per one read query) -ldbc.snb.interactive.LdbcQuery1_freq=26 -ldbc.snb.interactive.LdbcQuery2_freq=37 -ldbc.snb.interactive.LdbcQuery3_freq=69 -ldbc.snb.interactive.LdbcQuery4_freq=36 -ldbc.snb.interactive.LdbcQuery5_freq=57 -ldbc.snb.interactive.LdbcQuery6_freq=129 -ldbc.snb.interactive.LdbcQuery7_freq=87 -ldbc.snb.interactive.LdbcQuery8_freq=45 -ldbc.snb.interactive.LdbcQuery9_freq=157 -ldbc.snb.interactive.LdbcQuery10_freq=30 -ldbc.snb.interactive.LdbcQuery11_freq=16 -ldbc.snb.interactive.LdbcQuery12_freq=44 -ldbc.snb.interactive.LdbcQuery13_freq=19 -ldbc.snb.interactive.LdbcQuery14_freq=49 - -# *** For debugging purposes *** - -ldbc.snb.interactive.LdbcQuery1_enable=false -ldbc.snb.interactive.LdbcQuery2_enable=false -ldbc.snb.interactive.LdbcQuery3_enable=false -ldbc.snb.interactive.LdbcQuery4_enable=false -ldbc.snb.interactive.LdbcQuery5_enable=true -ldbc.snb.interactive.LdbcQuery6_enable=false -ldbc.snb.interactive.LdbcQuery7_enable=false -ldbc.snb.interactive.LdbcQuery8_enable=true -ldbc.snb.interactive.LdbcQuery9_enable=true -ldbc.snb.interactive.LdbcQuery10_enable=false -ldbc.snb.interactive.LdbcQuery11_enable=false -ldbc.snb.interactive.LdbcQuery12_enable=false -ldbc.snb.interactive.LdbcQuery13_enable=false -ldbc.snb.interactive.LdbcQuery14_enable=false - -ldbc.snb.interactive.LdbcShortQuery1PersonProfile_enable=true -ldbc.snb.interactive.LdbcShortQuery2PersonPosts_enable=false -ldbc.snb.interactive.LdbcShortQuery3PersonFriends_enable=true -ldbc.snb.interactive.LdbcShortQuery4MessageContent_enable=false -ldbc.snb.interactive.LdbcShortQuery5MessageCreator_enable=true -ldbc.snb.interactive.LdbcShortQuery6MessageForum_enable=true -ldbc.snb.interactive.LdbcShortQuery7MessageReplies_enable=true - -ldbc.snb.interactive.LdbcUpdate1AddPerson_enable=false -ldbc.snb.interactive.LdbcUpdate2AddPostLike_enable=true -ldbc.snb.interactive.LdbcUpdate3AddCommentLike_enable=true -ldbc.snb.interactive.LdbcUpdate4AddForum_enable=false -ldbc.snb.interactive.LdbcUpdate5AddForumMembership_enable=true -ldbc.snb.interactive.LdbcUpdate6AddPost_enable=false -ldbc.snb.interactive.LdbcUpdate7AddComment_enable=false -ldbc.snb.interactive.LdbcUpdate8AddFriendship_enable=true diff --git a/tests/public_benchmark/ldbc/ldbc-snb-impls-allshorts.properties b/tests/public_benchmark/ldbc/ldbc-snb-impls-short-reads.properties similarity index 82% rename from tests/public_benchmark/ldbc/ldbc-snb-impls-allshorts.properties rename to tests/public_benchmark/ldbc/ldbc-snb-impls-short-reads.properties index 21c6ebe2a..367736f22 100644 --- a/tests/public_benchmark/ldbc/ldbc-snb-impls-allshorts.properties +++ b/tests/public_benchmark/ldbc/ldbc-snb-impls-short-reads.properties @@ -20,6 +20,9 @@ workload=com.ldbc.driver.workloads.ldbc.snb.interactive.LdbcSnbInteractiveWorklo # Higher values translate to shorter walks and therefore fewer short reads ldbc.snb.interactive.short_read_dissipation=0.2 +# Take from anilpacaci's consumer-ldbc-short.properties +ldbc.snb.interactive.update_interleave=29669 + ## frequency of read queries (number of update queries per one read query) ldbc.snb.interactive.LdbcQuery1_freq=26 ldbc.snb.interactive.LdbcQuery2_freq=37 @@ -38,6 +41,8 @@ ldbc.snb.interactive.LdbcQuery14_freq=49 # *** For debugging purposes *** +# At least one needs to be enabled in order to cause interleaving of short +# reads. To get all the reads, you should run with a large operation count. ldbc.snb.interactive.LdbcQuery1_enable=false ldbc.snb.interactive.LdbcQuery2_enable=false ldbc.snb.interactive.LdbcQuery3_enable=false @@ -45,7 +50,7 @@ ldbc.snb.interactive.LdbcQuery4_enable=false ldbc.snb.interactive.LdbcQuery5_enable=false ldbc.snb.interactive.LdbcQuery6_enable=false ldbc.snb.interactive.LdbcQuery7_enable=false -ldbc.snb.interactive.LdbcQuery8_enable=false +ldbc.snb.interactive.LdbcQuery8_enable=true ldbc.snb.interactive.LdbcQuery9_enable=false ldbc.snb.interactive.LdbcQuery10_enable=false ldbc.snb.interactive.LdbcQuery11_enable=false @@ -62,10 +67,10 @@ ldbc.snb.interactive.LdbcShortQuery6MessageForum_enable=true ldbc.snb.interactive.LdbcShortQuery7MessageReplies_enable=true ldbc.snb.interactive.LdbcUpdate1AddPerson_enable=false -ldbc.snb.interactive.LdbcUpdate2AddPostLike_enable=true -ldbc.snb.interactive.LdbcUpdate3AddCommentLike_enable=true +ldbc.snb.interactive.LdbcUpdate2AddPostLike_enable=false +ldbc.snb.interactive.LdbcUpdate3AddCommentLike_enable=false ldbc.snb.interactive.LdbcUpdate4AddForum_enable=false -ldbc.snb.interactive.LdbcUpdate5AddForumMembership_enable=true +ldbc.snb.interactive.LdbcUpdate5AddForumMembership_enable=false ldbc.snb.interactive.LdbcUpdate6AddPost_enable=false ldbc.snb.interactive.LdbcUpdate7AddComment_enable=false -ldbc.snb.interactive.LdbcUpdate8AddFriendship_enable=true +ldbc.snb.interactive.LdbcUpdate8AddFriendship_enable=false diff --git a/tests/public_benchmark/ldbc/ldbc-snb-impls-allshortandupdate.properties b/tests/public_benchmark/ldbc/ldbc-snb-impls-updates.properties similarity index 80% rename from tests/public_benchmark/ldbc/ldbc-snb-impls-allshortandupdate.properties rename to tests/public_benchmark/ldbc/ldbc-snb-impls-updates.properties index 5eb33259e..0bded776c 100644 --- a/tests/public_benchmark/ldbc/ldbc-snb-impls-allshortandupdate.properties +++ b/tests/public_benchmark/ldbc/ldbc-snb-impls-updates.properties @@ -20,6 +20,9 @@ workload=com.ldbc.driver.workloads.ldbc.snb.interactive.LdbcSnbInteractiveWorklo # Higher values translate to shorter walks and therefore fewer short reads ldbc.snb.interactive.short_read_dissipation=0.2 +# Take from anilpacaci's consumer-ldbc-short.properties +ldbc.snb.interactive.update_interleave=29669 + ## frequency of read queries (number of update queries per one read query) ldbc.snb.interactive.LdbcQuery1_freq=26 ldbc.snb.interactive.LdbcQuery2_freq=37 @@ -45,7 +48,7 @@ ldbc.snb.interactive.LdbcQuery4_enable=false ldbc.snb.interactive.LdbcQuery5_enable=false ldbc.snb.interactive.LdbcQuery6_enable=false ldbc.snb.interactive.LdbcQuery7_enable=false -ldbc.snb.interactive.LdbcQuery8_enable=true +ldbc.snb.interactive.LdbcQuery8_enable=false ldbc.snb.interactive.LdbcQuery9_enable=false ldbc.snb.interactive.LdbcQuery10_enable=false ldbc.snb.interactive.LdbcQuery11_enable=false @@ -53,13 +56,13 @@ ldbc.snb.interactive.LdbcQuery12_enable=false ldbc.snb.interactive.LdbcQuery13_enable=false ldbc.snb.interactive.LdbcQuery14_enable=false -ldbc.snb.interactive.LdbcShortQuery1PersonProfile_enable=true -ldbc.snb.interactive.LdbcShortQuery2PersonPosts_enable=true -ldbc.snb.interactive.LdbcShortQuery3PersonFriends_enable=true -ldbc.snb.interactive.LdbcShortQuery4MessageContent_enable=true -ldbc.snb.interactive.LdbcShortQuery5MessageCreator_enable=true -ldbc.snb.interactive.LdbcShortQuery6MessageForum_enable=true -ldbc.snb.interactive.LdbcShortQuery7MessageReplies_enable=true +ldbc.snb.interactive.LdbcShortQuery1PersonProfile_enable=false +ldbc.snb.interactive.LdbcShortQuery2PersonPosts_enable=false +ldbc.snb.interactive.LdbcShortQuery3PersonFriends_enable=false +ldbc.snb.interactive.LdbcShortQuery4MessageContent_enable=false +ldbc.snb.interactive.LdbcShortQuery5MessageCreator_enable=false +ldbc.snb.interactive.LdbcShortQuery6MessageForum_enable=false +ldbc.snb.interactive.LdbcShortQuery7MessageReplies_enable=false ldbc.snb.interactive.LdbcUpdate1AddPerson_enable=true ldbc.snb.interactive.LdbcUpdate2AddPostLike_enable=true diff --git a/tests/public_benchmark/ldbc/run_benchmark b/tests/public_benchmark/ldbc/run_benchmark index 6a17e42db..a220e4513 100755 --- a/tests/public_benchmark/ldbc/run_benchmark +++ b/tests/public_benchmark/ldbc/run_benchmark @@ -17,6 +17,7 @@ function print_help () { echo -e " --operation-count | -> https://github.com/ldbc/ldbc_driver/wiki/Driver-Configuration" echo -e " --thread-count |" echo -e " --result-file-prefix -> Result file prefix." + echo -e " --properties-file -> Properties file used to select queries" } # Default parameters. @@ -26,6 +27,7 @@ time_compression_ratio=0.01 operation_count=200 thread_count=8 result_file_prefix="undefined" +properties_file="${script_dir}/ldbc-snb-impls-short-reads.properties" # Read the arguments. while [[ $# -gt 0 ]] @@ -47,6 +49,10 @@ do result_file_prefix=$2 shift ;; + --properties-file) + properties_file=$2 + shift + ;; --time-compression-ratio) time_compression_ratio=$2 shift @@ -70,6 +76,6 @@ cd ${script_dir}/ldbc-snb-impls mvn clean compile assembly:single cd ${script_dir}/ldbc_driver -java -cp target/jeeves-0.3-SNAPSHOT.jar:${script_dir}/ldbc-snb-impls/snb-interactive-neo4j/target/snb-interactive-neo4j-1.0.0-jar-with-dependencies.jar com.ldbc.driver.Client -P ${script_dir}/ldbc_driver/configuration/ldbc_driver_default.properties -P ${script_dir}/ldbc-snb-impls-allshortandupdate.properties -P ${script_dir}/ldbc_snb_datagen/social_network/updateStream.properties -p host ${host} -p port ${port} -db net.ellitron.ldbcsnbimpls.interactive.neo4j.Neo4jDb -p ldbc.snb.interactive.parameters_dir ${script_dir}/ldbc_snb_datagen/substitution_parameters --time_compression_ratio ${time_compression_ratio} --operation_count ${operation_count} --thread_count ${thread_count} +java -cp target/jeeves-0.3-SNAPSHOT.jar:${script_dir}/ldbc-snb-impls/snb-interactive-neo4j/target/snb-interactive-neo4j-1.0.0-jar-with-dependencies.jar com.ldbc.driver.Client -P ${script_dir}/ldbc_driver/configuration/ldbc_driver_default.properties -P ${properties_file} -p ldbc.snb.interactive.updates_dir ${script_dir}/ldbc_snb_datagen/social_network -p host ${host} -p port ${port} -db net.ellitron.ldbcsnbimpls.interactive.neo4j.Neo4jDb -p ldbc.snb.interactive.parameters_dir ${script_dir}/ldbc_snb_datagen/substitution_parameters --time_compression_ratio ${time_compression_ratio} --operation_count ${operation_count} --thread_count ${thread_count} cp ${script_dir}/ldbc_driver/results/LDBC-results.json ${script_dir}/results/${result_file_prefix}-LDBC-results.json