Logo Passei Direto
Buscar

Programação Paralela e Distribuída

Ferramentas de estudo

Questões resolvidas

Sobre essa afirmação, é correto afirmar que:
A. a programação paralela se baseia apenas em processos.
B. a programação distribuída se baseia apenas em threads.
C. a programação paralela se baseia apenas em threads.
D. a programação distribuída se baseia em threads e processos.
E. a programação distribuída se baseia em processos.
a) II and IV are correct.
b) II, III, and IV are correct.
c) I, III, and IV are correct.

Com relação à comunicação, é correto afirmar que:
A. a comunicação de programas paralelos ocorre apenas pela troca de mensagens.
B. a comunicação de programas paralelos ocorre apenas pela memória compartilhada.
C. a comunicação de programas distribuídos ocorre apenas pela memória compartilhada.
D. a comunicação de programas distribuídos ocorre pela memória compartilhada e pela troca de mensagens.
E. a comunicação de programas distribuídos ocorre pela troca de mensagens.
a) II and IV are correct.
b) II, III, and IV are correct.
c) I, III, and IV are correct.

Qual das técnicas a seguir pode ser utilizada para controlar a concorrência em memória compartilhada?

A. Particionamento de dados.
B. Particionamento de tarefas.
C. Heartbeats.
D. Locks.
E. Troca de mensagens.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Sobre essa afirmação, é correto afirmar que:
A. a programação paralela se baseia apenas em processos.
B. a programação distribuída se baseia apenas em threads.
C. a programação paralela se baseia apenas em threads.
D. a programação distribuída se baseia em threads e processos.
E. a programação distribuída se baseia em processos.
a) II and IV are correct.
b) II, III, and IV are correct.
c) I, III, and IV are correct.

Com relação à comunicação, é correto afirmar que:
A. a comunicação de programas paralelos ocorre apenas pela troca de mensagens.
B. a comunicação de programas paralelos ocorre apenas pela memória compartilhada.
C. a comunicação de programas distribuídos ocorre apenas pela memória compartilhada.
D. a comunicação de programas distribuídos ocorre pela memória compartilhada e pela troca de mensagens.
E. a comunicação de programas distribuídos ocorre pela troca de mensagens.
a) II and IV are correct.
b) II, III, and IV are correct.
c) I, III, and IV are correct.

Qual das técnicas a seguir pode ser utilizada para controlar a concorrência em memória compartilhada?

A. Particionamento de dados.
B. Particionamento de tarefas.
C. Heartbeats.
D. Locks.
E. Troca de mensagens.

Prévia do material em texto

Aula 09 – Introdução à programação paralela e distribuída 
 
1. A programação paralela e distribuída permite tirar proveito do paralelismo oferecido pelas 
arquiteturas onde elas se executam. A diferença da programação paralela e da distribuída está 
na arquitetura onde é executada. 
Sobre essa afirmação, é correto afirmar que: 
Resposta incorreta. 
A. a programação paralela se baseia apenas em processos. 
 
Resposta incorreta. 
B. a programação distribuída se baseia apenas em threads. 
 
Resposta incorreta. 
C. a programação paralela se baseia apenas em threads. 
 
Resposta incorreta. 
D. a programação distribuída se baseia em threads e processos. 
 
Você acertou! 
E. a programação distribuída se baseia em processos. 
 
Por ser distribuída, ou seja, consistir de máquinas com memória distribuída, a programação 
distribuída se dá unicamente por meio de processos. Já a programação paralela, que ocorre em 
memória compartilhada, pode ser feita com processos e com threads. 
 
 
2. A programação paralela e distribuída tem como parte fundamental para alcançar o 
paralelismo a forma como os processos ou threads vão se comunicar. Portanto, a 
comunicação é parte fundamental da programação paralela e distribuída. 
Com relação à comunicação, é correto afirmar que: 
Resposta incorreta. 
A. a comunicação de programas paralelos ocorre apenas pela troca de mensagens. 
 
Resposta incorreta. 
B. a comunicação de programas paralelos ocorre apenas pela memória compartilhada. 
 
Resposta incorreta. 
C. a comunicação de programas distribuídos ocorre apenas pela memória compartilhada. 
 
Resposta incorreta. 
D. a comunicação de programas distribuídos ocorre pela memória compartilhada e pela 
troca de mensagens. 
 
Você acertou! 
E. a comunicação de programas distribuídos ocorre pela troca de mensagens. 
 
A comunicação de programas distribuídos ocorre apenas pela troca de mensagens, pois são 
máquinas distribuídas, cada uma com sua própria memória local. 
Já programas paralelos, por estarem numa única máquina com memória compartilhada, podem 
se comunicar pela troca de mensagens ou por memória compartilhada. 
 
 
3. A programação paralela tem uma série de plataformas para sua implementação em 
diversas linguagens. Qual das alternativas a seguir se refere a uma plataforma exclusiva de 
programação paralela? 
 
Resposta incorreta. 
A. PVM. 
 
Resposta incorreta. 
B. MPI. 
 
Você acertou! 
C. OpenMP. 
 
OpenMP é uma plataforma construída especificamente para programação paralela em 
arquiteturas de memória compartilhada. 
PVM é uma biblioteca utilizada para trocar mensagens entre processos num ambiente 
distribuído, assim como o MPI, um padrão definido pela academia e indústria para uma interface 
de programação. 
Já Spark e Hadoop são plataformas distribuídas para o processamento paralelo de grandes 
volumes de dados. 
 
Resposta incorreta. 
D. Spark. 
 
Resposta incorreta. 
E. Hadoop. 
 
 
4. A programação paralela e distribuída é feita principalmente por dois conceitos básicos: 
processos e threads. 
Sabe-se que processos são mais pesados que threads. Por que isso acontece? 
Resposta incorreta. 
A. Processos realizam um número maior de comunicações. 
 
Resposta incorreta. 
B. Threads se comunicam por memória compartilhada, que é rápida. 
 
Resposta incorreta. 
C. Processos se comunicam apenas por mensagens, portanto são mais lentos. 
 
Resposta incorreta. 
D. Threads alocam menos memória do que processos. 
 
Você acertou! 
E. Threads vivem dentro de um processo já existente e têm acesso à sua memória. 
 
Threads são mais leves do que processos, pois pertencem a um processo já inicializado e já 
têm um endereçamento de memória alocado para ele. 
Essas threads têm acesso ao endereçamento de memória de forma compartilhada, por isso são 
mais leves, pois inicializam muito mais rápido. Threads não são mais rápidas por alocar menos 
memória; na verdade não alocam memória, e sim processos. 
Processos não se comunicam apenas pela troca de mensagens. Threads se comunicam pela 
memória compartilhada, mas não é esse o motivo que as deixa mais leves. 
Processos não necessariamente realizam mais comunicações do que threads. 
 
 
5. Em programação paralela, o principal meio de comunicação entre threads/processos é a 
memória compartilhada. 
Qual das técnicas a seguir pode ser utilizada para controlar a concorrência em memória 
compartilhada? 
Resposta incorreta. 
A. Particionamento de dados. 
 
Resposta incorreta. 
B. Particionamento de tarefas. 
 
Resposta incorreta. 
C. Heartbeats. 
 
Você acertou! 
D. Locks. 
 
Na programação paralela com memória compartilhada, a técnica utilizada para controlar a 
concorrência são os locks, que controlam o acesso a recursos, evitando que dois 
processos/threads acessem um recurso ao mesmo tempo. 
A troca de mensagens se relaciona a outra técnica de comunicação entre 
processos. Heartbeats são uma técnica de comunicação em sistemas distribuídos. 
Particionamento de dados e tarefas diz respeito à forma como o paralelismo vai ocorrer. 
 
Resposta incorreta. 
E. Troca de mensagens.

Mais conteúdos dessa disciplina