summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt11
-rw-r--r--README.md31
-rw-r--r--benchmarks/vldb/thread_scaling_bench.cpp (renamed from benchmarks/insert_query_tput.cpp)2
3 files changed, 29 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e072d58..9b229ea 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -266,6 +266,12 @@ if (vldb_bench)
target_include_directories(mtree_bench PRIVATE include external external/m-tree/cpp external/PGM-index/include external/PLEX/include benchmarks/include external/psudb-common/cpp/include)
target_link_options(mtree_bench PUBLIC -mcx16)
target_compile_options(mtree_bench PUBLIC -fopenmp)
+
+ add_executable(thread_scaling_bench ${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/vldb/thread_scaling_bench.cpp)
+ target_link_libraries(thread_scaling_bench PUBLIC gsl pthread atomic)
+ target_include_directories(thread_scaling_bench PRIVATE include external external/m-tree/cpp external/PGM-index/include external/PLEX/include benchmarks/include external/psudb-common/cpp/include)
+ target_link_options(thread_scaling_bench PUBLIC -mcx16)
+
endif()
@@ -295,11 +301,6 @@ if (bench)
target_include_directories(query_workload_bench PRIVATE include external external/m-tree/cpp external/PGM-index/include external/PLEX/include benchmarks/include external/psudb-common/cpp/include)
target_link_options(query_workload_bench PUBLIC -mcx16)
- add_executable(insert_query_tput ${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/insert_query_tput.cpp)
- target_link_libraries(insert_query_tput PUBLIC gsl pthread atomic)
- target_include_directories(insert_query_tput PRIVATE include external external/m-tree/cpp external/PGM-index/include external/PLEX/include benchmarks/include external/psudb-common/cpp/include)
- target_link_options(insert_query_tput PUBLIC -mcx16)
-
add_executable(poplar_trie ${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/poplar_trie.cpp)
target_link_libraries(poplar_trie PUBLIC gsl pthread atomic)
target_include_directories(poplar_trie PRIVATE include external external/m-tree/cpp external/PGM-index/include external/PLEX/include benchmarks/include external/psudb-common/cpp/include external/poplar-trie/include)
diff --git a/README.md b/README.md
index fedb32c..f0e9d68 100644
--- a/README.md
+++ b/README.md
@@ -12,8 +12,8 @@ The project is built using cmake. CMakeLists contains several flags that can
be used to customize the build. In particular, setting `debug` to true will
build without optimization, and with asan and ubsan enabled. The `tests`
and `benchmarks` flag can be used to toggle the construction of unit tests
-and benchmarks respectively. `old_bench` should be ignored--most of these won't
-build anymore anyway. Eventually that will be removed.
+and benchmarks respectively. The benchmarks specific to the VLDB 2024
+submission are built using the `vldb_bench` flag.
After configuring the build to your liking, make sure that you initialized the
git sub-modules first if you've just cloned the repository.
@@ -33,11 +33,19 @@ The unit test binaries will appear in `bin/tests/` and the benchmarks in
`bin/benchmarks/`.
## Available Benchmarks
-At present there are several benchmarks available in `benchmarks/`. Not every
-benchmark has been updated to build with the current version; these can be
-found in `benchmarks/old-bench/`. Most of the benchmarks will display a help
-message, showing what arguments they expect, if you run them without any
-arguments, or with the wrong number of arguments.
+The benchmarks relevant to the 2024 VLDB submission are located in
+`benchmarks/vldb`, and various other benchmarks are in `benchmarks`. The
+majority of the benchmark suite used for creating the figures in the VLDB
+submission can be run using the `bin/scripts/run_benchmarks.sh` script, which
+should be updated first with the locations of the desired data and query files.
+The main benchmark not automatically run by this script is
+`bin/benchmarks/ts_parmsweep`, which should be updated (by editing
+`benchmarks/vldb/ts_parmsweep`) to reflect the parameter values to test, and
+then run manually as desired.
+
+Most of the benchmarks will display a help message, showing what arguments they
+expect, if you run them without any arguments, or with the wrong number of
+arguments.
## Unit Tests
While test coverage is not perfect yet, there are some basic unit tests in
@@ -48,6 +56,11 @@ unit](https://libcheck.github.io/check/) test framework.
This is still an active research project, and so the interfaces are not yet
stable. Proper documentation will come when these interfaces stabilize
a little. In the meantime, the code will have to serve as the documentation.
-There are also a lot of comments in most of the files, though several are a bit
-light in that regard.
+
+Some of the most important files are `include/framework/DynamicExtension`,
+which contains the external interface of the framework, and
+`include/framework/interface/*`, which contains the necessary C++20
+concepts/interfaces for developing your own shards and queries. Any class
+implementing the appropriate interfaces can be used as template arguments to
+the DynamicExtension itself.
diff --git a/benchmarks/insert_query_tput.cpp b/benchmarks/vldb/thread_scaling_bench.cpp
index 29043af..b679e92 100644
--- a/benchmarks/insert_query_tput.cpp
+++ b/benchmarks/vldb/thread_scaling_bench.cpp
@@ -10,7 +10,7 @@
#include "shard/ISAMTree.h"
#include "query/irs.h"
#include "framework/interface/Record.h"
-#include "include/file_util.h"
+#include "file_util.h"
#include <ctime>
#include <gsl/gsl_rng.h>