Qual é a melhor maneira que qualquer um pode fazer para ter uma boa introdução à teoria do sistema distribuído, a livros ou referências e a tópicos e tópicos devem ser abordados primeiro e os requisitos para começar a aprender neste tópico.
Qual é a melhor maneira que qualquer um pode fazer para ter uma boa introdução à teoria do sistema distribuído, a livros ou referências e a tópicos e tópicos devem ser abordados primeiro e os requisitos para começar a aprender neste tópico.
Respostas:
A coleção de palestras de Roger Wattenhofer sobre computação distribuída também é um bom ponto de partida.
Está disponível gratuitamente on-line, não pressupõe conhecimentos prévios sobre a área e o material está muito atualizado - abrange até alguns resultados apresentados em conferências há alguns meses.
Um bom começo seria por Sistemas Distribuídos por Nancy Lynch. Talvez seja um pouco datado, mas nada está errado com o livro como tal. Um resultado de impossibilidade não muda com o tempo.
Ambos os livros mencionados nas outras postagens são bons, porém gosto:
Lynch e Wattenhofer, dois grandes nomes da teoria de sistemas distribuídos, focam "muito" em sistemas síncronos. Por outro lado, Santoro e Tel se concentram mais em sistemas assíncronos (sem esquecer os sistemas síncronos). A opinião deles é que a sincronicidade de um sistema distribuído é uma "suposição adicional"! (isto é, por natureza, um sistema distribuído é assíncrono). Diante disso, você encontrará mais foco na complexidade da mensagem, enquanto nos outros livros o foco é na complexidade do tempo. É uma escola diferente em computação distribuída na minha opinião.
O livro N. Santoro foi o livro que eu usei para estudar (N. Santoro é meu professor, na verdade). Após o livro, você dominaria as principais idéias fundamentais da computação distribuída. É baseado em notas do curso e em pesquisas nas quais o autor esteve envolvido. É por isso que não é o livro mais completo. Mas está muito bem escrito!
Para o livro de G. Tel, há um nível interessante de formalismo. Gosto que ele inclua um capítulo para algoritmos distribuídos auto-estabilizantes. Eu acho que contém mais tópicos do que o livro de N. Santoro.
Outro livro amplamente disponível é o Distributed Computing (Attiya e Welch - dois estudiosos bem conhecidos com grande impacto no campo). Usei-o como referência por algumas vezes, mas não posso julgar.
Todos os livros mencionados são impressionantes, mas eu recomendo as Notas de James Aspnes sobre Teoria dos Sistemas Distribuídos . É um livro muito bom e atualizado que explora aspectos teóricos de sistemas distribuídos. Também é grátis!
Usei essas anotações quando eu era TA e os alunos ficaram muito felizes com isso. Tem muitas perguntas com suas soluções.
Um curso sobre algoritmos distribuídos determinísticos de Jukka Suomela.
É sobre:
Eu acrescentaria Introdução à programação distribuída confiável e segura de Christian Cachin, Rachid Guerraoui e Luís Rodrigues (link da amazon) .
Este livro é excelente, pois parte dos fundamentos da teoria da programação distribuída, com uma ampla cobertura de tópicos relevantes, como consenso e acordo bizantino .
O livro Sistemas Distribuídos: Conceitos e Design de George Coulouris, Jean Dollimore, Tim Kindberg e Gordon Blair.