MxTasking is a task-based framework that assists the design of latch-free and parallel data structures. MxTasking eases the information exchange between applications and the operating system, resulting in novel opportunities to manage resources in a truly hardware- and application-conscious way.
This is the code according to our paper MxTasks: How to Make Efficient Synchronization and Prefetching Easy.
Jan Mühlig and Jens Teubner. 2021. MxTasks: How to Make Efficient Synchronization and Prefetching Easy. SIGMOD '21: International Conference on Management of Data, 1331-1334. Download the PDF
cmake>= 3.10clang>= 10clang-tidy>= 10libnumaorlibnuma-dev
libgtest-devfor tests intest/
python>= 3javacurl
- Call
cmake .to generateMakefile. - Call
maketo generate all binaries.
For detailed information please see README files in src/application/<app> folders:
- B Link Tree benchmark (
src/application/blinktree_benchmark) - Hash Join benchmark (
src/application/hashjoin_benchmark)
- Call
make ycsb-ato generate the default workload - Call
./bin/blinktree_benchmark 1:4to run benchmark for one to four cores.
We build a small Hello World! example, located in src/application/hello_world.
You might take a look to see how to use MxTasking.
argparse(view on github) under MIT licensejson(view on github) under MIT license- Yahoo! Cloud Serving Benchmark (view on github) under Apache License 2.0