INGEGNERIA INFORMATICA E DEI SISTEMI
TITOLO DEL CORSO:
PARALLEL AND DISTRIBUTED COMPUTING
CODICE CORSO: 01MNFIU
The course aims at introducing the main methodologies of parallel and distributed computing, starting from a general classification up to a detailed description of the state of the art both for applied and pure research. In this way it can be of interest for the Information and system engineering PhD course and also for other, like Electrical, Electronics, Mechanics, Aerospace, in which such methodologies are indirectly used for research purposes (e.g. for finite element method). The course will be in English.
Introduction to parallel and distributed computing. Classification of parallel and distributed computers. Amdahl's law. SISD, SIMD, MISD, MIMD. Multithreading. Vector processors. Shared memory, distributed memory. Message passing. GPU. Clusters. Beowulf. MESI protocol. MPI, PVM. GAMMA, MPI-GAMMA. OpenMP and gcc 4.3. Optimizing compilers, Intel FORTRAN and C. Profiler. NIC bonding. PCI and PCI-Express. Infiniband. MOSIX. RAM disk. Network benchmarking. Grid computing. SPECint and SPECfp. State of the art analysis and open problems. Finding interesting research papers. The final examination will be a presentation by the PhD student on a research argument pertaining to the course or on a paper shown during the course.