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:
Questão
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:
Alternativas
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.
Explicação
A distinção clássica entre programação paralela e programação distribuída está no ambiente de execução:
- Programação paralela
- Em geral, ocorre em um mesmo computador (memória compartilhada ou, em alguns casos, memória distribuída dentro de um cluster, mas com foco no paralelismo coordenado).
- Pode ser implementada tanto com threads (muito comum em memória compartilhada) quanto com processos (por exemplo, múltiplos processos cooperando).
- Portanto, afirmações do tipo “paralela se baseia apenas em threads” ou “apenas em processos” são restritivas demais e tendem a estar incorretas.
- Programação distribuída
- Envolve componentes executando em máquinas diferentes, conectadas por rede.
- O modelo mais característico é a comunicação entre processos (cada nó executa seu(s) processo(s), comunicando via mensagens/RPC etc.).
- Embora um processo distribuído possa internamente usar threads, o fundamento do distribuído (no sentido arquitetural) é a existência de processos em diferentes endereços de memória/máquinas.
Analisando as alternativas:
- (a) e (c): dizem que paralela se baseia apenas em uma coisa → falso.
- (b): distribuída apenas em threads → falso.
- (d): distribuída em threads e processos → pode acontecer na prática, mas a base conceitual típica do distribuído é processos; a alternativa (e) é a correta e mais aderente ao conceito cobrado.
- (e): distribuída se baseia em processos → correta.
Alternativa correta: (e).