Projects / Concurrency Kit

Concurrency Kit

Concurrency Kit provides a plethora of concurrency primitives and lock-less and lock-free data structures designed to aid in the design and implementation of high performance scalable concurrent systems. It was designed to minimize dependencies on operating system-specific interfaces, and most of the interface relies only on a strict subset of the standard library and more popular compiler extensions.

Operating Systems

Recent releases

  •  23 Apr 2014 16:02

    Release Notes: This release includes a new low latency copy-safe single-writer read-write lock, a reference implementation of task-fair read-write locks, significant improvements to the build system and a lot of new functionality for ck_bitmap, a bugfix for 64-bit immediates on x86_64 for ck_pr, deinitialization routines for ck_hp_fifo and ck_fifo, a bugfix for ck_bytelock on 32-bit architectures, new ck_cc primitives, and a compilation fix for type specialized ck_ring. Last but not least, documentation has been added for ck_pflock.

    •  25 Feb 2014 22:52

      Release Notes: This release fixes a calculation error in ck_bitmap_union, which could lead to a crash condition. This was missed due to a lack of the typical testing cycle for the function. All other functionality is unaffected.

      •  23 Feb 2014 23:37

        Release Notes: Critical bugfixes were made to ck_bytelock for unslotted readers and 32-bit architectures. A new robin-hood hash set implementation was added which provides excellent stable performance for delete and write-heavy workloads while still providing wait-free progress for writers and lock-free progress for readers. A new operation has been added to the bitmap, ck_bitmap_union, which provides a (non-linearized) union of two bitmaps. Some other API changes were made to ck_bitmap. The library now uses the correct naming convention for Darwin targets.

        •  04 Jan 2014 14:37

          Release Notes: This release includes a critical bug fix for ck_ht_gc that affects CK_HT_MODE_DIRECT hash tables (it does not affect bytestring hash tables). Additional optimizations were made to ck_ht_gc and ck_hs_gc for empty hash tables.

          •  02 Jan 2014 17:15

            Release Notes: Acquire and release fences have finally been introduced. Significant performance improvements were made to spinlock, rwlock, pflock, cohorts, blocks, and bytelocks on RMO and PSO architectures (PPC*, SPARCv9+, and ARM). Significant improvements have been made to ck_hs write-side performance in the presence of deletes. Latency improvements to ck_epoch for read-side critical sections on x86 were introduced. Last but not least, the parametric ck_ring has been re-introduced following discussion and feedback.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.