Impressionante sem bloqueio
Uma coleção de recursos sobre programação sem espera e sem bloqueio.
Recurso ainda melhor do MattPD: links C++: atômico, livre de bloqueio, modelo de memória.
Bibliotecas
- Boost.Lockfree - Aumente estruturas de dados sem bloqueio.
- ConcurrencyKit - Primitivas de simultaneidade.
- crossbeam - Biblioteca Rust para programação simultânea.
- Folly - Biblioteca de código aberto do Facebook (possui boa implementação da fila MPMC).
- Junção - Estruturas de dados simultâneas em C++.
- MPMCQueue - Uma fila limitada, multiprodutor e multiconsumidor, sem bloqueio, escrita em C++ 11.
- SPSCQueue - Uma fila limitada, de produtor único, de consumidor único, sem espera e sem bloqueio, escrita em C++ 11.
- Seqlock - Implementação de Seqlock em C++.
- Userspace RCU - liburcu é uma biblioteca RCU (leitura-cópia-atualização) do espaço do usuário.
- libcds - Uma biblioteca C++ de estruturas de dados simultâneas.
- liblfds - biblioteca de estrutura de dados portátil, sem licença e sem bloqueio, escrita em C.
- xenium - Uma biblioteca C++ que fornece várias estruturas de dados simultâneas e esquemas de recuperação.
Sites
- 1024cores - Site de Dmitry Vyukov sobre programação sem bloqueio.
- Disruptor LMAX
- Wikipedia: Algoritmo sem bloqueio
- Wikipedia: Ler-copiar-atualizar
- Wikipédia: Seqlock
Blogues
- Concurrency Freaks - Um site dedicado a algoritmos e padrões simultâneos.
- Dan Luu – Muitas informações sobre arquitetura moderna de computadores.
- Bloqueando no Webkit
- Simpatia Mecânica
- Paul E. McKenney
- Prestando na programação
- Sutter's Mill - Herb Sutter no desenvolvimento de software.
- Paulo Khuong
Livros
- Paul E. McKenney . A programação paralela é difícil e, em caso afirmativo, o que você pode fazer a respeito?
- Maurice Herlihy e Nir Shavit . A arte da programação multiprocessador
Artigos
- Um tutorial de introdução aos modelos de memória relaxada ARM e POWER
- Paul E. McKenney . Barreiras de memória: uma visão de hardware para hackers de software.
- Algoritmos de fila simultânea simples, rápidos e práticos, sem bloqueio e bloqueio - The Michael - Scott Queue
- Ulrich Drepper . O que todo programador deve saber sobre memória
- x86-TSO: um modelo de programador rigoroso e utilizável para multiprocessadores x86
Palestras
- CppCon 2014: Herb Sutter "Programação sem bloqueio (ou malabarismo com lâminas de barbear), Parte I"
- CppCon 2014: Herb Sutter "Programação sem bloqueio (ou malabarismo com lâminas de barbear), Parte II"
- CppCon 2015: Fedor Pikus PARTE 1 “Live Lock-Free ou Deadlock (Programação prática sem bloqueio)"
- CppCon 2015: Fedor Pikus PARTE 2 "Live Lock-Free ou Deadlock (Programação prática sem bloqueio)"
- CppCon 2015: Michael Wong “Atômica C++ 11/14/17 e modelo de memória ...”
- CppCon 2015: Paul E. McKenney “C++ Atomics...”
- CppCon 2014: Tony Van Eerd "Livre de bloqueio por exemplo"
- CppCon 2016: Fedor Pikus "A velocidade da simultaneidade: o bloqueio é mais rápido?"
- CppCon 2016: Hans Boehm “Usando átomos C++ fracamente ordenados corretamente"
- CppCon 2017: Fedor Pikus “Atômica C++, do básico ao avançado. O que eles realmente fazem?”
- CppCon 2017: Fedor Pikus “Ler, copiar, atualizar, e daí? RCU para programadores não-kernel”
- CppCon 2017: P. McKenney, M. Michael e M. Wong “A programação paralela ainda é difícil? PARTE 1 de 2”
- CppCon 2017: P. McKenney, M. Michael e M. Wong “A programação paralela ainda é difícil? PARTE 2 de 2”
- CppCon 2018: “O cenário e o novo e emocionante futuro da recuperação segura para alto desempenho”
- C++ e além de 2012: Herb Sutter - armas atômicas<>, 1 de 2
- C++ e além de 2012: Herb Sutter - armas atômicas<>, 2 de 2
- "Aeron: mensagens de alto desempenho de código aberto" por Martin Thompson
- Aventuras com programação simultânea em Java: uma busca por latência previsível - Martin Thompson
- Compreendendo o Disruptor, um guia para iniciantes em simultaneidade hardcore -Trisha Gee e Mike Barker
Sobre
Esta lista foi compilada por Erik Rigtorp <[email protected]>.