86464 - ALGORITHMS AND SYSTEMS FOR BIG DATA PROCESSING

Scheda insegnamento

SDGs

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.

Istruzione di qualità Imprese innovazione e infrastrutture

Anno Accademico 2020/2021

Contenuti

Algorithms (module 1 – Prof. Mauro Mangia):

  • Introduction to Python: packages for data processing and visualization
  • Data analytics: linear algebra for machine learning, basic of statistics and signal transformation
  • Low level signal processing: definition of digital filters, advanced filtering, power spectral estimation
  • Basics of machine learning: autoregressive models, dimensionality reduction, clustering, classification problem, base of neural networks, autoencoders
  • Streaming algorithms: basic streaming algorithms for feature extraction, streaming approaches for the PCA/PSA problem.

Systems (module 2 – Prof. Francesco Conti):

  • Basics of computer architecture: from high-level languages to Instruction Set Architecture; memory hierarchy; in-order and out-of-order processors.
  • Evaluating computers: latency and throughput, memory bandwidth, energy efficiency metrics.
  • Heterogeneous acceleration: concepts of parallel computing; GPU Architecture and basics of CUDA programming.
  • Big Data on large-scale computing systems: warehouse and streaming computing; high-performance and distributed computing (main concepts); practical applications.
  • Big Data on small-scale computers: data processing on embedded platforms; microcontrollers and DSP; SIMD extensions; practical examples from the automotive market.

Testi/Bibliografia

Main suggested readings for Algorithms module:

  • Digital Signal Processing: signals, systems and filters
    Andreas Antoniou
    McGraw-Hill (2006)
  • Outlier Analysis
    Charu C. Aggarwal
    Springer (2nd edition, 2017)
  • Deep Learning
    Ian Goodfellow, Yoshua Bengio, Aaron Courville
    MIT Press (2016)

Main suggested readings for Systems module:

  • Computer Organization and Design RISC-V Edition: The Hardware Software Interface
    David A. Patterson, John L. Hennessy
    Morgan Kaufmann (2017)
  • Programming Massively Parallel Processors: A Hands-on Approach
    David B. Kirk, Wen-mei W. Hwu
    Morgan Kaufmann (3rd edition, 2016)

Basic programming skills are required for the course.

Metodi didattici

Frontal lectures + laboratory exercises with own laptop.

The teaching language of this course is English.

Modalità di verifica dell'apprendimento

Learning is assessed by means of a joint oral exam for the two modules on the topics discussed during the frontal lectures. Students can opt to perform a mini-project to be discussed as part of the oral exam.

Strumenti a supporto della didattica

Annotated slides and additional teaching materials available online.

All materials will be shared by means of the official Insegnamenti On Line (IOL) site of the course.

Orario di ricevimento

Consulta il sito web di Francesco Conti

Consulta il sito web di Mauro Mangia