Questões de Concurso Público INPE 2024 para Tecnologista Júnior I - Ambiente de Supercomputação e HPC (High-Performance Computing)

Foram encontradas 45 questões

Q2520843 Sistemas Operacionais
A computação em nuvem proporciona aos usuários acesso a uma capacidade computacional que se adapta à sua demanda, frequentemente superando o que seria economicamente viável adquirir de forma local.
Uma das características que viabiliza a computação em nuvem consiste na abstração dos recursos computacionais físicos dos lógicos.
Essa característica pode ser denominada
Alternativas
Q2520844 Sistemas Operacionais
A computação em nuvem oferece diversos modelos de serviços.
Nesse contexto, analise as afirmativas a seguir.

I. No modelo IaaS, é possível oferecer ao usuário um serviço para desenvolvimento de aplicativos de modo simplificado, a partir de blocos pré-determinados.
II. No modelo SaaS, os provedores do serviço muitas vezes são os próprios desenvolvedores, o que facilita a customização do aplicativo.
III. Um serviço no modelo PaaS pode ser utilizado para oferecer um serviço do tipo SaaS, ao passo que um serviço no modelo PaaS pode ser desenvolvido através de um serviço do tipo IaaS.

Está correto o que se afirma em 
Alternativas
Q2520845 Redes de Computadores
Uma rede de dados para computação de alto desempenho (em inglês High Performance Computing ou HPC) é uma infraestrutura projetada para as demandas de comunicação dos dados de sistemas de computação de alto desempenho, tendo, portanto, características muito peculiares.
Considerando essas características, o componente que podemos citar como fundamental para o desempenho de uma rede de dados HPC é a(o)
Alternativas
Q2520846 Redes de Computadores
Uma rede de dados para HPC (High Performance Computing) possui alguns requisitos mais exigentes em relação às redes convencionais. Tais requisitos tem reflexos nas configurações das redes de dados HPC. Nesse contexto, assinale a opção que descreve corretamente uma caracterização da rede de dados para HPC.
Alternativas
Q2520847 Redes de Computadores
Armazenamento de alta performance pode ser uma exigência quando tratamos de alguns sistemas para Big Data, Inteligência Artificial e Computação de Alto Desempenho (HPC). Esse tipo de armazenamento possui algumas características particulares, que o distingue dos demais tipos de armazenamento.
Diante desse contexto, assinale a opção que apresenta um benefício chave dos sistemas de armazenamento de dados de alta performance.
Alternativas
Q2520848 Arquitetura de Computadores
Para avaliar e medir o desempenho em computação de alto desempenho (HPC), uma variedade de métricas e benchmarks são utilizados para caracterizar diferentes aspectos do sistema. Entre as métricas de HPC, speedup pode ser considerada uma das mais importantes.
 No contexto de métricas e análises de desempenho para HPC, assinale a opção que define corretamente speedup.
Alternativas
Q2520849 Sistemas Operacionais
As threads e os processos são conceitos fundamentais em sistemas operacionais e programação concorrente.
Assinale a opção que descreve uma diferença importante no conceito entre processos e threads, incluindo aspectos de comunicação e sincronização.
Alternativas
Q2520850 Sistemas Operacionais
A sincronização entre processos é um conceito fundamental em sistemas operacionais e programação concorrente. Assinale a opção que descreve um mecanismo comum de sincronização entre processos em sistemas operacionais.
Alternativas
Q2520851 Sistemas Operacionais
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.
Alternativas
Q2520852 Arquitetura de Computadores

Atenção: o enunciado a seguir refere-se à próxima questão.


OpenMP é um ambiente de programação paralela adequado para escrever programas paralelos a serem executados em sistemas de memória compartilhada. É uma coleção de interfaces de programação de aplicativos que inclui diretivas de compilador, funções de suporte e variáveis de ambiente, permitindo que os programadores explorem e controlem o paralelismo durante a execução de um programa. 

No contexto das variáveis utilizadas em programação paralela com OpenMP, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.

( ) A cláusula shared(list) especifica que cada variável da lista é compartilhada por todas threads do time, isso é, todas as threads compartilham uma mesma cópia da variável.
( ) Por padrão, variáveis declaradas antes de um bloco paralelo são compartilhadas.
( ) A cláusula private(list) especifica que cada variável da lista é privada por todas threads do time, isso é, cada thread tem sua própria cópia da variável.
( ) Por padrão, variáveis declaradas dentro de um bloco paralelo são privadas.

As afirmativas são, respectivamente,
Alternativas
Q2520853 Arquitetura de Computadores

Atenção: o enunciado a seguir refere-se à próxima questão.


OpenMP é um ambiente de programação paralela adequado para escrever programas paralelos a serem executados em sistemas de memória compartilhada. É uma coleção de interfaces de programação de aplicativos que inclui diretivas de compilador, funções de suporte e variáveis de ambiente, permitindo que os programadores explorem e controlem o paralelismo durante a execução de um programa. 

Com isto em mente, a cláusula que especifica o número de threads que devem ser executadas em um bloco estruturado em paralelo é
Alternativas
Q2520854 Arquitetura de Computadores
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.
Alternativas
Q2520855 Arquitetura de Computadores
No contexto da programação paralela com OpenMP, as variáveis declaradas fora de um bloco paralelo são compartilhadas automaticamente, enquanto as variáveis declaradas dentro de um bloco paralelo são tratadas como privadas por padrão. Também existe a possiblidade de uso de cláusulas adequadas para garantir o correto compartilhamento ou privacidade das variáveis entre as threads paralelas.
A esse respeito, analise as afirmativas a seguir e assinale (V) para verdadeira e (F) para a falsa.

( ) A cláusula shared(list) especifica que cada variável da lista é compartilhada por todas threads do time, isso é, cada thread tem sua própria cópia da variável.
( ) A cláusula firstprivate(list) especifica que cada variável da lista é privada por todas threads do time, mas são inicializadas com o valor que continha no momento em que a região paralela foi encontrada.
( ) A cláusula private(list) especifica que cada variável da lista é privada por todas threads do time, isso é, todas as threads compartilham uma mesma cópia da variável.

As afirmativas são, respectivamente,
Alternativas
Q2520856 Arquitetura de Computadores
Sistemas paralelos e distribuídos desempenham um papel crucial na computação moderna, oferecendo soluções para lidar com desafios cada vez mais complexos e demandas crescentes por desempenho, escalabilidade e confiabilidade. A importância desses sistemas reside em sua capacidade de processar grandes volumes de dados e executar tarefas computacionais intensivas de forma eficiente e rápida. Existem várias soluções que evoluíram até os sistemas paralelos modernos, que podem ser resumidos em três tipos predominantes:

I. Sistemas de memória compartilhada.
II. Sistemas distribuídos.
III. Sistemas de tempo real.
IV. Unidades de processamento gráfico (GPU).
V. Sistemas embarcados.

Está correto o que se afirma em
Alternativas
Q2520857 Programação
A programação com memória compartilhada refere-se a um modelo de programação em que múltiplos threads ou processos compartilham o mesmo espaço de memória, permitindo que eles acessem e modifiquem os mesmos dados. Isso geralmente é implementado em sistemas multicore ou multiprocessadores, onde várias unidades de processamento têm acesso simultâneo à memória principal.
Para evitar condições de corrida, isto é, uma situação em que o resultado depende do tempo preciso de acessos de leitura e escrita ao mesmo local na memória principal, ao trabalhar com memória compartilhada, podem ser utilizados mecanismos de exclusão mútua, como o uso de 
Alternativas
Q2520858 Arquitetura de Computadores
Um modelo multiprocessado é um modelo de computação paralela que se baseia no modelo de máquina de acesso aleatório e generaliza o mesmo. Existem basicamente três tipos diferentes de modelos multiprocessado e cada um desses modelos possui um número de unidades de processamento p e difere na organização das memórias e na forma como as unidades de processamento acessam essas memórias.
Assinale a opção que indica o modelo que consiste em unidades de processamento e módulos de memória acessados por uma rede de interconexão comum, sem memórias locais, permitindo o acesso uniforme às memórias quando não há acessos coincidentes. 
Alternativas
Q2520859 Arquitetura de Computadores
Sistemas paralelos e distribuídos desempenham um papel crucial na computação moderna, oferecendo soluções para lidar com desafios cada vez mais complexos e demandas crescentes por desempenho, escalabilidade e confiabilidade.
Sobre o uso de memória distribuída ou compartilhada, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.

( ) Em relação ao tempo da comunicação, as memórias distribuídas apresentam vantagem majoritariamente.
( ) Em relação à um número crescente de processadores que podem cooperar eficientemente, os computadores de memória distribuída apresentam mais vantagens.
( ) Quando o número de processadores deve ser alto (mais que 8) para reduzir o tempo de execução, a velocidade da comunicação se torna um fator crucial para a performance.
( ) OpenCL é uma biblioteca de especificação de passagem de mensagem muito útil para a implementação de paralelismo.

As afirmativas são, respetivamente,
Alternativas
Q2520860 Programação
Leia o trecho a seguir.
É uma linguagem de programação paralela de plataforma cruzada usada para programar diferentes tipos de processadores em computadores pessoais, servidores, dispositivos móveis e plataformas embarcadas. Ela define uma linguagem de programação e uma interface de programação de aplicativos para controlar a plataforma e executar programas em dispositivos de computação, como CPUs e GPUs.
Assinale a opção que indica a tecnologia descrita no trecho acima.
Alternativas
Q2520861 Arquitetura de Computadores
É construída com células que armazenam dados como carga em capacitores. A presença ou ausência de carga em um capacitor é interpretada como um binário 0 ou 1. Como os capacitores possuem uma tendência natural para descarregar, esta memória exige atualização (refresh) periódica para manter o dado armazenado.
Assinale a opção que apresenta o tipo de memória que possui as características descritas no trecho acima.
Alternativas
Q2520862 Sistemas Operacionais
Um sistema de memória semicondutora é suscetível a falhas, as quais podem ser classificadas como erros permanentes ou não permanentes. Entretanto, a maioria dos sistemas de memória modernos dispõe de lógica para detecção e correção de erros, sendo o código de Hamming um dos exemplos mais simples para esse fim. A respeito do Código de Hamming, analise as afirmativas a seguir.

I. K bits de paridade são acrescentados a uma palavra de M bits, gerando uma nova palavra de comprimento M + K bits.
II. Todos os bits de verificação ocupam posições que são potência de 2 na palavra. Os bits de dados são encontrados nas demais posições.
III. Os bits de verificação são calculados por meio do emprego da operação lógica AND.

Está correto o que se afirma em
Alternativas
Respostas
1: D
2: D
3: B
4: C
5: C
6: B
7: A
8: C
9: C
10: A
11: D
12: B
13: D
14: D
15: C
16: E
17: B
18: A
19: A
20: B