UFABC - MCZA020-13 - Programação Paralela
Primeiro Quadrimestre de 2020

Índice

Permalink

Turma: DAMCZA020-13SA
Professor: Emilio Francesquini
E-mail: e.francesquini@ufabc.edu.br

1 Avisos

  • [2020-03-13 sex] Enunciado do EP 1 disponível.
  • [2020-02-10 seg] Página colocada no ar.


div.png

2 Informações Gerais

  • Turma DAMCZA020-13SA Diurno
  • Quarta das 10:00 às 12:00, Sala S-302-1, Semanal
  • Sexta das 08:00 às 10:00, Sala S-302-1, Semanal

2.1 Atendimento

Horário Seg Ter Qua Qui Sex
08:00 - 09:00   Atendimento (Sala 531-2)     Aula (Sala S-302-1)
09:00 - 10:00   Atendimento (Sala 531-2)     Aula (Sala S-302-1)
10:00 - 11:00     Aula (Sala S-302-1)   Atendimento (Sala 531-2)
11:00 - 12:00     Aula (Sala S-302-1)   Atendimento (Sala 531-2)
-----          
18:00 - 19:00     Atendimento (Sala 531-2)    
19:00 - 20:00     Atendimento (Sala 531-2)    
  • Presencial
    • Horários de atendimento
      • Nos horários listados abaixo não é preciso confirmar ou marcar, apenas apareça! :-)
      • Terça-feira, das 08:00 às 10:00, Sala 531-2.
      • Quarta-feira, das 18:00 às 20:00, Sala 531-2.
      • Sexta-feira, das 10:00 às 12:00, Sala 531-2.
    • Agendado por e-mail
      • Verifique minha agenda e sugira pelo menos dois possíveis horários!
    • Em sala de aula - Após as aulas
  • Online - A qualquer horário


div.png

3 Sobre a Disciplina

MCZA020-13 - Programação Paralela

  • TPI: 4-0-4
  • Recomendação: Paradigmas de Programação

Objetivos

Apresentar aos alunos os principais conceitos de programação paralela e concorrente e as ferramentas e bibliotecas existentes para o desenvolvimento de aplicações paralelas.

Conteúdo Programático

Introdução. Modelos de arquiteturas paralelas. Paralelismo. Tipos de acessos. Organização e distribuição de tarefas. Organização e distribuição de dados. Programação Paralela.

Fonte: Projeto Pedagógico do BCC 2017


div.png

4 Datas Importantes

  • Prova 1: 01/04/2020
  • EP1: 12/04/2020
  • Prova 2: 11/05/2020
  • EP2: 26/04/2020
  • Sub: 14/05/2020
  • EP3: 10/05/2020
  • Rec.: Data e horário a combinar no início do Q2.


div.png

5 Listas de Exercícios

5.1 Provas antigas


div.png

6 Exercícios Programas


div.png

7 Aulas

Sem Aula Data Assunto Referências Material
1 12/02 - Quarta Apresentação do curso; Programação paralela: introdução e motivação [PP] Cp. 1; [GGKK] Cp. 1 Apresentação do curso; Introdução
  2 14/02 - Sexta Arquitetura de Computadores Paralelos Pt. 1 [PP] Cp. 2; [RR] Cp. 2; [GGKK] Cp. 2 Introdução Arquitetura
3 19/02 - Quarta Arquitetura de Computadores Paralelos Pt. 2 [PP] Cp. 2; [RR] Cp. 2; [GGKK] Cp. 2 Introdução Arquitetura
  4 21/02 - Sexta Arquitetura de Computadores Paralelos Pt. 3   Fontes comuns de perda de desempenho - Código Aula
  26/02 - Quarta - Não haverá aula. Carnaval Wikipedia  
  5 28/02 - Sexta Modelos de Programação Paralela [PP] Cp. 2; [RR] Cp. 3, 4; [GGKK] Cp. 3, 4, 5 Software Paralelo; Código completo do livro
6 04/03 - Quarta Análise de Desempenho [PP] Cp. 2; [RR] Cp. 3, 4; [GGKK] Cp. 3, 4, 5 Software Paralelo; Código medição de tempo
  7 06/03 - Sexta MPI Pt. 1 [PP] Cp. 3; [RR] Cp. 5; [GGKK] Cp. 6 Prog. para Memória Distribuída
8 11/03 - Quarta MPI Pt. 2 [PP] Cp. 3; [RR] Cp. 5; [GGKK] Cp. 6 Prog. para Memória Distribuída; Código completo do livro
  9 13/03 - Sexta MPI Pt. 3 [PP] Cp. 3; [RR] Cp. 5; [GGKK] Cp. 6 Prog. para Memória Distribuída; Código completo do livro
10 18/03 - Quarta Modelo de Atores   Modelo de Atores; Código
  11 20/03 - Sexta Pthreads Pt. 1 [PP] Cp. 4; [RR] Cp. 6; [GGKK] Cp. 7 Pthreads
12 25/03 - Quarta Pthreads Pt. 2 [PP] Cp. 4; [RR] Cp. 6; [GGKK] Cp. 7 Pthreads
  13 27/03 - Sexta Pthreads Pt. 3 [PP] Cp. 4; [RR] Cp. 6; [GGKK] Cp. 7 Pthreads; Código Fractal
14 01/04 - Quarta Prova 1    
  15 03/04 - Sexta Pthreads Prática   Código - Eternity II
  08/04 - Quarta - Não haverá aula. Feriado Municipal em SA - Aniversário da Cidade Wikipedia  
    10/04 - Sexta - Não haverá aula. Sexta-feira Santa Wikipedia  
10ª 16 15/04 - Quarta OpenMP Pt. 1 [PP] Cp. 5; [RR] Cp. 6 OpenMP (Uma versão incompleta dos slides traduzida pelo Prof. Guido Araújo da Unicamp está disponível aqui)
  17 17/04 - Sexta OpenMP Pt. 2 [PP] Cp. 5; [RR] Cp. 6 OpenMP (Uma versão incompleta dos slides traduzida pelo Prof. Guido Araújo da Unicamp está disponível aqui)
11ª 18 22/04 - Quarta Memória Transacional   Memória transacional
  19 24/04 - Sexta Intel Thread Building Blocks   Intel TBB
12ª 20 29/04 - Quarta MapReduce   MapReduce
    01/05 - Sexta - Não haverá aula. Dia do trabalho Wikipedia  
13ª 21 07/05 - Quinta - 10h - Reposição 26/02 N-Corpos [PP] Cp. 6  
  22 08/05 - Sexta - 10h - Reposição 08/04 Revisão    
14ª 23 11/05 - Segunda - 8h - Reposição 10/04 Prova 2    
  24 14/05 - Quinta - 8h - Reposição 01/05 Prova Sub.    


div.png

8 Critério de Avaliação

warning.png Honestidade Acadêmica

Entre outros, o código de ética da UFABC estabelece em seu artigo 25 que é eticamente inaceitável que os discentes:
I - fraudem avaliações;
II - fabriquem ou falsifiquem dados;
III - plagiem ou não creditem devidamente autoria;
IV - aceitem autoria de material academico sem participação na produção;
V - vendam ou cedam autoria de material acadêmico próprio a pessoas que não participaram da produção.

Muitos ainda têm dúvidas sobre a interpretação das regras definidas pelo Código de Ética da UFABC. Por esta razão, diversos professores elaboraram um documento (disponível aqui) com vários exemplos e esclarecendo a interpretação das regras acima. Abaixo uma versão resumida. Sempre consulte o documento completo ou converse com o seu professor em caso de dúvidas!

  • Regra 1 - Você não pode enviar para avaliação um trabalho que não seja de sua própria autoria ou que seja derivado/baseado em soluções elaboradas por outros.
  • Regra 2 - Você não pode compartilhar a sua solução com outros alunos nem pedir aos seus colegas que compartilhem as soluções deles com você.
  • Regra 3 - Nos trabalhos enviados para avaliação você deve indicar eventuais assistências que você tenha recebido.

    ATENÇÃO: todos os trabalhos enviados para avaliação poderão ser verificados por um sistema automatizado de detecção de plágio.

Qualquer violação às regras descritas acima implicará:

  • Descarte dos conceitos atribuídos a TODAS as tarefas avaliativas regulares de TODOS os envolvidos, causando assim suas reprovações automáticas com conceito F .
  • Possível denúncia à Comissão de Transgressões Disciplinares Discentes da Graduação, a qual decidirá sobre a punição adequada à violação que pode resultar em advertência, suspensão ou desligamento , de acordo com os artigos 78-82 do Regimento Geral da UFABC.
  • Possível denúncia apresentada à Comissão de Ética da UFABC, de acordo com o artigo 25 do Código de Ética da UFABC.

A avaliação da disciplina será composta por duas notas principais, uma referente à teoria e outra a projetos práticos. Considere:

  • \(N_F\) é a nota final;
  • \(N_{\text{Pr}}\) é a nota das provas;
  • \(N_{\text{E}}\) é a nota dos exercícios programas.

A nota final (\(N_F\)) será determinada pela média harmônica ponderada de \(N_{\text{Pr}}\) e \(N_{\text{E}}\) com pesos 3 e 2 respectivamente:

\begin{equation*} N_F = \frac{5}{\frac{3}{\max\{0.1, N_{\text{Pr}}\}} + \frac{2}{\max\{0.1, N_{\text{E}}\}}} \end{equation*}

O conceito final (\(C_F\)) será obtido de acordo com a equação abaixo:

\begin{equation*} C_F = \begin{cases} \textbf{O} ,& \text{se ausência total exceder 25%}\\ \textbf{F} ,& \text{se } N_F \in [0,0;5,0) \\ \textbf{D} ,& \text{se } N_F \in [5,0;6,0) \\ \textbf{C} ,& \text{se } N_F \in [6,0;7,0) \\ \textbf{B} ,& \text{se } N_F \in [7,0;8,5) \\ \textbf{A} ,& \text{se } N_F \in [8,5;10,0] \\ \end{cases} \end{equation*}

O gráfico abaixo mostra a relação entre \(N_{\text{Pr}}\) e \(N_{\text{E}}\) e os conceitos:

Sorry, your browser does not support SVG.

8.1 Provas

A nota das provas \(N_{Pv}\) será formada por duas provas \(P_1\) e \(P_2\). Todas as provas serão efetuadas em sala de aula, sem qualquer tipo de consulta.

Haverá também uma prova subsitutiva \(P_S\) que será aberta a todos os interessados, ainda que eles tenham feito tanto a \(P_1\) quanto a \(P_2\).

important.png Atenção

A nota da \(P_S\) será utilizada obrigatoriamente em substituição à menor nota entre \(P_1\) e \(P_2\) ainda que isto diminua a nota final do aluno!

Assim, a nota de provas (\(N_{Pv}\)) será calculada conforme a seguinte fórmula:

\begin{equation*} N_{Pv} = \begin{cases} \frac{2 \cdot P_S + 3 \cdot P_2}{5} ,& \text{caso tenha feito a } P_S \text{ e } P_1 < P_2 \\ \frac{2 \cdot P_1 + 3 \cdot P_S}{5} ,& \text{caso tenha feito a } P_S \text{ e } P_2 \leq P_1 \\ \frac {2 \cdot P_1 + 3 \cdot P_2}{5} ,& \text{caso contrário} \end{cases} \end{equation*}

8.2 Exercícios Programas

Teremos 3 EPs de igual peso durante o quadrimestre. A nota dos exercícios programas \(N_{\text{E}}\) será calculada por uma média aritmética simples.

8.3 Recuperação

Conforme Resolução ConsEPE nº 182 fica assegurado a todos os alunos com \(C_F\) igual a D ou F o direito a fazer uso de mecanismos de recuperação.

A recuperação será feita através de uma prova \(P_R\), sem consulta, e a sua nota será utilizada para compor a o conceito pós-recuperação \(C_R\) conforme as equações abaixo:

\[N_R = \frac{P_R + N_F}{2}\]

Caso 1 \(C_F = D\):

\begin{equation*} C_R = \begin{cases} \textbf{C} ,& \text{se } N_R \geq 6,0 \\ \textbf{D} ,& \text{caso contrário} \end{cases} \end{equation*}

Caso 2 \(C_F = F\):

\begin{equation*} C_R = \begin{cases} \textbf{D} ,& \text{se } N_R \geq 5,0 \\ \textbf{F} ,& \text{caso contrário} \end{cases} \end{equation*}


div.png

9 Recursos Online

10 Bibliografia

10.1 Básica

Os principais textos utilizados neste curso serão o PP e o RR.

div.png

pp.jpeg [PP]

div.png

rr.jpeg [RR]

10.2 Complementar

Para nos aprofundarmos em alguns dos assuntos dados em aula, ocasionalmente faremos referências aos seguintes livros:

div.png

ggkk.jpeg [GGKK]

div.png

sr.jpeg [SR]


Última atualização: 2020-03-13 14:15
Emacs 26.3 (Org-mode 9.3.6)

Autor: Emilio Francesquini
e.francesquini@ufabc.edu.br

Criado em: 2020-03-13 sex 14:15