B5788 - INTRODUCTION TO BIG DATA PROCESSING INFRASTRUCTURES

Anno Accademico 2025/2026

  • Docente: Daniele Cesini
  • Crediti formativi: 4
  • SSD: FIS/01
  • Lingua di insegnamento: Inglese
  • Moduli: Daniele Cesini (Modulo 1) Alessandro Costantini (Modulo 2)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
  • Campus: Bologna
  • Corso: Laurea Magistrale in Bioinformatics (cod. 6767)

Conoscenze e abilità da conseguire

Al termine del corso, lo studente possiede le conoscenze teoriche e pratiche di base sulle infrastrutture per il calcolo scientifico, sui sistemi distribuiti e paralleli, sui sistemi batch e sulle tecnologie di sicurezza.

Contenuti

Modulo 1

Contenuti del corso

Il corso fornirà i concetti di base sulle infrastrutture per l'elaborazione dei Big Data e per l'esecuzione di applicazioni scientifiche. In particolare, si concentrerà sul paradigma Cloud Infrastructure-as-a-Service (IaaS). Il corso inizierà con un’introduzione ai Big Data e alla loro relazione con le applicazioni scientifiche. Proseguirà con una descrizione dei componenti fondamentali dei moderni Data Center e di come questi siano astratti dai modelli di Cloud Computing. Verrà proposto un problema computazionale reale e gli studenti creeranno (durante il corso) un modello di calcolo basato su Cloud per risolverlo. Gli studenti avranno accesso a un insieme limitato di risorse e servizi Cloud per completare gli esercizi. Verranno introdotti i container, in particolare i Docker Container, insieme al concetto di High Performance Computing (HPC). Il corso si concluderà con nozioni sui paradigmi emergenti di “Fog” e “Edge” computing e sul loro legame con le infrastrutture Cloud.

Programma:

  1. Introduzione al corso e alla sfida computazionale

Big Data

  • Definizione di Big Data
  • Classificazione delle applicazioni Big Data
  • Esempi di applicazioni Big Data
  • Big Data e applicazioni scientifiche
  • Presentazione della sfida computazionale che ci accompagnerà durante il corso

Esercitazione pratica:

  • Configurazione delle connessioni e accesso
  1. Dal tuo laptop al Data Center – componenti del Data Center

CPU Farm

  • Sistema batch, code, politiche di allocazione, quote, ecc.

Storage

  • DAS vs NAS
  • SAN
  • TAN
  • File system paralleli
  • Ciclo di vita dei dati, QoS
  • Migrazione, richiamo, ACL

Rete: principali protocolli (Ethernet, Infiniband, Fiber Channel)

Monitoraggio e provisioning

Esercitazione pratica: invio di job su un piccolo cluster già disponibile per gli studenti

  1. Infrastrutture per il calcolo parallelo

HTC vs HPC

HTC

  • Sistemi distribuiti
  • Grid Computing

HPC

  • Memoria condivisa vs memoria distribuita
  • OPENMPI/OPNMPI
  • Acceleratori per il calcolo parallelo
  • Risorse ibride e non standard

Efficienza energetica e calcolo a basso consumo

  • Verso il calcolo exascale

Esercitazione pratica: dimostrazione live – creazione di curve di speedup per i casi d’uso NAMD SMTV/APOA1. Calcolo su GPU. Calcolo su sistemi a basso consumo.

  1. Infrastruttura Cloud

Cloud Computing: Introduzione

  • Dimensioni del Cloud Computing – IaaS, PaaS, SaaS, modelli di servizio e isolamento

Cloud IaaS

  • Vantaggi e svantaggi
  • Porting delle applicazioni sul Cloud
  • Utilizzo di AWS

Cloud Storage – provisioning di dispositivi a blocchi e file system POSIX

Esercitazione pratica:

  • Istanziazione IaaS con AWS – creare l’infrastruttura per eseguire gli esercizi del corso
  • Istanziazione di più macchine – esperienza sull’elasticità del cloud – creare un mini-cluster – eseguire l’esercizio del corso su quel cluster
  • Creare volumi di storage sul Cloud e renderli disponibili al cluster
  • Creazione di un cluster Hadoop
  • Introduzione a MapReduce ed esercizio
  1. Introduzione ai Container
  • Concetti base sui container
  • Esecuzione ed estensione dei container
  • Docker Hub e dockerfile
  • Connessione dei container ai file system
  • Esportazione e importazione dei container
  • Docker-compose
  • Esecuzione di container Docker in userspace con udocker
  1. Computing Continuum
  • Dispositivi a basso consumo
  • Introduzione all’Edge Computing
  • Introduzione al Fog Computing
  • Il continuum computazionale per le infrastrutture Big Data
  • Efficienza energetica e calcolo a basso consumo
  • Verso il calcolo exascale

Il corso includerà, per gli studenti interessati, una visita al Data Center INFN-CNAF di Bologna.

Modulo 2

Il corso "Infrastructures for Big Data Processing Module 2" (BDP Modulo 2) si basa sul corso "Introduction to Big Data Processing Infrastructures Module 1" (BDP Modulo 1). Prima di seguire questo modulo, gli studenti dovrebbero aver già frequentato il corso BDP1, o almeno avere una buona familiarità con gli argomenti trattati.

Il corso BDP Modulo 2 inizierà con un riepilogo delle basi del Cloud Computing e dei servizi di storage oltre l’IaaS (PaaS e SaaS). Proseguirà poi con la discussione su come sfruttare le infrastrutture distribuite per il deployment di applicazioni e l’elaborazione dei Big Data.

Una caratteristica distintiva del Modulo 2 è la presenza di numerose sessioni pratiche che si collegano direttamente alle parti teoriche. In questo modo, gli studenti applicheranno subito i concetti a casi d’uso reali. Per ottenere il massimo beneficio da questo approccio, è fortemente raccomandata la partecipazione a tutte le lezioni.

Introduzione al BDP Modulo 2

  • Introduzione al corso e obiettivi
  • Cloud oltre l’IaaS: concetti generali
  • Come utilizzare l’infrastruttura Cloud per questo corso

Cloud Storage

  • File system e storage POSIX
  • Network File System (NFS)
  • Object storage, architettura REST e formato JSON
  • File system virtuali
  • Esempi semplici di elaborazione dati locale e remota

Container Docker avanzati

  • Riepilogo dei concetti base sui container (dal BDP1)
  • Networking nei container
  • Gestione dei processi, logging e sicurezza
  • Repository e versionamento: Git, GitHub, Docker-Hub
  • Workflow completo di sviluppo applicativo

Autenticazione e Autorizzazione

  • Principi di autenticazione e autorizzazione nel Cloud
  • X.500, LDAP, Radius, Kerberos
  • X.509 e crittografia a chiave pubblica
  • SAML, eduGAIN, IDEM, SPID
  • OAuth e OpenID-Connect
  • INDIGO IAM
  • Adattamento di un’applicazione per l’uso di INDIGO-IAM

Automazione nel Cloud

  • Cos’è l’automazione nel Cloud
  • Microservizi e monoliti
  • Concetto di DevOps
  • Orchestrazione dei container: Docker Swarm e Kubernetes, con ampie sessioni pratiche su Kubernetes
  • Infrastructure as Code: tecnologie serverless
  • Orchestrazione delle applicazioni basata su template
  • Automazione nel Cloud e orchestrazione dei servizi

Testi/Bibliografia

"l materiale del corso sarà condiviso e, durante il corso, verranno suggeriti anche MOOC esterni e libri.

Metodi didattici

Il metodo didattico sarà basato su alcune fondamenta teoriche, ma sarà fortemente integrato da considerazioni pratiche su infrastrutture reali utilizzate per l’elaborazione dei Big Data, oltre che da alcune sessioni pratiche.

A causa della natura dell’attività e dei metodi didattici adottati, la partecipazione al presente corso richiede la preventiva frequenza da parte di tutti gli studenti ai seguenti Moduli e-learning 1 e 2:

  • Modulo 1 – Formazione Generale sulla Sicurezza
    [https://elearning-sicurezza.unibo.it/course/view.php?id=23]

  • Modulo 2 – Formazione Specifica sulla Sicurezza (parte I)
    [https://elearning-sicurezza.unibo.it/course/view.php?id=43]

Modalità di verifica e valutazione dell'apprendimento

Esame scritto con domande a scelta multipla.

 

Studenti/sse con DSA o disabilità temporanee o permanenti: si raccomanda di contattare per tempo l’Ufficio di Ateneo competente (https://site.unibo.it/studenti-con-disabilita-e-dsa/it). Sarà sua cura proporre agli/lle studenti/sse interessati/e eventuali adattamenti, che dovranno comunque essere sottoposti, con almeno 15 giorni di anticipo, all’approvazione del/della docente, il/la quale ne valuterà l'opportunità anche in relazione agli obiettivi formativi dell’insegnamento.

Strumenti a supporto della didattica

Slide per la teoria, utilizzo di infrastrutture reali per le sessioni pratiche

Orario di ricevimento

Consulta il sito web di Daniele Cesini

Consulta il sito web di Alessandro Costantini