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
Entry requirements N.A.
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
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
Teaching Methodologies and Assessment Criteria Theoretical lessons: exposure of the concepts. Practical lessons: the laboratory sessions take place in a general-purpose laboratory with PC-based multi-core nodes for shared memory and distributed-memory programming. Some of the lessons will be dedicated to the discussion of research papers. Each student (or group of students), must study and present a paper. After, the students, supervised by the teacher, will discuss the paper.
Language Portuguese. Tutorial support is available in English.
Last updated on: 2020-03-15

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