Skip to content

miar/lfht-c

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors