- Palm Tree : Parallel Architecture-Friendly Latch-Free Modifications to B+ Trees on Many-Core Processors
- Mass Tree : Cache Craftiness for Fast Multicore Key-Value Storage
- Blink Tree : Efficient Locking for Concurrent Operations on B-Trees
- Prefetch B+ Tree : Improving Index Performance through Prefetching
- Prefix B Tree : Prefix B-Trees
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 |
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
- checkout
example/
to get use example - follow my 知乎专栏 for blog about this repo