Você está na página 1de 5

Avaliação 1

COMP0397 - PROGRAMAÇÃO PARALELA E CONCORRENTE


Prof. Hendrik Macedo (hendrik@academico.ufs.br)

INSTRUÇÕES (leia com bastante atenção)

i. A prova contém 10 questões de múltipla escolha, onde apenas uma alternativa reflete a opção
correta; cada questão vale 1,0 pt.
ii. Suas respostas devem estar em um arquivo de texto simples Aval1_SeuNome.txt (não serão
aceitos outros formatos, nem arquivos compactados), contendo a alternativa escolhida para cada
questão bem como uma justificativa em texto para sua escolha. Você deve seguir rigorosamente
o modelo de arquivo-resposta ao final desta folha de prova.
iii. Sua justificativa pode incluir razões pelas quais as outras alternativas não foram escolhidas, caso
ache que isso irá enriquecê-la. Para algumas questões (de cunho mais prático), a justificativa pode
ser o raciocínio que embasou a resposta (ex: cálculos, etc.). Respostas sem justificativa serão
desconsideradas, ou seja, 0pt (zero ponto) será atribuído à questão ainda que a alternativa
escolhida esteja correta.
iv. Revise seu arquivo-resposta atentamente antes de realizar upload. Você só terá direito a efetuar
um único upload do arquivo-resposta pelo SIGAA. O sistema não permitirá novos envios
substitutivos/corretivos.
v. O horário de prova será das 13h às 15h. No entanto, o sistema aceitará upload até às 16h
(tolerância), para minimizar dificuldades com Internet e com o SIGAA. Tente realizar o seu upload o
quanto antes para evitar surpresas ruins.
vi. Caso você seja o único entre todas as turmas a acertar uma questão (isso inclui a
justificativa presente), esta valerá 50% a mais para você, ou seja, passará de 1pt para 1,5pts.

CÓDIGO DE CONDUTA E ÉTICA. Ao se submeter a esta avaliação, você está automaticamente


concordando que adotorá postura ética adequada, se comprometendo a não se comunicar em
hipótese alguma com colegas desta ou de qualquer outra turma, seja por meio digital ou
presencial. Você também estará garantindo que você é o autor único e exclusivo do arquivo-
resposta de que fará upload. Por fim, você estará ciente de que o professor poderá utilizar
todos os recursos tecnológicos disponíveis para verificar a ocorrência de plágio entre as
justificativas apresentadas a cada questão entre alunos da turma e também textos da Internet.
Questões
1. A que melhor se refere o termo von Neumann bottleneck?

A. Performance da ULA vs. Performance da Unidade de Controle


B. Velocidade da RAM vs. Velocidade da memória secundária
C. Tempo de processamento da CPU vs. Tempo de acesso à memória principal
D. Velocidade da RAM vs. Velocidade da Cache
E. Overhead de comunicação entre memória principal e secundária

2. Observe atentamente o programa a seguir composto por dois trechos (A e B) executados


sequencialmente um após o outro, e que operam sobre o mesmo conjunto de dados.
Conhecendo-se sobre o comportamento de uma memória cache, qual a alternativa correta?

...
//Trecho A
for (i = 0; i < MAX; i++)
for (j = 0; j < MAX; j++)
y[i] += A[i][j]∗x[j];
//Trecho B
for (j = 0; j < MAX; j++)
for (i = 0; i < MAX; i++)
y[i] += A[i][j]∗x[j];
...

A. Trecho A executará bem mais rápido que o laço B


B. Trecho B executará bem mais rápido que o laço A
C. Trechos A e B terão performances semelhantes
D. Não dá pra garantir que trecho executará mais rápido
E. Se invertermos a posição dos trechos, garantimos que B executará bem mais rápido que A

3. Na taxonomia de Flynn, qual sigla representa a arquitetura menos usual?

A. SIMD
B. MISD
C. SISD
D. MIMD

4. Qual dos seguintes termos representa um problema com o qual o design de programas
paralelos precisa lidar?

A. Determinismo da execução
B. Condição de corrida
C. Lock de exclusão mútua
D. Mutex
5. Sobre o design de programas paralelos, assinale a alternativa INCORRETA.

A. O guia mais conhecido se chama Metodologia Foster


B. Na decomposição funcional de tarefas os dados são divididos entre os processos
C. Quanto maior o número de tarefas independentes, maior a chance de overhead de comunicação
D. A tentativa de minimizar o tempo de execução da solução paralela pode gerar um tradeoff
E. Reduzir o numero de processos em paralelo pode aumentar a performance da solução

6. Considere o trecho de código sequencial a seguir. Quantos cores seriam exigidos pela
versão com maior paralelismo possível desse código? ATENÇÃO: um bom design de
paralelização pode alterar toda a codificação original para garantir o máximo paralelismo,
desde que, a saída do processamento (valores das variáveis) seja igual à obtida pela versão
sequencial para as mesmas entradas (valores iniciais das variáveis).

x++;
a = x + 2;
b = a + 3;
c++;

A. 1 core (não é possível paralelizar)


B. 2 cores
C. 3 cores
D. 4 cores
E. 5 cores

No grafo a seguir, os vértices representam tarefas rotuladas com seu respectivo tempo de
execução em um core. As arestas direcionadas representam relação de dependência entre
tarefas. Suponha que temos cores suficientes para executar cada processo em um core
separado. Responda às questões 7, 8 e 9.

7. Quanto tempo esse programa paralelizado levará para executar nesses 9 cores?
A. 460
B. 560
C. 670
D. 1170
E. nenhuma das anteriores

8. Qual é o melhor número de cores a serem usados para paralelizar esse programa e a
métrica diretamente relacionada a esse aspecto?

A. 2 cores e Lei de Amdahl


B. 2 cores e Efficiency
C. 2 cores e Lei de Gustafson
D. 3 cores e Efficiency
E. 3 cores e Lei de Amdahl

9. Qual o valor do Speedup da melhor versão paralelizada desse programa?

A. 0
B. 1
C. 1,75
D. ~2,54
E. nenhuma das anteriores

10. 80% do código de um programa pode ser paralelizado. Quantos cores precisaríamos para
poder acelerar esse programa em 3 vezes e em 4 vezes, respectivamente?

A. 6 cores e 16 cores
B. 6 cores e cores.
C. 6 cores e 7 cores.
D. 2 cores e 8 cores.
Modelo de arquivo-resposta (Aval1_SeuNome.txt)
Nome completo: Fulano(a) da Silva
Matrícula: 010101010101

1. A. Justificativa: blá blá, blá, blá, blá....


... blá, blá, blá.
2. C. Justificativa: blé, blé, blé, blé, blé, blé...
... blé.
3. ...
4. ...
5. ...
6. ...
7. ...
8. ...
9. ...
10. D. Justificativa: blú, blú, blú... blú, blú, blú...,
... blú, blú, blú.

OBS: obviamente, as letras assinaladas neste modelo são apenas ilustrativas e não necessariamente
correspondem à alternativa correta da respectiva questão.

Você também pode gostar