Go to:
Logótipo
You are in:: Start > CC4014

Parallel Computing

Code: CC4014     Acronym: CC4014     Level: 400

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2023/2024 - 1S Ícone do Moodle

Active? Yes
Web Page: http://www.dcc.fc.up.pt/~ricroc/aulas/2324/cp
Responsible unit: Department of Computer Science
Course/CS Responsible: Master in Computer Science

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
E:BBC 0 PE_Bioinformatics and Computational Biology 1 - 6 42 162
M:A_ASTR 1 Study plan since academic year 2023/2024 1 - 6 42 162
2
M:BBC 7 The study plan since 2018 2 - 6 42 162
M:CC 15 Study plan since 2014/2015 1 - 6 42 162
M:DS 1 Official Study Plan since 2018_M:DS 1 - 6 42 162
M:ERSI 2 Official Study Plan since 2021_M:ERSI 1 - 6 42 162

Teaching language

Portuguese and english

Objectives

Introduce the students to advanced concepts on the theory and practice of computational models for parallel and distributed memory architectures. Hands-on experience on programming distributed memory architectures with MPI, and programming shared memory architectures using processes, threads and OpenMP.

Learning outcomes and competences

On completing this course, the students must be able to:

  • be aware of the main models, paradigms, environments and tools for parallel programming
  • understand and assess the concepts related to the structure, operation and performance of parallel programs
  • formulate solutions in the main parallel programming paradigms, namely MPI, Pthreads and OpenMP

Working method

Presencial

Program

Foundations:
Parallel programming, concurrency and parallelism. Flynn taxonomy. Foster's programming methodology. Speedup and efficiency. Amdahl law. Gustafson-Barsis law. Karp-Flatt metrics.

Programming for Distributed Memory Architectures:
MPI specification, explicit message passing, communication protocols, derived types, data packing, collective communications, communicators, topologies.

Programming for Shared Memory Architectures:
Processes, shared memory segments, shared memory through file mapping, spinlocks, semaphores. Multithreading processes with Pthreads, mutexs, conditional variables, keys, implementations of Pthreads. OpenMP specification, compilation directives, work-sharing constructors, basic constructors, synchronisation constructors, basic functions, environment variables, removing data dependencies, performance, combining OpenMP with MPI.

Algorithms:
Parallel algorithms. Scheduling and load balancing strategies.

Mandatory literature

P. Pacheco.; Parallel Programming with MPI, Morgan Kaufmann
Michael J. Quinn; Parallel Programming in C with MPI and OPenMP, McGraw-Hill.
M. Mitchell, J. Oldham and A. Samuel; Advanced Linux Programming, New Riders
B. Nichols, D. Buttlar and J.P. Farrell; Pthreads Programming, O'Reilly
R. Chandra, L. Dagum, D. Kohr, D. Maydan, J. McDonald and R. Menon; Parallel Programming in OpenMP, Morgan Kaufmann
B. Wilkinson, M. Allen.; Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers , Prentice Hall.

Teaching methods and learning activities

Lecture classes to introduce the concepts and practical assignements to motivate students on experiencing parallel programming in more than one paradigm.

Evaluation Type

Distributed evaluation with final exam

Assessment Components

designation Weight (%)
Exame 70,00
Trabalho laboratorial 30,00
Total: 100,00

Amount of time allocated to each course unit

designation Time (hours)
Estudo autónomo 70,00
Frequência das aulas 42,00
Trabalho laboratorial 50,00
Total: 162,00

Eligibility for exams

N/A

Calculation formula of final grade

Students are assessed by their performance in the following components: (a) two practical assignments worth 3 points each out of 20; (b) a written exam in the final of the semester worth 14 points out of 20. The minimum classification in the written exam is 40%.

Classification improvement

Improvement can only be made to the written exam.

Recommend this page Top
Copyright 1996-2024 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2024-11-09 at 05:09:01 | Acceptable Use Policy | Data Protection Policy | Complaint Portal