David Stone (Uber) will present:
The concurrent queue is the basic data structure for multithreaded communication, and needs to be fast. This presentation covers the design, implementation, and use of a concurrent queue that:
* can push through billions of messages/second on standard consumer hardware (for instance, a laptop)
* allows a theoretically unbounded number of producers and consumers
* places no restrictions on the types contained
* is sequentially consistent
* has an obvious, value-oriented interface
* is almost obviously data-race-free by inspection
* is released under an open source license (Boost Software License)
Nothing is free, and getting this performance with all of these guarantees required giving up one guarantee: the lock-free guarantee. This presentation will explain just what the lock-free guarantee is, and what it means, in practical terms, to not have it. This queue will be compared to many others: Moody Camel, Boost, Intel, and Folly. You can get the source code at: https://github.com/davidstone/concurrent-queue
Gluten free 😉 food and drink will be provided by our awesome sponsors!
Come join the fun and discussion.