miar/lfht-c
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
This is a small project that implements an external version written in C of the Lock Free Hash Tries (LFHT) model implemented in the YapTab system. The LFHT can be included in any project written in C, just by using the files "LFHT_tries.h" and "LFHT_tries.h". For the moment the LFHT supports only the "check_insert" operation in a lock-free fashion. The benchmark given in this project is a dictionary that associates a key to a value. The paper "A Lock-Free Hash Trie Design for Concurrent Tabled Logic Programs", which is available in the International Journal of Parallel Programming, has the formalization (linearizability and lock-freedom) of the model. Link: http://link.springer.com/article/10.1007/s10766-014-0346-1 Other issues : - The LFHT does not support the concurrent "delete_key" operation. Supports for the moment an "abolish_all_keys" operation, which removes all keys in the LFHT. MUST BE DONE in a non-concurrent fashion (after all threads finish). - The LFHT supports also a "show_state" operation, that shows all keys in the LFHT. MUST BE DONE in a non-concurrent fashion (after all threads finish). Ongoing work : - Support for deletion of individual keys in a lock-free and non-lock-free fashion. ("delete_key" operation) - Improve the Makefile. - Support for the "check" operation. - Benchmark with a multithreaded environment.