Impresionante sin bloqueo
Una colección de recursos sobre programación sin esperas y sin bloqueos.
Recurso aún mejor de MattPD: enlaces C++: atómicos, sin bloqueo, modelo de memoria.
Bibliotecas
- Boost.Lockfree: impulsa las estructuras de datos sin bloqueo.
- ConcurrencyKit: primitivas de simultaneidad.
- crossbeam: biblioteca Rust para programación concurrente.
- Folly: biblioteca de código abierto de Facebook (tiene una buena implementación de la cola MPMC).
- Junction: estructuras de datos concurrentes en C++.
- MPMCQueue: una cola limitada, multiproductor y multiconsumidor, sin bloqueos, escrita en C++11.
- SPSCQueue: una cola limitada, de un solo productor, de un solo consumidor, sin esperas y sin bloqueos, escrita en C++11.
- Seqlock: implementación de Seqlock en C++.
- Userspace RCU - liburcu es una biblioteca RCU (lectura-copia-actualización) de espacio de usuario.
- libcds: una biblioteca C++ de estructuras de datos concurrentes.
- liblfds: biblioteca de estructura de datos portátil, sin licencia y sin bloqueo escrita en C.
- xenium: una biblioteca de C++ que proporciona varias estructuras de datos y esquemas de recuperación simultáneos.
Sitios web
- 1024cores: sitio web de Dmitry Vyukov sobre programación sin bloqueos.
- Disruptor LMAX
- Wikipedia: algoritmo sin bloqueo
- Wikipedia: leer-copiar-actualizar
- Wikipedia: Seqlock
Blogs
- Concurrency Freaks: un sitio web dedicado a algoritmos y patrones concurrentes.
- Dan Luu: mucha información sobre la arquitectura informática moderna.
- Bloqueo en Webkit
- Simpatía mecánica
- Paul E. McKenney
- Presionando la programación
- Sutter's Mill - Herb Sutter sobre el desarrollo de software.
- Paul Khuong
Libros
- Paul E. McKenney . ¿Es difícil la programación paralela y, de ser así, qué se puede hacer al respecto?
- Maurice Herlihy y Nir Shavit . El arte de la programación multiprocesador
Papeles
- Un tutorial de introducción a los modelos de memoria relajada ARM y POWER
- Paul E. McKenney . Barreras de memoria: una visión del hardware para piratas informáticos.
- Algoritmos de colas concurrentes con bloqueo y sin bloqueo simples, rápidos y prácticos: The Michael - Scott Queue
- Ulrich Drepper . Lo que todo programador debe saber sobre la memoria
- x86-TSO: un modelo de programador riguroso y utilizable para multiprocesadores x86
Negociaciones
- CppCon 2014: Herb Sutter "Programación sin bloqueo (o malabarismo con las hojas de afeitar), Parte I"
- CppCon 2014: Herb Sutter "Programación sin bloqueo (o malabarismo con las hojas de afeitar), Parte II"
- CppCon 2015: Fedor Pikus PARTE 1 “Live Lock-Free o Deadlock (Programación práctica sin bloqueos)"
- CppCon 2015: Fedor Pikus PARTE 2 "Live Lock-Free o Deadlock (Programación práctica sin bloqueos)"
- CppCon 2015: Michael Wong “C++ 14/11/17 modelo atómico y de memoria…”
- CppCon 2015: Paul E. McKenney “Atomics de C++…”
- CppCon 2014: Tony Van Eerd "Liberar candados con el ejemplo"
- CppCon 2016: Fedor Pikus "La velocidad de la concurrencia: ¿es más rápido estar libre de bloqueos?"
- CppCon 2016: Hans Boehm “Uso correcto de átomos C++ débilmente ordenados"
- CppCon 2017: Fedor Pikus “Atomics C++, desde básico hasta avanzado. ¿Qué hacen realmente?
- CppCon 2017: Fedor Pikus “Leer, copiar, actualizar, ¿y luego qué? RCU para programadores que no son del kernel”
- CppCon 2017: P. McKenney, M. Michael y M. Wong “¿Sigue siendo difícil la programación paralela? PARTE 1 de 2”
- CppCon 2017: P. McKenney, M. Michael y M. Wong “¿Sigue siendo difícil la programación paralela? PARTE 2 de 2”
- CppCon 2018: “El panorama y el nuevo y emocionante futuro de la recuperación segura para un alto rendimiento”
- C++ y más allá de 2012: Herb Sutter - armas atómicas<>, 1 de 2
- C++ y más allá de 2012: Herb Sutter - armas atómicas<>, 2 de 2
- "Aeron: mensajería de código abierto de alto rendimiento" por Martin Thompson
- Aventuras con la programación concurrente en Java: una búsqueda de una latencia predecible - Martin Thompson
- Comprender el disruptor, una guía para principiantes sobre la concurrencia extrema -Trisha Gee y Mike Barker
Acerca de
Esta lista fue compilada por Erik Rigtorp <[email protected]>.