Coder Social home page Coder Social logo

awesome-lockfree's Introduction

Awesome Lock-Free

A collection of resources on wait-free and lock-free programming.

🔥 🔥 🔥 Even better resource from MattPD: C++ links: atomics, lock free, memory model.

Libraries

  • Boost.Lockfree - Boost lock-free data structures.
  • ConcurrencyKit - Concurrency primitives.
  • crossbeam - Rust library for concurrent programming.
  • Folly - Facebook Open-source Library (has good implementation of MPMC queue).
  • Junction - Concurrent data structures in C++.
  • MPMCQueue - A bounded multi-producer multi-consumer lock-free queue written in C++11.
  • SPSCQueue - A bounded single-producer single-consumer wait-free and lock-free queue written in C++11.
  • Seqlock - Implementation of Seqlock in C++.
  • Userspace RCU - liburcu is a userspace RCU (read-copy-update) library.
  • libcds - A C++ library of Concurrent Data Structures.
  • liblfds - portable, license-free, lock-free data structure library written in C.
  • xenium - A C++ library providing various concurrent data structures and reclamation schemes.

Websites

Blogs

Books

Papers

Talks

About

This list was compiled by Erik Rigtorp <[email protected]>.

awesome-lockfree's People

Contributors

mspiegel avatar rigtorp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-lockfree's Issues

Add crossbream-rs to list

The list is appealing for concurrency hobbyists. However, it does not have my favourite crossbeam, which is a Rust library for concurrency lovers. This article should give an overview of current status.

In brief, crossbeam already provides:

  • MsQueue: lock-free Michael-Scott queue
  • TreiberStack: lock-free stack
  • lock-free skiplist

Xenium

Hi,

I am working on a C++ library called "Xenium" that provides various concurrent data structures and memory reclamation schemes: https://github.com/mpoeter/xenium
Maybe you can take a look at it and add it to your list. 🙂

Cheers,
Manuel

Intel oneTBB?

Hi, thanks for keeping the list, a nice collection! I do not know if Intel's oneTBB, neé TBB, belongs in. Its not a “lock-free” library, rather a “don't think about locks and build robust high-throughput HPC software that scales” library. At the core, it uses both locking and lock-free algorithms, and takes care about task affinity, data cache locality, per-thread memory allocation to reduce allocation contention, and other crazy stuff. But most of this stuff is deep at the core; it focuses on high-level design blocks (hence the name). xPxC queues and other concurrent containers are probably among the lowest level algorithms which it surfaces. Up to you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.