Questões de Processamento Paralelo (Arquitetura de Computadores)

Limpar Busca

Julgue o próximo item, relativo aos conceitos de servidores web.
Considere que, a fim de otimizar um servidor web, tenha se decidido transformá-lo em um servidor multithread. Nesse caso, se esse servidor consistir em um módulo de front end que aceita todas as solicitações recebidas e k módulos de processamento, então k + 1 threads pertencerão ao mesmo processo, de forma que todos os módulos de processamento terão acesso ao cache dentro do espaço de endereços do processo.

  • Certo
  • Errado

As arquiteturas de processadores multicore se baseiam em designs de CPU que incluem dois ou mais núcleos de processamento em um único chip de circuito integrado. Sobre os processadores multicore, se refere à principal vantagem das arquiteturas de processadores multicore:

  • A Reduz o custo de fabricação.
  • B Reduz o consumo de energia.
  • C Aumenta a capacidade de armazenamento.
  • D Melhora o desempenho de tarefas paralelas.

Considerando os conceitos de paralelismo e multiprocessamento em sistemas de computação de alto desempenho, é correto afirmar que:

  • A a eficiência do sistema é inversamente proporcional ao número de processadores, ou seja, quanto mais processadores, menor a eficiência do sistema, devido ao aumento da complexidade de gerenciamento;
  • B a eficiência do sistema pode ser melhorada até um certo ponto pelo aumento do número de processadores, mas está sujeita à Lei de Amdahl, que estabelece que há um limite para o quanto a performance pode ser aumentada através do paralelismo devido à fração de código que deve ser executada sequencialmente;
  • C o multiprocessamento garante que todas as tarefas serão executadas em paralelo, eliminando a necessidade de qualquer execução sequencial e maximizando a eficiência do sistema;
  • D em sistemas que implementam paralelismo e multiprocessamento, a eficiência é maximizada apenas quando cada processador executa uma única tarefa de cada vez, sem qualquer forma de troca de contexto ou multitarefa;
  • E o uso de técnicas de paralelismo e multiprocessamento implica que não há necessidade de otimizações no código, pois a adição de mais processadores resolve automaticamente quaisquer problemas de desempenho.

Na computação paralela, onde várias tarefas ou processos são executados simultaneamente em diferentes núcleos de processador, a sincronização entre processos é essencial para garantir que essas tarefas cooperem e compartilhem recursos de forma eficiente e correta.
No contexto de um sistema de computação paralela, assinale a opção que apresenta um método de sincronização entre processos que garante que apenas um processo possa acessar uma seção crítica de código por vez.

  • A Semáforo binário.
  • B Barreiras.
  • C Mutex.
  • D Memória compartilhada.
  • E Filas de mensagens.

Em computação paralela os loops paralelos são muito úteis, permitindo que várias iterações de um loop sejam executadas simultaneamente por diferentes threads, aproveitando assim ao máximo os recursos de processamento disponíveis em sistemas paralelos. Isso é especialmente importante para acelerar o processamento de tarefas computacionais intensivas, dividindo o trabalho entre múltiplos núcleos de processamento.  

Neste contexto, assinale a opção que apresenta o argumento utilizado no padrão OpenMP para combinar múltiplos loops em um único, permitindo sua execução em paralelo. 

  • A reduction(op:var).
  • B collapse(n).
  • C nowait.
  • D final.
  • E critical.