Distributed and Parallel Programming
Keywords |
Classification |
Keyword |
OFICIAL |
Programming |
Instance: 2007/2008 - 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.
Introduction to distributed computing in Internet environment. To understand the p2p and Grid computing models of distributed computing.
Program
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)
Introduction to distributed computing in Internet environment:
P2P and Grid systems. Application characteristics.
Algorithms for content distribution in p2p systems.
Grid models and middleware evolution.
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
Calculation formula of final grade
Final Grade= 0.4*Cont + 0.6*Ex
Cont – Homeworks and class participation
Ex – Exame grade