Differences
This shows you the differences between two versions of the page.
— |
ascylib [2015/06/25 13:35] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== ASCYLIB ====== | ||
+ | |||
+ | ASCYLIB is a concurrent-search data-structure (CSDS) library. It contains over 30 implementations of linked lists, hash tables, skip lists, and binary search trees (BST). ASCYLIB contains sequential, lock-based, and lock-free implementations for each data structure. | ||
+ | |||
+ | ASCYLIB works on x86, SPARC, and Tilera architectures and contains tests to evaluate the throughput, latency, latency distribution, and energy efficiency of the included data structures. | ||
+ | |||
+ | {{:ascy_cloud.png|:ascy_cloud.png}} | ||
+ | |||
+ | ===== Publications ===== | ||
+ | |||
+ | ASCYLIB was developed for:\\ | ||
+ | |||
+ | **Asynchronized Concurrency: The Secret to Scaling Concurrent Search Data Structures**\\ | ||
+ | [[https://infoscience.epfl.ch/record/207109]]\\ | ||
+ | Tudor David, Rachid Guerraoui, Vasileios Trigonakis (alphabetical order).\\ | ||
+ | //ASPLOS 2015// | ||
+ | |||
+ | The following technical report details the design of the two new data structures included in ASCYLIB:\\ | ||
+ | |||
+ | **Designing ASCY-compliant Concurrent Search Data Structures**\\ | ||
+ | [[https://infoscience.epfl.ch/record/203822]]\\ | ||
+ | Tudor David, Rachid Guerraoui, Che Tong, Vasileios Trigonakis (alphabetical order).\\ | ||
+ | //EPFL Technical Report// | ||
+ | |||
+ | ===== Software ===== | ||
+ | |||
+ | ASCYLIB consists of one main library and a few smaller ones: | ||
+ | * **ASCYLIB**: the main library with over 30 data-structure implementations. ASCYLIB contains both existing and optimized with ASCY state-of-the-art CSDSs and BST-TK, a new lock-based binary search tree. ([[https://github.com/LPD-EPFL/ASCYLIB|code]]) | ||
+ | * **CLHT**: a new highly-scalable concurrent hash table based on ASCY. CLHT comes in two variants, one lock-based and one lock-free. ([[https://github.com/LPD-EPFL/CLHT|code]]) | ||
+ | * **ssmem**: a memory allocator with epoch-based garbage collection. ([[https://github.com/LPD-EPFL/ssmem|code]]) | ||
+ | * **raplread**: a simple library for reading and printing energy/power measurements using Intel's RAPL interface. ([[https://github.com/LPD-EPFL/raplread|code]]) | ||
+ | |||
+ | |||
+ | |||