jingyugao / aili

Various Concurrent Algorithms for B+ Tree

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

aili

Author Version

References

Version Information

Version Detail
1.0.0 Palm Tree
1.1.0 Palm Tree with point-to-point synchronization
1.2.0 Simple Prefix Palm Tree
1.2.1 synchronization optimization & remove barrier
1.2.2 adjust Palm Tree descending policy (level descend, not ideal) & sequential insertion optimization
1.2.3 adjust Palm Tree descending policy (lazy descend, great for sequential operation)
1.3.0 a major refactor
1.3.1 Prefetch Palm Tree

Have a Try

1. make third_party
                                       #  key_num   key_len
2. make generate_data && ./generate_data  10000000    10    # test data will be in ./data
                                        #  f_name  n_size  b_size  t_num  q_num  k_num
3. make palm_tree_test && ./palm_tree_test   1      4096    16384     2      8   1000000

# f_name can be 0 (sequential data) or 1 (random data);
# if your machine supports N threads, t_num can be 1, 2, ..., (N-1), not N;
# k_num can be [1, infinity), depending on how many test keys you generate

Other

  • checkout example/ to get use example
  • follow my 知乎专栏 for blog about this repo

About

Various Concurrent Algorithms for B+ Tree

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 93.1%Language:C++ 4.7%Language:Lex 1.5%Language:Makefile 0.6%Language:Shell 0.1%