PARALLEL AND DISTRIBUTED COMPUTING
cod. 05924

Academic year 2013/14
2° year of course - First semester
Professor
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Ingegneria informatica
Type of training activity
Characterising
42 hours
of face-to-face activities
6 credits
hub: PARMA
course unit
in - - -

Learning objectives

The purpose of the course is to define and characterize the information processing systems.
In particular, the student will be given the ability to understand:

- Theoretical models (discrete-time, continuous-time and event-driven)
- Models of parallel and distributed programming
- Systems for client / server and peer-to-peer
- Autonomic systems
- Simulation techniques

The student will learn to apply such a knowledge to:

- develop computing systems models, in particular for performance analysis
- program parallel and distributed systems
- design client/server and peer-to-peer distributed systems
- design autonomic computing systems
- develop discrete event simulations

Prerequisites

- - -

Course unit content

1.Systems and models
2. Automatic data processing
3. parallel computing
4. distributed computing
5. Peer-to-peer
6. Development of peer-to-peer with Sip2Peer
7. autonomic computing
8. Simulation Techniques
9. Discrete event simulations with DEUS

Full programme

Lectures on Parallel and Distributed Computing (42 hours)

1. Systems and models
1.1. State space
1.2. Deterministic and stochastic models
1.3. Complex systems
1.4. Complex adaptive systems
1.5. Markov models
1.5.1. Discrete time Markov chains
1.5.2. Continuous time Markov chains
1.5.3. Markov reward models
1.6. Population dynamics
1.7. Network topologies
1.8. DEVS models

2. Computing systems
2.1. Information theory
2.2. Taxonomy of computing systems
2.3. Automata
2.4. Von Neumann architecture

3. Parallel computing
3.1. General concepts
3.2. Parallel programming models
3.3. NUMA architecture; Onyx2
3.4. Massive parallelism, CM2
3.5. Message Passing Interface (MPI)
3.6. Multicore systems, Cell, General Purpose GPU Programming
3.7. CUDA

4. Distributed computing
4.1. Cluster computing
4.2. Grid computing
4.3. Cloud computing
4.4. Pervasive computing

5. Peer-to-peer systems
5.1. State variables
5.2. Dynamics of peer-to-peer networks
5.3. Design issues
5.4. Design strategies for overlay schemes
5.5. Popular overlay schemes (Napster, BitTorrent, eMule, JXTA, Skype, Chord, Kademlia)

6. Peer-to-peer application development with Sip2Peer

7. Autonomic computing
7.1. The four principles of autonomic computing
7.2. MAPE-K
7.3. NAM and NAM4J
7.4. Distributed Remodeling Framework

8. Simulation techniques
8.1. General concepts about simulation
8.2. Discrete event simulation
9. Discrete event simulation with DEUS

Bibliography

M. Amoretti, lecture notes in English on the topics of the course.
B.P. Zeighler, H. Praehofer, T.G. Kim, "Theory of Modeling and Simulation", Second Edition, Academic Press, 2000.
G. Bolch et al., “Queueing Networks and Markov Chains”, Second Edition, Wiley Interscience, 2006.
C. Ghezzi, D. Mandrioli, "Informatica Teorica", Cittˆ Studi, 1989.
D. E. Culler, J. Pal Singh, “Parallel Computer Architecture: A Hardware/Software Approach”, Morgan Kaufman, 1999.

Teaching methods

Lectures are given by the teacher, which illustrates the topics with the support of slides,
or by writing on the blackboard. Lectures on Markov Chains include the solution of some exercises.
Lectures on peer-to-peer systems are completed by a tutorial on developing applications with the Sip2Peer middleware.
Lectures about simulation techniques are completed by a tutorial on the DEUS simulation environment.

Assessment methods and criteria

There will not be exams during the course.

There will be a written exam (3 hours), with 6-7 open questions related to theoretical part of the course.

The students will have to work (alone or in couples) on a small project, requiring software use/development, the writing of a report and a final presentation.

Other information

Lecture notes, slides and exercises are available on lea.unipr.it