Created on 23 Jun 2019 ;    Modified on 01 Jul 2019

Unicam: l'insegnamento Distributed Systems

Dovendo decidere che insegnamento seguire nel secondo semestre di Computer Science, a.a. 2018/19 in Unicam, ho dato una occhiata agli insegnamenti attivati.

Quello di Distributed Systems era il pìù comodo come orari, e veniva trasmesso in streaming tramite Webex. Così ho deciso di approfondire per capire come organizzarmi.

Quest'anno [1] l'insegnamento è stato impartito dal prof. Leonardo Mostarda.

Nel corso delle lezioni, il professore ha fatto riferimento sopratutto alla seconda edizione del testo Distributed Systems di Maarten van Steen e Andrew S. Tanenbaum.

La prima sessione d'esame è stata organizzata con due prove parziali, del tipo a domande con risposta a scelta. Se il candidato otteneva risultati superiori al 18, poteva chiedere la verbalizzazione dell'esame con la media aritmentica dei risultati parziali. Oppure poteva richiedere di sostenere anche una prova orale, riguardante l'intero programma dell'insegnamento, per tentare di aumentare il voto finale.

Dalla sessione estiva in poi, l'esame prevede una prova scritta, con domande a risposta libera, e una successiva prova orale.

Tipo di contenuto

Veniamo ai contenuti del corso. Il dettaglio delle lezioni di quest'anno accademico lo puoi leggere in questi appunti delle lezioni di Distributed Systems.

Mentre un elenco degli argomenti trattati è il seguente:

  • Definizione di sistema distribuito,
  • Categorie di sistemi distribuiti,
  • Architetture di sistemi distribuiti,
  • Processi e Thread,
  • Anatomia di client e server,
  • Remote Procedure Call,
  • Naming,
  • Sincronizzazione,
  • Consistenza,
  • Paxos,
  • Bizantini.

L'elenco predetto non rende merito alla vastità degli argomenti affrontati. Prova a dare un'occhiata a questa sinossi dei suoi contenuti per avere una idea di quanto spazino questi argomenti.

Osservazioni

Il prof. Mostarda ha dovuto organizzare con attenzione i contenuti del corso.

Si è trovato di fronte agli stessi problemi degli autori del testo di riferimento: un argomento complessivamente vasto, da esporre con vincoli temporali stringenti.

Per forza di cose tutto ciò porta ad una esposizione di tipo narrativo, che successivamente deve essere puntualizzata con esempi di algoritmi che permettano agli studenti di acquisire una attitudine analitica e di programmazione efficace. Alla fine, si cerca un compromesso, proponendo esempi di algoritmi, ma senza effettuarne lo sviluppo vero e proprio.

D'altro canto, mi sento di affermare che, nell'ambito di un Master di Computer Science, è bene affrontare le problematiche su elencate partendo da un punto di vista complessivo. Per affrontare il dettaglio dei diversi argomenti, quando si renderà necessario nell'ambito dei successivi insegnamenti o, perché no, delle esperienze lavorative.

Anche in questo insegnamento la diffusione delle lezioni tramite Webex è stata sufficientemente efficace. Anche se non scevra di qualche problema: saltuarie sparizioni dell'audio, o del desktop, con successive necessità di riavvio della sessione. Inoltre vi è stato un problema di organizzazione. Il prof.Mostarda condivideva tramite Webex la presentazione PowerPoint che costituiva la struttura della lezione. Ma per illustrare gli argomenti faceva spesso ricorso a note sulla lavagna. E queste non venivano diffuse in streaming.

Conclusione

Anche questo è stato un insegnamento impegnativo, sia pure per motivi diversi rispetto Complex Systems Design.

Tutto sommato, credo che il modo migliore di inquadrarlo sia quanto detto nelle precedenti osservazioni: un insegnamento che ha lo scopo di illustrare la materia da un punto di vista organico, complessivo. Per poi delegare le necessarie attività di affinamento ad insegnamenti successivi.

E il prof.Mostarda non ha esistato a mettere in campo le sue passate esperienze per chiarire i concetti, partendo dai sistemi di cluster computing di Shinfield Park, arrivando ai server di Google, passando per la domotica.

Un ultimo richiamo. Al solito: linguaggio ufficiale è l'inglese. Anche se in questo caso qualche deroga c'è stata.


[1]Sembra che il prossimo anno accademico questo insegnamento sarà erogato da un altro professore.