¿Comenzar a aprender sobre la teoría de los sistemas distribuidos?

24

¿Cuál es la mejor manera que cualquiera puede hacer para tener una buena introducción a la teoría del sistema distribuido, cualquier libro o referencia, y los temas deben ser cubiertos primero y los requisitos para comenzar a aprender sobre este tema?

Sameh Kamal
fuente

Respuestas:

22

La colección de conferencias Principios de Computación Distribuida de Roger Wattenhofer también es un buen lugar para comenzar.

Está disponible gratuitamente en línea, no asume ningún conocimiento previo sobre el área y el material está muy actualizado; incluso cubre algunos resultados que se presentaron en conferencias hace un par de meses.

Jukka Suomela
fuente
Creo que las notas de esta conferencia son simples y buenas. Muchas gracias.
Sameh Kamal
9

Un buen comienzo sería por Distributed Systems por Nancy Lynch. Quizás esté un poco anticuado, pero el libro no tiene nada de malo. Un resultado de imposibilidad no cambia con el tiempo.

Dave Clarke
fuente
9

Los dos libros mencionados en las otras publicaciones son buenos, sin embargo, me gusta:

  • Diseño y Análisis de Algoritmos Distribuidos, Nicola Santoro.
  • Introducción a los algoritmos distribuidos, Gerard Tel.

Lynch y Wattenhofer, dos grandes nombres de la teoría de sistemas distribuidos, se centran "mucho" en sistemas sincrónicos. Por otro lado, Santoro y Tel se enfocan más en sistemas asíncronos (sin olvidar los sistemas síncronos). ¡Su opinión es que la sincronía de un sistema distribuido es una "suposición adicional"! (es decir, por naturaleza, un sistema distribuido es asíncrono). Dado esto, encontrará más enfoque en la complejidad del mensaje, mientras que en los otros libros se enfocará en la complejidad del tiempo. Es una escuela diferente en informática distribuida en mi opinión.

El libro de N. Santoro fue el libro que usé para estudiar (N. Santoro es mi maestro en realidad). Después del libro, dominaría las principales ideas fundamentales de la informática distribuida. Se basa en las notas del curso y la investigación en la que participó el autor. Es por eso que no es el libro más completo. ¡Pero está muy bien escrito!

Para G. Tel book, hay un interesante nivel de formalismo. Me gusta que incluye un capítulo para algoritmos distribuidos autoestabilizadores. Creo que contiene más temas que el libro de N. Santoro.

Otro libro ampliamente disponible es Computación distribuida (Attiya y Welch, dos académicos conocidos con gran impacto en el campo). Lo usé como referencia varias veces, pero no puedo emitir un juicio.

AJed
fuente
7

Todos los libros mencionados son impresionantes, pero le recomiendo las Notas de James Aspnes sobre Teoría de Sistemas Distribuidos . Es un libro muy bueno y actualizado que explora aspectos teóricos de los sistemas distribuidos. ¡También es gratis!

Usé estas notas cuando era TA y los estudiantes estaban muy contentos con eso. Tiene muchas preguntas con sus soluciones.

Reza
fuente
4

Un curso sobre algoritmos deterministas distribuidos por Jukka Suomela.

Es sobre:

  • sistemas distribuidos como modelo de computación.
  • algoritmos distribuidos en el modelo de numeración de puertos.
  • problemas de optimización sobre cubiertas de vértices y conjuntos dominantes de bordes.
  • redes con identificadores únicos.
  • Teoría de ramsey y aplicación de la teoría.
Claudio Biale
fuente
Sí, Jukka Suomela es una investigadora inteligente. Me gustan sus papeles.
AJed
0

Yo añadiría Introducción a fiable y segura de Programación Distribuida por Christian Cachin, Rachid Guerraoui y Luís Rodrigues (Amazon enlace) .

Este libro es excelente ya que se basa en los fundamentos de la teoría de la programación distribuida, con una gran cobertura sobre temas relevantes como el consenso y el acuerdo bizantino .

Daniel
fuente
-2

El libro Sistemas distribuidos: conceptos y diseño de George Coulouris, Jean Dollimore, Tim Kindberg y Gordon Blair.

Abraham Guchi
fuente
77
¿Por qué responde esto a la pregunta de OP? Proporcione más información sobre el contenido del libro.
Pål GD
2
Aunque no fui yo quien votó negativamente ... pero este libro no trata los aspectos teóricos de la informática distribuida desde una perspectiva informática . Es más un libro de ingeniería. En cualquier caso, supongo que responde a la pregunta anterior.
AJed