Distributed and Parallel Programming
Keywords |
Classification |
Keyword |
OFICIAL |
Programming |
Instance: 2006/2007 - 2S
Cycles of Study/Courses
Teaching language
Portuguese
Objectives
Parallel Programming Module:
Acquisition of useful knowledge to develop parallel programming. Construction of solid basis in parallel architectures, algorithms parallelization, programming models, synchronization of processes and performance measures by the development of programs
and the use of appropriate interfaces for parallel programming.
Distributed Algorithms Module:
To make the students familiar with some of the problems, algorithms and impossibilities in distributed computing.
After successfully completing the course the students should be able to apply the studied algorithms as basic blocs in the development of practical systems as well as to recognize the impossibility of solving certain problems.
Program
Parallel Programming Module Introduction: Distributed Programming and Parallelism, Parallel Machines, Processors, Memory Organization Parallel Programming Fundamentals: Problem Division, Communication Patterns, Synchronization, Granularity of Parallelization, Staggering (distribution of work by the processors) Multi-computer programming: Introduction to PVM, MPI and OpenMP Characterization of Parallel Computing Execution Models, Programming Models, Computing Models, Efficiency and performance Measures, Expansivity (Isoefficiency Function)
Distributed Algorithms Module
Synchronous Systems (message-based) : Introduction and Models; Election Algorithms; Distributed Consensus; Distributed Commit.
Asynchronous Systems (message-based): Introduction and Models; Election Algorithms; Logical Time and Global State; Impossibility of Agreement with a Faulty Process; Random Consensus Algorithms; Failure Detectors.
Mandatory literature
M. J. Quinn; Parallel Programming in C with MPI and OpenMP, McGraw-Hill, 2003. ISBN: 007-123265-6
Complementary Bibliography
Foster, Ian T.;
Designing and building parallel programs. ISBN: 0-201-57594-9
Teaching methods and learning activities
Theoretical classes: exposition of the subject matter with presentation and discussion of examples.
Theoretical-practical classes: problem solving and discussion, including the development of some programs.
Evaluation Type
Distributed evaluation with final exam
Assessment Components
Description |
Type |
Time (hours) |
Weight (%) |
End date |
Subject Classes |
Participação presencial |
|
|
|
|
Total: |
- |
0,00 |
|
Calculation formula of final grade
Final Grade= 0.4*Cont + 0.6*Ex
Cont – Homeworks and class participation
Ex – Exame grade