You need to activate javascript for this site.
Menu Conteúdo Rodapé
  1. Home
  2. Courses
  3. Computer Science and Engineering
  4. Parallel and Distributed Computing

Parallel and Distributed Computing

Code 11485
Year 1
Semester S2
ECTS Credits 6
Workload PL(30H)/T(30H)
Scientific area Informatics
Learning outcomes To study models and techniques of parallel and distributed programming. To design and implement applications taking advantage of current multi-core architectures (CPU and GPU).
To study, analyse and use grid and cloud computing environments. At the end the student should be able to analyse scientific papers in the parallel and distributed computing area.
Syllabus The basic principles of parallel execution:
- Parallelism versus concurrency.
- Parallelism, communication and coordination.
- Programming errors not found in sequential programming.
Parallel decomposition
- Task-based decomposition
- Data-parallel decomposition
Parallel programming techniques
- Message-Passing
- Data parallelism
- Partitioning and divide-and-conquer strategies.
- Pipelined computations.
- Synchronous and Asynchronous computations.
- Load balancing and termination detection.
Parallel architectures
- Multi-core processors
- Shared versus distributed memory
- GPU, co-processing
Grid and Cloud computing
- Internet technologies and web services
Main Bibliography Concurrency, State Models & Java Programs. Jeff Kramer. John Wiley Sons, 2003.

Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers (2nd Edition). B. Wilkinson, M. Alle. Prentice-Hall, 2004

Programming Massively Parallel Processors, A Hands-on Approach. David B. Kirk and Wen-mei W. Hwu. Elsevier, 2010.

Heterogeneous Computing with OpenCL. B. Gaster, L. Howes, D. Kaeli and P. Mistry. Morgan Kauffman, 2011.

Grid Computing: Practical Guide to Technology & Applications, Ahmar Abbas, 2004

Mastering Cloud Computing, Rajkumar Buyya, Christian Vecchiola, and Thamarai Selvi.
Morgan Kaufmann, ISBN: 978-0-12-411454-8, 2013
Planned learning activities and teaching methods In the theoretical classes the programming contents are presented. Whenever is possible, application cases are discussed. The programming assignments will be used to seamlessly implement the studied programming techniques. With the study, presentation and discussion of several scientific papers, the students will train skills to analyse papers, will gain critical thinking about the field and will gain the ability to study by themselves the field that they choose to their dissertation.
Language Portuguese. Tutorial support is available in English.
Last updated on: 2018-06-27

The cookies used in this website do not collect personal information that helps to identify you. By continuing you agree to the cookie policy.