{'fraction_non_alphanumeric': 0.02516411378555799, 'fraction_numerical': 0.0, 'mean_word_length': 5.019736842105263, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Survey on Lock-free Binary Search Tree

Binary Search Tree is the data structure that has fast search speed and easy addition, removal of elements. Due to these advantages, binary search tree (BST) is one of the frequently used data structures of these days. However, most binary search tree schemes use locking technique to support multiple access of multiple threads for synchronization. Unfortunately, this locking techniques significantly reduce the performance of BST. Locking techniques block or spin the threads that has not obtained the lock until the thread that has obtained the lock completes its job. Thus, to improve the performance of BST, efficient concurrent programming technique should be applied, such as lock-free technique. In this paper, we conduct a comparison of existing lock-free/non-blocking BST methods. We analyze operations and evaluate the strengths and weaknesses of each schemes.