diff options
Diffstat (limited to 'benchmarks/tail-latency/knn_query_parm_sweep.cpp')
| -rw-r--r-- | benchmarks/tail-latency/knn_query_parm_sweep.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/benchmarks/tail-latency/knn_query_parm_sweep.cpp b/benchmarks/tail-latency/knn_query_parm_sweep.cpp index dfd713d..dcbe7cf 100644 --- a/benchmarks/tail-latency/knn_query_parm_sweep.cpp +++ b/benchmarks/tail-latency/knn_query_parm_sweep.cpp @@ -105,28 +105,30 @@ int main(int argc, char **argv) { //auto queries =read_sosd_point_lookups<QP>(q_fname, 1); auto data = read_vector_file<Rec, W2V_SIZE>(d_fname, n); - auto queries = read_knn_queries<QP>(q_fname, 15, 1); + auto queries = read_knn_queries<QP>(q_fname, 100, 1); - size_t buffer_size = 8000; - std::vector<size_t> policies = {0}; + std::vector<size_t> buffer_sizes = {100, 500, 1000, 10000}; + std::vector<size_t> policies = {0, 1, 2}; std::vector<size_t> thread_counts = {8}; std::vector<double> modifiers = {0}; - std::vector<size_t> scale_factors = {2, 4, 6, 8, 10}; + std::vector<size_t> scale_factors = {2, 8}; size_t insert_threads = 1; size_t query_threads = 1; reccnt = n; + for (auto bs : buffer_sizes) { for (auto pol : policies) { for (auto internal_thread_cnt : thread_counts) { for (auto mod : modifiers) { for (auto sf : scale_factors) { - auto policy = get_policy<Shard, Q>(sf, buffer_size, pol, n, mod); + auto policy = get_policy<Shard, Q>(sf, bs, pol, n, mod); auto config = Conf(std::move(policy)); config.recon_enable_maint_on_flush = true; config.recon_maint_disabled = false; + config.buffer_size = bs; config.buffer_flush_trigger = config.buffer_size; config.maximum_threads = internal_thread_cnt; @@ -171,14 +173,14 @@ int main(int argc, char **argv) { extension->await_version(); /* run some queries to "warm up" the cache */ - for (size_t i=0; i<queries.size()*2; i++) { + for (size_t i=0; i<queries.size()*5; i++) { auto q_idx = i % queries.size(); auto q = queries[q_idx]; auto res = extension->query(std::move(q)).get(); total_res.fetch_add(res.size()); } - total_query_count.store(100000); + total_query_count.store(5000); TIMER_INIT(); TIMER_START(); for (size_t i=0; i<total_query_count; i++) { @@ -200,7 +202,7 @@ int main(int argc, char **argv) { fprintf(stdout, "%ld\t%ld\t%ld\t%lf\t%ld\t%ld\t%ld\t%ld\n", internal_thread_cnt, pol, sf, mod, extension->get_height(), extension->get_shard_count(), insert_tput, query_lat); - extension->print_scheduler_statistics(); + //extension->print_scheduler_statistics(); //extension->print_scheduler_query_data(); //extension->print_structure(); fflush(stdout); @@ -212,6 +214,7 @@ int main(int argc, char **argv) { } } } + } fflush(stderr); } |