BCC447 - Programação Paralela - 2024-2Carga horária da disciplina: 4 horas/aula Professor(es) em 2024-2
ObjetivosApresentar ao aluno diversos aspectos teóricos e práticos de programação paralela.EmentaTeoria do Paralelismo; arquiteturas paralelas; primitivas básicas de programação paralela: controle de tarefas, comunicação e sincronização; conceitos básicos de avaliação de desempenho e complexidade de programas paralelos; paralelização automática; vetorização; algoritmos clássicos de programação paralela; medidas de desempenho das aplicações paralelas; exploração do paralelismo em programas: implícita e explícita; paradigmas de programação paralela: trocas de mensagens e memória compartilhada; escrita de programas paralelos.Conteúdo Programático- Introdução a programação paralela- Razões que influenciaram o desenvolvimento da computação paralela - Divisão das áreas da computação paralela - Áreas de abrangência do processamento paralelo - Primitivas Básicas de Programação Paralela: controle de tarefas, comunicação e sincronização - Modelos de arquiteturas paralelas - Divisão em relação ao fluxo de dados - Divisão quanto ao fluxo de instruções - Divisão em relação ao mecanismo de controle - Máquinas paralelas comerciais - Classificação do desempenho das máquinas paralelas - Redes de interconexão de processadores - Medidas de desempenho das aplicações paralelas - Obtenção de resultados de aplicações paralelas - Custo computacional - Speedup - Eficiência - Escalabilidade - Exploração do paralelismo em programas - Modelos de algoritmos paralelos - Exploração implícita - Exploração explícita - Paradigmas de programação paralela - Programação através de trocas de mensagens - Programação através de memória compartilhada - Escrita de programas paralelos Bibliografia- GRAMA, Ananth. Introduction to parallel computing. 2. ed. Harlow, England: Addison Wesley, 2003.- DONGARRA, J.J. Sourcebook of parallel computing. 1. ed. Amsterdam: Morgan Kaufmann, 2003. - HERLIHY, Maurice; SHAVIT, Nir. The art of multiprocessor programming. 1. ed. Burlington: Elsevier Morgan Kaufmann, 2008. Bibliografia complementar- TANIAR, David; LEUNG, Clement H. C; RAHAYU, Johanna Wenny. High-performance parallel database processing and grid databases. 1. ed. Hoboken, N.J.: Wiley, 2008.- KLEPPMANN, Martin. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. 1. ed. Nova York: Oreilly & Assoc, 2015. - PRASAD, Sushil K; GUPTA, Anshul; ROSENBERG, Arnold. Topics in Parallel and Distributed Computing: Enhancing the Undergraduate Curriculum: Performance, Concurrency, and Programming on Modern Platforms. 1. ed. Nova York: Springer, 2019. - LEA, Doug. Concurrent Programming in Java: Design Principles and Patterns. 3. ed. Nova York: Addison-Wesley, 2019. - BARLAS, Gerassimos. Multicore and Gpu Programming: An Integrated Approach. 1. ed. Nova York: Morgan Kaufmann, 2014. |
Departamento de Computação | ICEB | Universidade Federal de Ouro Preto
Campus Universitário Morro do Cruzeiro | CEP 35400-000 | Ouro Preto - MG, Brasil
Telefone: +55 31 3559-1692 | decom@ufop.edu.br