Created on 13 Apr 2019 ;    Modified on 17 Apr 2019

La recensione del libro: Distributed systems, 3rd ed.

Sto studiando il testo Distributed Systems, 3rd edition, di Maarten van Steen e Andrew S. Tanenbaum.

Questo testo, in seconda edizione, è stato adottato come riferimento per l'insegnamento di Distributed Systems, nell'ambito del Master of Science degree in Computer Science della Università di Camerino.

Precedentemente pubblicato da Pearson Educations, Inc., gli autori ne hanno riacquisito il diritto di pubblicazione, ed ora è pubblicato da uno di loro (Maarten van Steen) sia in formato cartaceo che elettronico.

Dal sito di Maarten van Steen è possibile ottenere una copia gratuita del formato elettronico, per uso personale.

Qui di seguito riporto le mie impressioni.

Riferimenti

Periodo di lettura: Marzo-Aprile 2019; recensione: Aprile 2019.

Autori: Maarten van Steen e Andrew S. Tanenbaum.
Titolo: Distributed Systems
Sottotitolo: Third edition
Editore: Maarten van Steen, 2018
Pagine: 596
ISBN: 978-90-815406-2-9
Lingua: inglese

Contenuto

Si comincia con una introduzione che illustra la definizione e le caratteristiche di base dei sistemi distribuiti. Ovvero: supporto della condivisione delle risorse, rendere trasparente la loro distribuzione, essere aperti e scalabili. Nonché i principali tipi di sistemi distribuiti.

Quindi gli autori riportano le principali architetture: tipi, organizzazioni centralizzate e decentralizzate, achitetture ibride.

Poi si analizzano i processi, tramite threads e virtualizzazione, con relativi impatti su sistemi client e server.

Inoltre, parlando di sistemi distribuiti, è fondamentale il concetto di comunicazione tra i sistemi. Anche qui, analizzando prima i fondamenti, per poi considerare i meccanismi più diffusi: RPC e message-oriented.

Altro ambito d'interesse è il naming, ovvero come identificare e indirizzare le risorse.

Così come è fondamentale il coordinamento. In questo contesto assume visibilità la coordinata temporale. Da cui una escursione nell'ambito del (difficile) problema della sincronizzazione dei tempi tra processi diversi.

Si passa poi ai concetti di consistenza e replica dei dati distribuiti tra più sistemi.

Quindi si analizza la fault tolerance, per concludere infine con la sicurezza.

Impressioni

Premetto che la mia impressione è ancora in fase di assestamento. Sto completando una prima lettura piuttosto veloce per passare tra qualche giorno alla seconda fase, quella di acquisizione analitica. Di conseguenza mi riservo il diritto di modificare nei prossimi giorni ciò che stò per dire.

Questo manuale affronta una problematica vastissima e complessa. Di conseguenza mi sono chiesto: "come diavolo ci riesce?".

A mio avviso ci riesce "volando alto", ovvero affrontando la maggior parte degli argomenti con una visione generale, che rischia di lasciare il lettore con una sensazione di notevole ambiguità.

Per cercare di contenere questo effetto, ogni tanto gli autori indirizzano la propria attenzione verso un ambito più contenuto, definendo una precisa area d'intervento e illustrando in maggiore dettaglio come è stata affrontata.

Però questa oscillazione tra argomenti di carattere generale, inframezzati da analisi molto più puntuali, se da un lato offre degli interessanti spunti di riflessione, dall'altro rischia di lasciare disorientato un lettore che non sia più che smaliziato.

D'altro canto, devo dire che per ora la mia costante tendenza a chiedermi "come funziona?" non è rimasta soddisfatta. Vedremo se, a questo fine, cambierà qualcosa dopo la seconda fase di studio: quella analitica.

Fatemi concludere con una considerazione positiva: questi autori hanno avuto il coraggio di pubblicare il loro lavoro, se consultato per uso personale, senza richiedere il pagamento della pubblicazione. Personalmente apprezzo moltissimo questo tipo di disponibilità per i testi didattici. Sono un convinto sostenitore del fatto che la cultura vada diffusa, evitando che rimanga appannaggio di una elite sociale dotata di rilevanti risorse economiche. Quindi un personale plauso a Maarten van Steen.