Data Centers and High Performance Computing
Master's Degree in Engineering in Computer Science
Academic Year 2016/2017
6 crediti

Docenti: Prof. Bruno Ciciani - Prof. Francesco Quaglia
Tutor: Dr. Alessandro Pellegrini - Dr. Pierangelo Di Sanzo

Course Objectives

The Data Centers and High Performance Computing course aims at inroducing how to organize and effectively use high-end systems. To this end, modern computing architectures are first discussed at a single-chip level, with a special focus on massively-parallel architectures. Modern paradigms for concurrent and distributed programming are explained, which allow to fully exploit these modern architectures. The typical organization of data centers which host generic applications (such as web and data management ones) is presented, along with concepts related to their design and management. Emphasis will be given to the relationship between this organization and the Cloud Computing paradigm. The course will address as well topics related to transparency towards parallelism and distribution. Some topics will be associated with seminars given by renowned international companies.


  • Written Test: September 13, 2017 - RESULTS
  • Written Test: July 19, 2017 - RESULTS
  • Written Test: June 21, 2017 - RESULTS
  • Written Test: April 07, 2017 - RESULTS
  • Lectures schedule:
    • Monday: 16.00 - 19.00 (room A2)
    • Friday: 08.00 - 10.00 (room A2)

Exam Rules

The exam is divided in two parts: a written test (5 questions, 2.30 hours) which will give 3/5 of the final mark; a practical project (2/5 of the final mark). The written test must be passed before starting the starting to work on the project.

We will record who attends the seminars. In case less than 60% of the seminars are attended, an additional essay on one of the topics presented at the seminars will be requested.

Reference Books

The following is a list of books which cover most of the topics of the course. In any case, lecture notes are enough to prepare the exam.
  • Peter Pacheco, "An Introduction to Parallel Programming". ISBN: 978-0-12-374260-5
  • Maurice Herlihy, Nir Shavit, "The Art of Multiprocessor Programming". ISBN: 978-0-12-370591-6
  • Rachid Guerraoui, Paolo Romano, "Transactional Memory. Foundations, Algorithms, Tools, and Applications". ISBN: 978-3-319-14720-8
  • Alessandro Pellegrini, "Parallelization of Discrete Event Simulation Models". ISBN: 978-8-89-853359-6
  • Daniel Sorin, Mark Hill, David Wood, "A Primer on Memory Consistency and Cache Coherence". ISBN: 978-1-60-845564-5

Program (preliminar)

  1. Introduction [Lecture Notes]
  2. Advanced Computing Architectures [Lecture Notes] - [Software Example]
    • Parallel architectures
    • Multi-core/multiprocessor systems
    • Cache-coherent systems
    • NUMA implications
    • Non-cache-coherent systems
  3. Concurrent Programming [Lecture Notes]
    • Correctness conditions
    • Progress conditions and taxonomy
    • Speed-up performance models
    • Concurrent data structures
    • Introduction to MPI (Message Passing Interface)
  4. Transactional memory
  5. Case Study: High Performance Computing Applications [Lecture Notes]
    • Continuous Simulation
    • Monte Carlo Simulation
    • Discrete Event Simulation
    • Parallel and Distributed Simulation
  6. Data Centers
    • Traditional data center architectures
    • Cloud computing oriented data centers
  7. Large-Scale IT Service Management
    • ITIL (Information Technology Infrastructure Library)
    • Service Strategy
    • Service Design
    • Service Transition, Service Operation
    • Continual Service Improvement
    • Disaster Recovery e Business Continuity

Seminars Schedule

  • ITIL 1 (prof. Bruno Ciciani)
  • TIL 2 (prof. Bruno Ciciani)
  • Solid State Devices (prof. Bruno Ciciani, Romolo Marotta, Sapienza)
  • Disaster Recovery & Business Continuity (prof. Bruno Ciciani,Gandolfo,Poste Italiane)
  • Parte I: “Data Center Efficiency: What you should know…” (prof. Bruno Ciciani, Dell)
  • Parte II: “Introduzione ai concetti di Big Data Analytics” (prof. Bruno Ciciani,Dell)
  •  "Capacity Planning" (prof. Bruno Ciciani,Condoleo, Accenture)
  • ITIL 3 (prof. Bruno Ciciani)
  • Business Coninuity and Disaster Recovery" (prof. Bruno Ciciani,Trofa, Accenture)
  •  Parte I “Server: Nuove tecnologie e i progressi dell’ingegneria del computing” (prof. Bruno Ciciani, Dell)
  • Parte II: “Storage: Flash Solutions” (prof. Bruno Ciciani, Dell)
  • SPARC M7 processor: Software in Silicon features for Application Acceleration Support (prof. Bruno Ciciani, Paolucci, Oracle)
  • "Cloud" (prof. Bruno Ciciani, Salvaderi, Accenture)
  • Parte I: “Tecnologie abilitanti per la Business Continuity ed il Disaster Recovery” (prof. Bruno Ciciani, Dell)
  • Parte II: “ITaaS: nuovi modelli di erogazione servizi” (prof. Bruno Ciciani,, Dell)