mirror of
https://github.com/mmueller41/mxtasking.git
synced 2026-01-21 12:42:57 +01:00
2.1 KiB
2.1 KiB
MxTasking: Task-based framework with built-in prefetching and synchronization
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.
Cite
The code was used for our SIGMOD'21 paper.
Jan Mühlig and Jens Teubner. 2021. MxTasks: How to Make Efficient Synchronization and Prefetching Easy. In Proceedings of the 2021 International Conference on Management of Data. [PDF]
@inproceedings{muehlig2021mxtasks,
author = {Jan Mühlig and Jens Teubner},
title = {MxTasks: How to Make Efficient Synchronization and Prefetching Easy},
booktitle = {Proceedings of the 2021 International Conference on Management of Data},
year = {2021}
}
Dependencies
For building
Required
cmake>= 3.10clang>= 10clang-tidy>= 10libnumaorlibnuma-dev
Optional
libgtest-devfor tests intest/
For generating the YCSB workload
python>= 3javacurl
How to build
- Call
cmake .to generateMakefile. - Call
maketo generate all binaries.
How to run
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)
Simple example for B Link Tree
- Call
make ycsb-ato generate the default workload - Call
./bin/blinktree_benchmark 1:4to run benchmark for one to four cores.
External Libraries
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