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.10
clang
>= 10
clang-tidy
>= 10
libnuma
orlibnuma-dev
libgtest-dev
for tests intest/
python
>= 3
java
curl
- Call
cmake .
to generateMakefile
. - Call
make
to 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-a
to generate the default workload - Call
./bin/blinktree_benchmark 1:4
to 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