Geral

Computação Escalável

Semana 1 7

#1

No contexto de linguagens de programação é comum aparecer os termos concorrência e paralelismo. Assinale a alternativa correta 

A

Paralelismo e concorrência são sinônimos.

B

Um programa concorrente é aquele que possui várias threads de controle. 

C

Um programa paralelo é aquele que possui várias threads de controle.

D

Um programa concorrente é executado em vários processadores. 

E

Utilizar o paralelismo é útil para estruturar um programa que precisa executar com vários clientes simultaneamente.

#2

Na computação, podemos construir aplicações e executá-las explorando muitos recursos computacionais existentes nos seus processadores, independentemente do seu porte e da sua finalidade, sendo que, para os desenvolvedores e os usuários finais dos ambientes computacionais, essa percepção da escalabilidade dos sistemas fica oculta.

Em termos computacionais, a escalabilidade pode ser definida como:

A

um complexo computacional atento aos novos paradigmas computacionais ligados à programação de computadores e ao armazenamento de dados, por exemplo.

B

um sistema que permite trabalhar com dados locais, armazenados em grandes bases de dados nos servidores e na nuvem.

C

um projeto que tem a previsão de compra de novos servidores para atender ao crescimento natural dos dados armazenados.

D

um projeto que tem como premissa a renovação dos sistemas legados de tempos em tempos para permitir uma atualização tecnológica.

E

um sistema que apresenta capacidade de funcionar quando há alteração do seu contexto em relação ao seu tamanho para atender às necessidades do usuário.

#3

Para atender às premissas da computação escalável, dois processos computacionais são utilizados: a computação paralela e a distribuída. Explorando a computação paralela, verifica-se que, nesse tipo de computação, ocorre a utilização simultânea de múltiplos recursos computacionais para que uma determinada tarefa seja concluída. Assim, para que possa ser executada em diversas ______________ (lacuna 1), uma atividade é subdividida em partes ____________________ (lacuna 2), que podem ser executadas _________________________ (lacuna 3), pois o programa é dividido em conjuntos de ____________________________ (lacuna 4).


Assinale a alternativa que possui a sequência correta das lacunas.

A

CPUs, discretas, concorrentemente, instruções.

B

máquinas computacionais, discretas, concorrentemente, rotinas.

C

CPUs, contínuas, concorrentemente, instruções.

D

máquinas computacionais, contínuas, concorrentemente, instruções.

E

CPUs, discretas, isoladamente, instruções.

#4

A computação paralela, definida como o uso simultâneo de múltiplos recursos computacionais para resolver um problema e que representa uma das aplicações para a computação escalável, pode possuir mais de uma solução para atender ao processamento em paralelo.


Baseando-se na possibilidade de mais de uma solução para a computação paralela, identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir.


I. (  ) Um único computador com múltiplos processadores representa uma das possibilidades de solução para a computação paralela.

II. (  ) Um número arbitrário de computadores conectados pela rede representa uma das possibilidades de solução para a computação paralela.

III. (  ) Uma combinação de um único computador com múltiplos processadores e um número arbitrário de computadores conectados pela rede representa uma das possibilidades de solução para a computação paralela.


Assinale a alternativa que apresenta a sequência correta.

A

F, V, V.

B

V, V, F.

C

V, F, F.

D

V, V, V.

E

F, F, F.

#5

A computação distribuída — que representa uma coleção de computadores independentes aparentando ser um único computador, com o hardware apresentando uma capacidade autônoma, com o software sendo visto pelos usuários como uma única máquina e com a transparência sendo um conceito-chave — possui a grande vantagem da extensibilidade.

Com relação à extensibilidade da computação distribuída, avalie as afirmações a seguir, que explicam essa vantagem.


I. O sistema se mantém estável.

II. Novos softwares podem ser instalados gradativamente. 

III. Há compartilhamento de recursos. 

IV. Recursos de alto custo podem ser mais bem utilizados.


Está correto o que se afirma em:

A

II e IV, apenas.

B

II, III e IV, apenas.

C

I e III, apenas.

D

III e IV, apenas.

E

I, II, III e IV.

#6

A computação paralela faz uso de diversos conceitos estudados em Sistemas Operacionais e em Sistemas Distribuídos. Um conceito fundamental que envolve a relação entre o tempo de um programa executado sequencialmente e outro executado de forma paralela, sendo esse um dos indicadores para quantificar o desempenho de um programa paralelo é conhecido como: 

A

escalonamento.

B

speedup.

C

pipelinning.

D

granularidade.

E

sincronismo.

#7

Uma outra forma de atender às premissas da computação escalável é utilizando a computação distribuída. A computação distribuída representa uma coleção de computadores independentes aparentando ser um único computador, com as seguintes características: o hardware possuindo capacidade autônoma, o software sendo visto pelos usuários como uma única máquina e utilizando um conceito-chave: a transparência.

Considerando a transparência como conceito-chave da computação distribuída, assinale a alternativa que descreve, corretamente, como a transparência pode ser entendida.

A

Transparência de recursos físicos (esconder dos usuários a localização dos diversos recursos).

B

Transparência para os sistemas, compostos pelos sistemas legados e pelos ERPs (Enterprise Resource Planning).



C

Transparência de recursos físicos (esconder dos usuários a localização dos diversos recursos) e a transparência para os sistemas.

D

Transparência para os sistemas (legados + ERPs) e os algoritmos computacionais utilizados (códigos de programas).

E

 Transparência dos algoritmos computacionais utilizados, por meio da ocultação dos códigos de programas em diferentes linguagens.

Semana 2 9

#1

Um processador equipado com paralelismo no nível de threads pode executar processos ______ do código, sendo possível rodar dois processos de um mesmo aplicativo ao mesmo tempo.

A

juntos

B

concorrentes

C

separados

D

sequenciais

E

paralelos

#2

Considere a classificação de Flynn para arquiteturas de computadores e verifique a que se encaixa no contexto de múltiplas instruções e múltiplos dados (MIMD).

A

Este tipo de arquitetura é adequado para problemas específicos caracterizados por alto grau de regularidade, como processamento de imagens.

B

Equivale a um programa puramente sequencial, sendo também conhecida como arquitetura Von Neumann.

C

É um exemplo representante da classificação MIMD o C.mmp (1971).

D

A grande parte dos computadores atuais, incluindo clusters e computadores com processadores multicore.

E

Consiste em um fluxo único de dados entre processador e memória, tendo o univac1 como exemplo.

#3

É conhecido como um modelo de programação no contexto do paralelismo em que não há a comunicação explícita de dados entre as tarefas e o espaço de endereçamento global permite um modelo de programação mais amigável. Esse modelo recebe o nome de:

A

memória cache.

B

memória distribuída.

C

memória uniforme.

D

memória compartilhada.

E

memória híbrida.

#4

Os sistemas de memória distribuída possuem uma rede de comunicação para interconectar os processadores, e cada processador tem a sua própria memória local, não existindo um espaço de endereçamento global, pois cada processador tem acesso somente à sua memória. O programador determina quando e como um dado é propagado de um processador para o outro. Assim como na memória compartilhada, a memória distribuída apresenta vantagens e desvantagens para o modelo.

Correlacione, adequadamente, os elementos a seguir, que se demonstram como desvantagem ou vantagem para a memória distribuída.


1. Desvantagem

2. Vantagem


I. Comunicação de dados.

II. Escalabilidade.

III. Memória global.

IV. Comportamento dos processadores.

V. Acesso à memória.


Assinale a alternativa que correlaciona, adequadamente, os dois grupos de informação.

A

1-IV; 1-V; 2-I; 2-II; 2-III.

B

1-II; 1-III; 2-I; 2-IV; 2-V.

C

1-I; 1-II; 2-III; 2-IV; 2-V.

D

1-V; 2-I; 2-II; 2-III; 2-IV.

E

1-I; 1-III; 2-II; 2-IV; 2-V.

#5

São vantagens dos processadores multicore:

 

I. Maior desempenho.

II. Funcionar apenas em servidores de data center.

III. Poder executar mais de um processo por ciclo de clock.

IV. Poder executar mais de uma tarefa por ciclo de clock e cada tarefa executar mais de um processo por vez.

A

Apenas II e IV estão corretas.

B

Apenas II e III estão corretas.

C

Apenas I e IV estão corretas.

D

Apenas I e III estão corretas.

E

Apenas I, II e III estão corretas.

#6

Os modelos de programação paralela não são específicos para um determinado tipo de arquitetura e qualquer modelo pode, teoricamente, ser implementado em qualquer hardware


Com relação às características do modelo de programação de memória distribuída, avalie as afirmações a seguir:


I. Tarefas utilizam endereço comum para leitura e gravação simultâneas.

II. Há um conjunto de tarefas que utilizam a memória local durante a computação. 

III. Não existe a necessidade de comunicação explícita de dados entre as tarefas. 

IV. Várias tarefas podem residir na mesma máquina.


Está correto o que se afirma em:

A

II e IV, apenas.

B

I, II, III e IV.

C

II, III e IV, apenas.

D

III e IV, apenas.

E

I e III, apenas.

#7

Um outro tipo de memória compartilhada utilizada na computação escalável denomina-se _______________________________ (lacuna 1), na qual os ________________ (lacuna 2) são conectados por canais de comunicação e o espaço de endereçamento ainda é _____________ (lacuna 3).

Assinale a alternativa que possui a sequência correta das lacunas.

A

NUMA (Non-Uniform Memory Access), SMPs, local.

B

RAM (Random Access Memory), endereços, global.

C

RAM (Random Access Memory), endereços, local.

D

UMA (Uniform Memory Access), SMPs, global.

E

NUMA (Non-Uniform Memory Access), SMPs, global.

#8

Em computação escalável, um elemento muito importante para que os processos de paralelismo, concorrência e escalabilidade ocorram de maneira satisfatória está relacionado à memória dos equipamentos que estão sendo utilizados. 

Identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir relacionadas à memória.


I. (  ) Múltiplos processadores compartilham diferentes recursos de memória em um espaço de endereçamento global.

II. (  ) Modificações efetuadas em uma região de memória por um processador são visíveis a todos os outros processadores;

III. (  ) As memórias se dividem em duas classes denominadas: UMA e NUMA.


Assinale a alternativa que apresenta a sequência correta.

A

V, V, V.

B

F, F, F.

C

F, V, F.

D

F, V, V.

E

V, F, V.

#9

A memória compartilhada, na computação escalável, representa um elemento fundamental para os processos de paralelismo, concorrência e escalabilidade das máquinas. Mas, como qualquer procedimento tecnológico, apresenta vantagens e desvantagens para o modelo.

Correlacione, adequadamente, os elementos a seguir, que se demonstram como vantagem ou desvantagem para a memória compartilhada.


1. Vantagem

2. Desvantagem


I. Programação.

II. Escalabilidade.

III. Compartilhamento de dados entre as tarefas.

IV. Tráfego entre a memória e a CPU.

V. Sincronização dos acessos. 


Assinale a alternativa que correlaciona, adequadamente, os dois grupos de informação.

A

1-IV; 1-V; 2-I; 2-II; 2-III.

B

1-I; 1-III; 2-II; 2-IV; 2-V.

C

1-II; 1-III; 2-I; 2-IV; 2-V.

D

1-V; 2-I; 2-II; 2-III; 2-IV.

E

1-I; 1-II; 2-III; 2-IV; 2-V.

Semana 3 8

#1

A granularidade é um importante aspecto que precisa ser considerado quando um problema computacional deve ser quebrado em partes para ser processado em paralelo. É também importante considerar esse aspecto quando discutimos a infraestrutura computacional e seus componentes. Analise as afirmações a seguir e escolha a alternativa correta acerca da granularidade relacionada à infraestrutura. 

 

I. A granularidade grossa envolve servidores de bancos de dados.

II. A granularidade fina e grossa não impacta no processamento das tarefas. 

III. A granularidade é sinônimo de disponibilidade. 

IV. A granularidade fina envolve componentes dos servidores como placa-mãe, processadores e memória.

A

Apenas III está correta.

B

Apenas I e IV estão corretas.

C

Apenas I e III estão corretas. 

D

Apenas I está correta. 

E

Apenas II e III estão corretas. 

#2

A computação em grade (Grid Computing) caracteriza-se pela coleção de recursos computacionais de comunicação utilizado para a execução de aplicações. São características de uma Grade (Grid): 

 

I. Visão uniforme de recursos computacionais. 

II. O nómestre não é um elemento de um grid. 

III. O usuário vê um grid como várias entidades. 

IV. Ser fundamentado em protocolos da Internet/Web e tecnologias de Web Services. 

A

Apenas III e IV estão corretas.

B

Apenas II, III e IV estão corretas.

C

Apenas II e III estão corretas.

D

Apenas I, III e IV estão corretas.

E

Apenas I e IV estão corretas.

#3

São características fundamentais da Computação em Nuvem segundo o Instituto Nacional de Padrões e Tecnologia do Departamento de Comércio Norte-Americano(NIST): 

A

tem como modelo de implantação o SaaS, IaaS e o PaaS.

B

utiliza licença para o sistema operacional e para as aplicações.

C

tem como modelo de serviços a nuvem privada, a nuvem híbrida e a nuvem pública.

D

serviço que não pode ser medido como a energia elétrica.

E

acesso via rede e elasticidade.

#4

A metodologia para a construção de um cluster Beowulf envolve: 

 

I. Switch. 

II. Nós de processamento. 

III. Computador usado como servidor com apenas uma placa de rede. 

IV. Um sistema operacional escolhido de acordo com a sua capacidade técnica. 

A

Apenas I, II e IV estão corretas.

B

Apenas II e III estão corretas.

C

Apenas III está correta.

D

Apenas II e IV estão corretas.

E

Apenas I e II estão corretas.

#5

Um projeto promove um ecossistema dinâmico para a implantação global de datacenters na nuvem, compartilhando o mesmo servidor e os mesmos projetos de datacenter que capacitam a nuvem em hiperescala. O ________________________________ (lacuna 1) é uma comunidade global de líderes em tecnologia que trabalha em conjunto para liberar ______________________ (lacuna 2) de TI proprietárias para tornar o __________________ (lacuna 3) mais eficiente, flexível e escalável, facilitando a personalização.

Assinale a alternativa que possui a sequência correta das lacunas.

A

OCP (Open Compute Project), infraestruturas, software.

B

GCP (Global Computer Project), infraestruturas, hardware.

C

OCP (Open Compute Project), infraestruturas, hardware.

D

OCP (Open Compute Project), servidores, hardware.

E

GCP (Global Computer Project), infraestruturas, software

#6

Acerca dos tipos de cluster no contexto de computação escalável é correto afirmar que: 

I. O cluster de balanceamento de carga depende de 1 ou mais nós balanceadores de carga que será enviada aos servidores que de fato vão processar a carga. 

II. O cluster de alta disponibilidade é aquele que tende a se manter resistente a falhas e quando esta ocorre o usuário não percebe. 

III. O cluster de alta disponibilidade tem a mesma função que um cluster de alto desempenho. 

IV. Cluster de alta disponibilidade é aquele usado para distribuir a carga de trabalho. 

A

Apenas I e IV estão corretas.

B

Apenas I, III e IV estão corretas.

C

Apenas III e IV estão corretas.

D

Apenas I e II estão corretas. 

E

Apenas II, III e IV estão corretas.

#7

Os clusters, que trabalham sobre nós de processamento, tendem a ser resistentes a falhas de hardware, software e energia e têm como um dos seus objetivos manter os serviços em operação o maior tempo possível, o que é conhecido como “alta disponibilidade”. Nesse contexto, utiliza-se uma técnica para distribuir carga de trabalho de maneira uniforme entre dois ou mais nós, enlaces de comunicação, discos de armazenamento e outros recursos computacionais.

Assinale a alternativa que contém, corretamente, o nome da técnica demonstrada pelas características anteriores.

A

Distribuição de dados.

B

Data mining.

C

Balanceamento de carga.

D

Recursividade.

E

Time-sharing.

#8

Na computação escalável e em outras aplicações, várias possibilidades surgem com o propósito de apresentar alternativas para que tanto a parte do hardware como a do software possam ser mais bem atendidas e permitir como que o usuário do sistema computacional fique satisfeito.

Correlacione, adequadamente, os elementos a seguir, que demonstram a associação do tipo de sistema e uma de suas características.


1. Internet

2. WWW

3. Grid

4. Cloud


I. Computadores compartilham poder computacional e recursos como armazenamento de disco, aplicações e bases de dados.

II. Teve início na década de 1990.

III. Infraestrutura de rede que conecta milhões de computadores (baseada na pilha TCP/IP).

IV. Modelo que permite o acesso de forma onipresente, conveniente e sob demanda a um conjunto de recursos computacionais compartilhados e configuráveis.


Assinale a alternativa que correlaciona, adequadamente, os dois grupos de informação.

A

1-II; 2-III; 3-I; 4-IV.

B

1-III; 2-I; 3-II; 4-IV.

C

1-III; 2-II; 3-I; 4-IV.

D

1-III; 2-IV; 3-I; 4-II.

E

1-IV; 2-II; 3-I; 4-III.

Semana 4 8

#1

Se comparamos o OpenMP com o OpenMPI podemos afirmar que:

  1. OOpenMPIé um padrão para troca de mensagens que utiliza memória compartilhada. 

  2. OOpenMPé um padrão para troca de mensagens que utiliza memória distribuída.

  3. OOpenMPI utiliza comunicação coletiva entre processos.

  4. O conceito de rank é nativo do OpenMPI. 

A

Apenas I e II estão corretas.

B

Apenas I, II e III estão corretas.

C

Apenas II, III e IV estão corretas.

D

Apenas III e IV estão corretas.

E

Apenas II e III estão corretas. 

#2

A plataforma CUDA da Nvidia utiliza o poder de processamento gráficos da GPUs (GraphicalProcessing Unit) para auxiliar na resolução de tarefas computacionais complexas nos campos da medicina e engenharia por exemplo. Sobre o CUDA podemos afirmar que: 

A

O escalonamento de tarefas em CUDA usa o conceito de bloco e processo. 

B

O CUDA utiliza apenas o conceito de memória local da GPU.

C

CUDA não pode ser utilizada em containers Docker.

D

O escalonamento de tarefas em CUDA usa o conceito de grid e processo.

E

O ambiente do CUDA envolve bibliotecas que estão linkadas o CUDA runtime.

#3

Algumas motivações para o OpenMPi podem ser relacionadas: (1) à necessidade de poder computacional; (2) às dificuldades na melhoria dos processadores sequenciais; (3) ao custo-benefício; e (4) às dificuldades de comunicação, coordenação, sincronização e distribuição de trabalho.

Relacione, adequadamente, os elementos a seguir, que se demonstram como vantagem ou desvantagem para o MPi.

  1. Vantagem
  2. Desvantagem
  1. Portabilidade.
  2. Comunicação entre os hosts.
  3. Ambiente de controle de execução.
  4. Desempenho.
  5. Interface com o usuário.

Assinale a alternativa que correlaciona, adequadamente, os dois grupos de informação.

A

1-V; 2-I; 2-II; 2-III; 2-IV.

B

1-I; 1-IV; 1-V; 2-II; 2-III.

C

1-I; 1-III; 2-II; 2-IV; 2-V.

D

1-II; 1-III; 2-I; 2-IV; 2-V.

E

1-IV; 1-V; 2-I; 2-II; 2-III.

#4

Além dos modelos e da programação de paralelismo explícito e multithread implícito, um terceiro modelo é o ______________________________ (lacuna 1), no qual todos os programas iniciam a sua execução com um processo mestre. O _______________________ (lacuna 2) executa sequencialmente até encontrar um construtor ____________________ (lacuna 3), momento em que cria um team de threads. O código delimitado pelo construtor paralelo é executado em paralelo pelo master thread e pelo team de threads.

Assinale a alternativa que possui a sequência correta das lacunas.

A

multithread implícito, master thread, paralelo.

B

fork-join, master thread, paralelo.

C

multithread implícito, master thread, sequencial.

D

fork-join, master thread, sequencial.

E

multithread implícito, thread, sequencial.

#5

Relacionado a um programa OpenMP, pode-se observar algumas características específicas. Além de utilizar as definições da biblioteca omp.h; implementar o programa em libgomp.so; e usar, na sua compilação, a opção -fopenmp, o programa pode utilizar três tipos de variáveis específicas.

Identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir, que descrevem os três tipos de variáveis utilizadas em um programa OpenMP.

I. (  ) private

II. (  ) shared

III. (  ) lastprivate


Assinale a alternativa que apresenta a sequência correta.


A

V, F, V.

B

F, F, F.

C

V, V, V.

D

V, V, F.

E

F, V, F.

#6

Na computação paralela, utilizam-se plataformas de software e hardware de alto desempenho que usam o poder de processamento dos núcleos das GPUs da NVIDIA. Como exemplo prático, pode-se citar a utilização de GPUs com o objetivo de simular o fluxo sanguíneo e identificar placas arteriais ocultas sem fazer uso de técnicas de imageamento invasivas ou cirurgias exploratórias.

Assinale a alternativa que justifica, corretamente, o motivo para as GPUs serem tão eficientes.

A

Elas utilizam princípios da computação quântica, que permite o processamento das informações mais rápido do que os outros.

B

Elas utilizam multiprocessadores que dividem o trabalho em vários caches de programação.

C

Elas são, exclusivamente, dedicadas a processar dados, não tendo que guardar informações de cache ou controlar fluxos de dados.

D

Elas são mergulhadas em um solução de cloro, flúor e carbono que evita o seu aquecimento.

E

Elas são fabricadas utilizando um material único que permite o processamento das informações mais rápido do que os outros.

#7

Nos estudos da computação paralela, atende-se a demandas nos campos matemático, científico e biomédico, além das demandas na computação e na engenharia, devido às características das aplicações nesses campos, que são altamente paralelizáveis.

Analise a definição a seguir:

Plataforma de software e hardware para computação paralela de alto desempenho que utiliza o poder de processamento dos núcleos das GPUs da NVIDIA. 

Assinale a alternativa que nomeia, corretamente, o framework da computação paralela para a definição do trecho anterior.

A

Cloud.

B

OpenMP.

C

CUDA.

D

OpenMPi.

E

Grid.

#8

O OpenMP é um modelo de programação de memória compartilhada, que nasceu da cooperação entre um grupo de grandes fabricantes de software e hardware, com o intuito de promover uma padronização nesse campo de aplicação, não sendo, necessariamente, uma implementação, mas sim uma especificação que todos os seus usuários podem utilizá-la.

Com relação ao OpenMP e aos seus objetivos, observe as afirmativas a seguir.


I. Ser o padrão de programação para arquiteturas de memória compartilhada.

II. Estabelecer um conjunto simples e ilimitado de diretivas de programação.

III. Possibilitar a paralelização incremental de programas sequenciais.

IV. Permitir implementações eficientes em problemas de granularidade.


Está correto o que se afirma em:

A

I, II e III, apenas.

B

I, II, III e IV.

C

I e III, apenas.

D

I, III e IV, apenas.

E

II e IV, apenas.

Semana 5 8

#1

O _____ é um dos componentes do Apache Kafka que atua para facilitar a verificação de ______, o gerenciamento e a coordenação. Tambémpode ser chamado de um serviço centralizado para manter informações de configurações e nomenclaturas entre serviços distribuídos. O Kafka utiliza este componente para sincronizar as configurações entre diferentes clusters. 

 

Assinale a alternativa que completa corretamente as lacunas acima:  

A

broker, disponibilidade 

B

consumidor, segurança

C

spark, integridade

D

produtor, integridade

E

zookeeper, integridade

#2

O framework Kafka, para processamento em larga escala, é uma plataforma de streaming distribuído que possui alta escalabilidade, tolerância a falhas, permite alto nível de paralelismo e desacoplamento entre produtores de dados e consumidores de dados. 

Analise estas duas definições: as mensagens são persistidas em uma fila, mas uma mensagem específica pode ser consumida por, no máximo, um consumidor; as mensagens são persistidas em um tópico, e os consumidores podem se inscrever em um ou mais tópicos e consumir todas as mensagens desse tópico.

Assinale a alternativa correta que define os tipos de sistemas de mensagens para a definição dos trechos acima, respectivamente.

A

Ponto a ponto e publicar-assinar.

B

Publicar-assinar e ponto a ponto.

C

Buffer e queue.

D

Queue e buffer.

E

Ponto a ponto e queue.

#3

______ no contexto do Spark significa que a execução não será iniciada até que uma ação seja acionada. Isso acontece quando ocorrem transformações do Spark. As transformações são ______ por natureza, ou seja, quando chamamos alguma operação no RDD, ela não é executada imediatamente. 

 

Assinale a alternativa que completa corretamente as lacunas acima:  

A

Collect(), lenta

B

Lazyevaluation, preguiçosas

C

Speed evaluation, rápida

D

Count(), preguiçosas

E

first() 

#4

O Spark representa outro framework para processamento de dados em larga escala, que foi motivado, por exemplo, pelo aumento dos datasets na web e pela Internet das Coisas (IoT). O Apache Spark, uma alternativa ao MapReduce para algumas aplicações, é um sistema de computação em cluster com baixa latência e usado para grandes conjuntos de dados.

Assinale a alternativa que descreve um dos principais benefícios do Apache Spark.

A

Em vez de carregar os dados do disco para cada consulta, os dados são compartilhados diretamente na memória.

B

Separa os processos em grids e ranks, o que facilita a administração dos processos pelo sistema central.

C

Trabalha com nós de processamento, denominados “hosts”, e consegue acelerar o processamento dos dados.

D

Utiliza sub-partições de disco para facilitar o processamento dos dados dos diferentes usuários do sistema.

E

Trabalha com o conceito de paginação de dados, separando as camadas de processamento por prioridades.

#5

O framework Apache Spark aborda o problema do acesso __________ aos dados com conjuntos de dados __________ resilientes (RDDs). O RDD permite que as aplicações mantenham conjuntos de trabalho na memória para __________. Destaca-se como um modelo de programação tolerante a falhas, utilizando computação distribuída e compartilhamento em memória.

Assinale a alternativa que possui a sequência correta das lacunas. 

A

Compartilhado - distribuídos - reutilização.

B

Distribuído - compartilhado - reutilização.

C

Restrito - distribuídos - reutilização.

D

Compartilhado - remotos - reutilização.

E

Compartilhado - distribuídos - eliminação.

#6

Analise as afirmações a seguir sobre o Apache Kafka e o Kubernetes e escolha a alternativa correta. 

I. O Kubernetes confere ao Apache Kafka a portabilidade entre provedores de infraestrutura e sistemas operacionais.  

II. Com o Apache Kafka, os clusters do Kubernetes podem ser distribuídos em ambientes locais e em nuvens públicas, privadas ou públicas. 

III. O Kubernetesé uma plataforma escalável para hospedar as aplicações do Kafka. 

IV. O Apache Kafka é um sistema open source para gerenciamento de aplicações em containers. 

A

Apenas I e III estão corretas. 

B

Apenas I, II e III estão corretas.

C

Apenas I e II estão corretas.

D

Apenas III e IV estão corretas.

E

Apenas II e IV estão corretas.

#7

O conjunto de soluções do framework Apache Sparké denominado “ecossistema Apache Spark”. Esse ecossistema é constituído pelos seguintes elementos: Spark Core, Spark SQL, Spark Streaming, MLLib e Graphx, cada qual com as suas funções específicas no framework.

Com relação às funcionalidades dos elementos que compõem o ecossistema do framework Apache Spark, avalie as afirmações a seguir que explicam essas vantagens.


I. Spark Core: refere-se ao motor de execução da plataforma e representa um mecanismo de processamento de dados distribuído.

II. Spark SQL: é um mecanismo para o Hadoop Hive que permite que consultas não modificadas sejam executadas de forma mais rápida.

III. Spark Streaming: é um mecanismo que permite aplicativos interativos e analíticos poderosos no streaming de dados.

IV. GraphX: é o mais novo componente do Spark e representa uma biblioteca de aprendizado de máquina escalável.

V. MLLib: é um mecanismo de computação gráfica que fornece vários utilitários úteis para tarefas de aprendizado de máquina.


É correto o que se afirma em:

A

I, II e III, apenas.

B

I, II, III, IV e V.

C

III e IV, apenas.

D

I, II, III e IV, apenas.

E

II, III e IV, apenas.

#8

O Hadoopé uma plataforma de software desenvolvida em Java utilizada para clusters e processamento de grandes volumes de dados. São camadas importantes de uma aplicação no contexto do Hadoop: 

 

I. Armazenamento. 

II. Processamento. 

III. Interface. 

IV. Conexão. 

A

Apenas I e III estão corretas. 

B

Apenas II e IV estão corretas.

C

Apenas I, II e III estão corretas.

D

Apenas II e III estão corretas.

E

Apenas I, II e IV estão corretas. 

Semana 6 8

#1

Para se avaliar um sistema computacional, torna-se necessário realizar uma análise detalhada dos recursos do sistema, dos gerenciadores, dos usuários, dos objetivos do sistema e da avaliação. As medidas não podem ser fatores degeneradores, mas devem considerar o domínio da aplicação e deixar a análise isenta.

Leia as afirmações a seguir que definem técnicas para a medição de sistemas computacionais.


I. Inspeções.

II. Protótipos.

III. Benchmarking.


É correto que se afirma em:

A

I, II e III.

B

II, apenas.

C

I e III, apenas.

D

II e III, apenas.

E

I e II, apenas.

#2

Entre as perguntas que precisamos responder ao considerar a avaliação de desempenho de um sistema computacional, devemos considerar: 

 

I. O que o sistema precisa. 

II. O tipo de usuário. 

III. O objetivo do sistema. 

IV. A validade do sistema. 

 

A

Apenas I e III estão corretas.

B

Apenas I, II e III estão corretas.

C

Apenas II e IV estão corretas.

D

Apenas I e II estão corretas. 

E

Apenas II e III estão corretas. 

#3

Algum tipo de teste em aplicações computacionais precisa ser realizado. Há diversos tipos de testes associados a contexto diferentes. Por exemplo, quando se desenvolve uma interface de uma aplicação Web há a necessidade de realizar um teste para saber se a interface está adequada para a entrada de dados pelo usuário. Porém há testes de carga para sistemas que rodam no back-end (servidores) que ajudam a provisionar melhor a infraestrutura computacional. O nome do teste que considera vários sistemas executando no mesmo servidor, sendo utilizado para encontrar   situações em que uma aplicação boqueia os dados da outra, chama-se: 

A

Teste de estresse sistêmico.

B

Teste de API.

C

Teste de estresse distribuído.

D

Teste de estresse exploratório.

E

Teste de estresse transacional.

#4

Na caracterização da carga de trabalho imposta a um sistema computacional há diversas possibilidades a serem consideradas. Àquela que utiliza sequência de requisições com time stampé chamada de: 

A

valor médio.

B

taxa de chegada.

C

frequência de requisições.

D

localização do usuário.

E

trace.

#5

Uma das características da ferramenta ______ são os controles de gravação que são importantes no momento da gravação dos scripts, ajudando a economizar tempo no projeto, bem como o extrator de expressão regular que auxilia a coleta de dados dos resultados retornados, podendo assim realizar validações durante o teste. 

A

Apache Server

B

OpenMPI

C

BlazeMeter.

D

OpenMP

E

JMeter

#6

Como o objetivo de que os testes em sistemas computacionais diversos sejam realizados de forma ordenada, completa e segura, existem várias ferramentas disponíveis para a realização de testes dos sistemas computacionais diversos, tanto para testes de estresse como para testes de carga. 

Analise o trecho a seguir: simula um grupo de usuários enviando solicitações para um servidor de destino e retorna estatísticas, que mostram o desempenho e/ou a funcionalidade do servidor/aplicativo de destino por meio de tabelas, gráficos etc. 

Assinale a alternativa correta que define o nome da ferramenta da definição do trecho acima.

A

Unbound load.

B

Stress tester.

C

Jmeter.

D

Gatling.

E

Blazemeter.

#7

São pontos que precisam ser considerados na avaliação de desempenho de um sistema computacional, exceto: 

A

objetivos do sistema e da avaliação.

B

gerenciadores.

C

usuários.

D

recursos do sistema.

E

a aferição.

#8

Analise as afirmações a seguir acerca de um plano de teste com a ferramenta JMeter e escolha a alternativa correta. 

 

I. Um plano de teste pode ser composto de geradores de amostra, temporizadores e grupos de threads. 

II. Grupos de threads não podem ser utilizados no plano de teste. 

III. Com o JMeter o primeiro passo de um plano de teste é adicionar um ouvinte. 

IV. O JMeter apenas gera dados de testes no formato de tabelas. 

  

A

Apenas II e III estão corretas.

B

Apenas III e IV estão corretas.

C

Apenas I está correta.

D

Apenas I, II e III estão corretas.

E

Apenas II, III e IV estão corretas. 

Semana 7 5

#1

Com base em uma visão geral das ferramentas que são integradas e orquestradas pelo OpenShift, avalie as afirmações a seguir e escolha a alternativa correta. 

 

I. A segurança é um dos blocos do gerenciamento de ciclo de vida da aplicação. 

II. O balanceamento de carga faz parte do enterprisecontainer host. 

III. O gerenciamento de configurações e logs faz parte da orquestração de contêineres e gerenciamento. 

IV. O deployé parte do gerenciamento de ciclo de vida da aplicação. 

A

Apenas I, III e IV estão corretas.

B

Apenas III e IV estão corretas. 

C

Apenas I, II e IV estão corretas.

D

Apenas I e II estão corretas.

E

Apenas I e III estão corretas. 

#2

No processo final de instalação/criação de um cluster com o OpenShift, vamos criar o arquivo daemon.jso e permitir o uso do registro do dockerpico /etc/docker/daemon.json. Finalmente, precisamos iniciar o cluster OpenShift especificando o IP do host e logando no cluster como administrador.

Assinale a alternativa correta que demonstra os comandos para iniciar o cluster OpenShift especificando o IP do host e logando no cluster como administrador.

A

oc cluster up –public-ipname=192.168.2.5 e oc login -u system:admin.

B

oc cluster up –public-ipname=192.168.2.5 e oc signon -u system:admin.

C

oc cluster up –public-hostname=192.168.2.5 e oc signon -u system:admin.

D

oc cluster up –public-ip=192.168.2.5 e oc user -u system:admin.

E

oc cluster up –public-hostname=192.168.2.5 e oc login -u system:admin.

#3

O OpenShift é uma plataforma como serviço (PaaS) gratuita, de código aberto e de desenvolvimento em nuvem desenvolvida pela Red Hat. Com ele, podemos criar um ambiente integrado baseado em containers, implantar aplicações feitas em diversas linguagens e escalar essas aplicações.

Assinale a alternativa correta que descreve os pré-requisitos para instalar o OpenShift.

A

Ter um dos sistemas operacionais tradicionais (Windows ou Linux) instalado no seu desktop.

B

Ter uma distribuição Linux instalada no host e o Windows instalado no host/desktop/notebook.

C

Ter uma distribuição Windows instalada no host e o docker instalado no host/desktop/notebook.

D

Ter uma distribuição Linux instalada no host e o docker instalado no host/desktop/notebook.

E

Ter um dos sistemas operacionais mobiles (iOS, Android ou Windows Phone) instalado no seu desktop.

#4

O OpenShift fornece uma base consistente para gerenciar implantações de aplicações na edge, multicloud e na nuvem híbrida. O ______ é mecanismo responsável por coletar informações sobre o estado dos componentes e elementos do cluster OpenShift, enquanto a ______ faz o controle de acesso às APIs. 

A

API, Data Store

B

Scheduler, API

C

APIAuthentication, Data Store

D

Data Store, Management Replication

E

Management Replication, APIAuthentication 

#5

No OpenShift, após todos os passos de instalação terem sido concluídos, temos que criar o projeto logando no cluster com o usuário developer. Após isso, o processo de deploy já pode ser iniciado e outras atividades podem ser realizadas, como o próprio deploy, a verificação do status do projeto e do deploy

Avalie os resultados parciais a seguir de duas ações na console do OpenShift

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE 

NAME READY STATUS RESTARTS AGE.

Assinale a alternativa correta que descreve quais ações foram solicitadas, respectivamente, no console do OpenShift e que geraram os resultados parciais acima.

A

Status do serviço e verificação de pods.

B

Status do projeto e verificação de pods.

C

Status do deploy e verificação de pods.

D

Verificação de pods e status do serviço.

E

Status do serviço e informações da rota.