
Distributed Systems An Algorithmic Approach, 2nd Edition
Sukumar Ghosh
- Editorial
- CRC Press
- Año
- 2014
- Páginas
- ~554
- Nivel
- Intermedio
De qué trata
Texto universitario de referencia publicado por CRC Press en 2014 (segunda edición), escrito por Sukumar Ghosh, profesor de la Universidad de Iowa. La obra aborda los modelos formales, principios abstractos y protocolos fundamentales que rigen los sistemas distribuidos, priorizando la claridad conceptual y la intuición metodológica sobre una notación matemática excesivamente densa. Está dirigida a estudiantes universitarios de nivel avanzado, posgraduados, investigadores y arquitectos de software distribuido. Presupone nociones sólidas de sistemas operativos (concurrencia, procesos, hilos, comunicación interproceso), estructuras de datos y conceptos básicos de redes y lógica matemática.
El temario abarca exhaustivamente los fundamentos del área: comunicación por paso de mensajes (modelos síncronos y asíncronos), especificación de algoritmos mediante sintaxis de acciones condicionadas por guardas, razonamiento de corrección mediante propiedades de seguridad (safety), vivacidad (liveness) e invariantes; noción de tiempo y sincronización de relojes (relojes lógicos de Lamport, relojes vectoriales, algoritmos de Cristian y NTP); paradigmas de coordinación como exclusión mutua distribuida (algoritmos de Ricart-Agrawala, Maekawa, Suzuki-Kasami), detección de estados globales e instantáneas distribuidas (algoritmo de Chandy-Lamport), detección de bloqueos y algoritmos de elección de líder; tolerancia a fallos y consenso (modelos de fallo por caída, omisión y fallos bizantinos, el resultado de imposibilidad FLP, protocolo Paxos), transacciones distribuidas y compromiso atómico (2PC y 3PC), comunicación de grupo (difusión atómica y orden causal), replicación de datos y modelos de consistencia (secuencial, linealizable y eventual, sistemas basados en quórums), sistemas autoestabilizantes, simulación discreta distribuida (Time Warp), seguridad básica y redes entre pares (P2P y tablas hash distribuidas como Chord).
El libro no incluye proyectos de desarrollo de software guiados en un lenguaje concreto ni código fuente listo para desplegar, sino que emplea pseudocódigo formal y presenta al final de cada capítulo una variada colección de ejercicios analíticos de diseño de protocolos, derivación de invariantes y trazado de ejecuciones distribuidas. Su principal aporte es desentrañar con rigor y sencillez los dilemas teóricos universales (como concurrencia, asincronía y fallos parciales) que subyacen en las tecnologías en la nube modernas. No enseña herramientas o frameworks comerciales como Apache Kafka, Kubernetes o gRPC. Conviene abordarlo con fundamentos previos de sistemas operativos para asimilar sin dificultad las implicaciones de las condiciones de carrera distribuidas y los modelos de fallo.
- Sistemas distribuidos
- Relojes lógicos de Lamport
- Relojes vectoriales
- Consenso distribuido
- Algoritmo Paxos
- Exclusión mutua distribuida
- Instantáneas de Chandy-Lamport
- Tolerancia a fallos
- Sistemas autoestabilizantes
- Tablas hash distribuidas (DHT)
- Transacciones distribuidas
¿Cómo enseña?
Teórico
- ✓ Incluye ejercicios
- ✗ Sin proyectos

