SISTEMI DISTRIBUITI 1 E LABORATORIO
Academic Year 2016/2017 - 1° Year - Curriculum Sistemi di Rete e Sicurezza- SISTEMI DISTRIBUITI 1: Giuseppe PAPPALARDO
- LABORATORIO: Christian Napoli
Taught classes: 36 hours
Term / Semester: 2°
Learning Objectives
- LABORATORIO
Nowadays a modern approach to scientific problem solving should be based on dedicated computing systems in order to devise scientific modes, simulate phenomena, verify hipotesyst that would be difficult to recreate in a physical laboratory context. Moreover an growing number of home consumer applications are requiring a contantly increasing amount of computing resources and to use high performance computing platforms.
This course will give a short introductionto the mostly diffused high performance architectures and the related paradigms: MPI, OpenMP e GPGPU, hadoop, openstack. Eventually, during this course the student will develope the basic tools to understand and begin to apply the cited paradigms and to used the connected tecnologies, with particular interest about the modern hybrid programming techniques for parallel and high performance computing, as well as regarding the most important paradigms used for big data collection and analysis, such as hadoop and mapreduce, and the related cloud-oriented computing infrastructures and their management (Openstack).
Detailed Course Content
- LABORATORIO
I. Elements of distributed computing
II. Flynn's taxonomy, memory paradigms, threads, scheduling, messages
III. Message passing paradigms and Message Passing Interface
IV. Shared Memory paradigms and Open MultiProcessing
V. GPGPU Programming and Common Unified Device Architecture (CUDA)
VI. High performance programming for hybrid computing architectures
VII. Distributed Big Data Analysis and shared nothing computing paradigms
VIII. MapReduce, distributed file systems, Hadoop e MrJob (python)
IX. Cloud oriented solutions for distributed computing
XI. OpenStack
Textbook Information
- LABORATORIO
Reference textbooks:
1. G. Hager, G. Wellein: Introduction to High Performance Computing for Scientists
and Engineers, CRC Press (2010)
1. G. Coulouris et al.: Distributed Systems, Pearson (2013)
2. Gropp et al.: Using MPI, MIT press (2014)
3. B. Chapman, G. Jost: Using OpenMP, MIT press (2007)
4. J. Sanders: CUDA by Example, Addison-Wesley (2010)
5. T. White: Hadoop: the definitive guide, O’Reilly (2015)
6. T. Fifield et al.: OpenStack Operations Guide, O’Reilly (2016)Other usefull references:
- D. Culler et al.: Parallel Computer Architecture, Kaufmann (1998)
- M.J. Quinn: Parallel Programming in C with Mpi and Openmp, McGrawHill (2008)
- G. Barlas: Multicore and GPU Programming, Kaufmann (2014)
- N. Wilt: CUDA Handbook, Addison-Wesley (2013)
- E. Sammer: Hadoop Operations, O’Reilly (2012)
- M. GRoover, T. Malaska: Hadoop Applications Architectures, O’Reilly (2015)
- K. Basil et al.: OpenStack Security Guide, O’Reilly (2015)