¿Cuál es el mejor libro para aprender sobre sistemas concurrentes / paralelos / distribuidos?

Los sistemas concurrentes, paralelos y distribuidos son tres temas distintos 🙂

Concurrente: se ejecutan muchos procesos diferentes, y sus pasos se intercalan en algún orden desconocido. Objetivo principal: detenerlos pisando los dedos de los pies.

Paralelo: muchos procesos que se ejecutan, en pasos de bloqueo, en múltiples procesadores. Objetivo principal: reducir el tiempo empleado y también el trabajo total. [Por ejemplo, suponga que tiene un algoritmo secuencial O (n) y un algoritmo paralelo que toma el tiempo O (log n) y los procesadores O (n). El algoritmo paralelo necesita tiempo O (log n) pero O (n log n) trabajo total.]

Distribuido: concurrente, más ahora las piezas del sistema pueden fallar de forma independiente. Los procesos pueden fallar, los mensajes pueden perderse …
Objetivo principal: evitar que los fallos parciales destruyan todo el sistema.

Hay varias aproximaciones al campo. Los libros ya mencionados, por Colouris y por Tanenbaum, son buenos para un enfoque de ingeniería, pero son bastante grandes. Si solo quieres una prueba, un buen libro de iniciación es

Amazon.com: Computación distribuida y en la nube: desde el procesamiento paralelo al libro electrónico de Internet de las cosas: Kai Hwang, Jack Dongarra, Geoffrey C. Fox: Kindle Store

Hay tres perspectivas para las que puedo recomendar libros,

1. Desde la perspectiva del sistema :

Sistemas distribuidos y paralelos: del clúster a la computación en cuadrícula: Peter Kacsuk, Thomas Fahringer, Zsolt Nemeth

Procesamiento paralelo distribuido, vol. 1: Fundaciones: David E. Rumelhart, James L. McClelland, Grupo de Investigación PDP

2. Desde la teoría y la perspectiva de la implementación :

Computación concurrente y paralela: teoría, implementación y aplicaciones: Alexander S. Becker

3. Desde la perspectiva de la programación :

Programación paralela y concurrente en Haskell: Técnicas para la programación multinúcleo y multiproceso: Simon Marlow

Principios de la programación concurrente y distribuida (2ª edición): Mordechai Ben-Ari

1. Comience con el libro de Tanenbaum sobre sistemas distribuidos. También el libro de clouris sobre computación distribuida es bueno. Estos deben proporcionarle los antecedentes suficientes para llevar a cabo un estudio más detallado sobre diferentes aspectos de DC.

Enlaces aquí
George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair: Amazon.es: Tienda Kindle

Amazon.co.uk: Libros