Data Centers and High Performance Computing
Master's Degree in Engineerig in Computer Science
Academic Year 2015/2016
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.

News

  • Written test schedule:
    • June 15th, classroom 33 (Via Eudossiana), at 2 pm - TEXT
    • July 14th, classroom 33 (Via Eudossiana), at 2 pm - TEXT
    • September 8th, classroom 33 (Via Eudossiana), at 2 pm - TEXT
  • On Friday May, 20th and on Monday May, 23rd there will be no lectures. The last lecture will be on Friday May, 27th.
  • On Monday May, 16th, there will be no lecture.
  • On Friday May, 13th, there will be no lecture.
  • On Monday April, 18th, the schedule of classes is the following:  15.45-17.15 + 17.30-19.00 (room A7)
  • On Thursday April, 7th there will be no lecture (the seminar has been held on April, 4th)
  • On Thursday March, 17th there will be no lecture
  • Lectures schedule:
    • Monday: 17.30 - 19.00 (room A7)
    • Thursday: 17.30 - 19.00 (room A3)
    • Friday: 12.00 - 13.30 (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

  • February 26th: Daniele Liberini, Data Centers and their components [Lecture Notes]
  • March 3rd: Daniele Liberini, ITIL (first part) [Lecture Notes]
  • March 10th: Daniele Liberini, ITIL (second part) [Lecture Notes]
  • March 31st: Accenture, Performance & Capacity
  • April 4th - From 17.30 to 19.30: Poste Italiane, Eng. Calogero Gandolfo, Disaster Recovery & Business Continuity
  • April 21st: EMC, Big Data Introduction
  • April 21st: EMC, ITaaS: a new model [Lecture Notes]
  • April 28th: EMC, Big Data Introduction [Lecture Notes]
  • April 28th: EMC, Big Data: Isilon [Lecture Notes]
  • May 2th - From 17.30 to 19.30: Claudio Paolucci - Oracle, New SPARC M7 processor: Software in Silicon features for Application Acceleration Support
  • May 5th: EMC, Converged Infrastructure [Lecture Notes]
  • May 5th: EMC, Flash Solutions [Lecture Notes]
  • May 12th: Accenture, Cloud & ITaaS