Eu já fiz essa pergunta no Programmers.SE , sem sucesso.
Estou procurando recursos escritos de aprendizado sobre como projetar estruturas de dados simultâneas. Estou mais interessado no processo de design (por exemplo, na identificação dos invariantes corretos) do que no produto final (uma lista de códigos completa).
Para um exemplo concreto: gostei muito do livro de Chris Okasaki, “Estruturas de Dados Puramente Funcionais”, porque é mais do que apenas uma referência - ele orienta o leitor no design de suas estruturas e algoritmos de dados. Freqüentemente, o livro motiva um design complicado ou não óbvio, primeiro fornecendo uma versão mais ingênua e refinando-a até a complexidade de tempo desejada (na pior das hipóteses ou amortizada). Esse é o tipo de coisa que estou procurando.
Assim:
Quais técnicas ou heurísticas existem para projetar estruturas de dados simultâneas?
Existem livros, artigos, postagens em blogs, tutoriais etc. explicando essas técnicas e heurísticas?