A collection of slide decks from Concurrency Kit talks.
This talk is an introduction to the various motivations and features of Concurrency Kit, specifically with-in the context of applications
in the FreeBSD kernel.
This talk introduces a general technique for achieving single-writer non-blocking hash tables at low to negligible cost. The resulting hash table requires no barriers (fences) or locked instructions on architectures such as x86/x86-64. Read operations are lock-free and write operations are fast and bounded. Insertion and deletion are wait-free. Probe sequence mutation is linearized for the common case, bounded and fast. Architectures with relaxed memory models still require barriers.
This topic will walk the audience through the
story of the struggles Samy and his peers have faced in the last couple of
years in developing sufficient working knowledge to (efficiently) leverage
existing non-blocking data structures as well as design, implement and verify
new algorithms for use by mission-critical systems. It will highlight the holes
faced in existing open-source projects tackling the concurrency problem for the
C programming language and the literature associated with much of existing
An introduction to basic concepts related to safe memory
reclamation and epoch-based reclamation including some
comparative analysis of simple workloads to URCU.
An introduction to basic concepts related to non-blocking
synchronization in the context of a single-producer
single-consumer FIFO and leading up to very basic
safe memory reclamation.
A more in-depth introduction to non-blocking synchronization ranging from basics of the consensus problem, the consensus hierarchy to related
issues such as safe memory reclamation. This is a 2D slide deck, so please make sure
to browse using the "Down" arrow before going right (press space bar to view layout).