Cloud computing , ou computação em nuvem, é uma tecnologia que ganhou muito espaço ultimamente; que permite acesso remoto a recursos computacionais, seja hardware ou software sob demanda; que utiliza, massivamente, tecnologias de virtualização; e que representa uma uma rede global de servidores, tendo cada um deles uma função única. Assinale a alternativa que define, respectivamente: SaaS, PaaS e IaaS.
Cloud computing , ou computação em nuvem, é uma tecnologia em que os servidores são desenvolvidos para armazenar e gerir dados, executar aplicações ou fornecer conteúdos ou um serviço, como transmissão em fluxo de vídeos, webmail , software de produtividade para escritórios ou redes sociais. Assim, temos estas duas definições: (1) recursos são compartilhados entre diversos usuários e alocados com base na demanda; e (2) recursos podem ser acessados, remotamente, usando diversos tipos de dispositivos. Assinale a alternativa que define, corretamente, as características da computação em nuvem para a definição dos trechos anteriores, respectivamente.
A Grade ( Grid ) é uma plataforma para execução de aplicações paralelas amplamente distribuída , heterogênea e compartilhada. Outras importantes características da grade incluem:
O sistema operacional tem um papel fundamental na construção de clusters de alto desempenho , pois garante o funcionamento primordial das seguintes tarefas: I. Controle de Recursos . II. Consulta . III. Monitoração . IV. Armazenamento seguro dos dados .
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.
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 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.
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:
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.
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.
Uma das memórias compartilhadas na computação escalável denomina-se _______________________________ (lacuna 1), sendo muito comum em processadores __________________ (lacuna 2) e possuindo tempo de acesso ____________________ (lacuna 3) para toda a memória. Assinale a alternativa que possui a sequência correta das lacunas.
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 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:
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:
No ambiente de programação CUDA , a função utilizada para acessar dados da memória do dispositivo, bem como a função para alocar memória são respectivamente:
Explorando o OpenMPI como um dos frameworks da computação paralela, vários conceitos estão relacionados a esse processo, dos quais podemos citar: thread safety , comunicação coletiva, perfis, processo, rank , grupos, comunicador, application buffer , system buffer , count , type , tag e status . O processo tem uma identificação única (um número inteiro positivo) atribuída pelo sistema quando o processo é inicializado. Assinale a alternativa que contém, corretamente, o nome desse conceito demonstrado pelas características anteriores.
Na computação escalável, assim como em muitas outras áreas, a avaliação de desempenho é necessária para se verificar se o comportamento computacional está de acordo com as necessidades básicas dos seus usuários. A avaliação do desempenho pode ser definida como a medida da capacidade de resposta de um sistema. Assinale a alternativa correta que define como se avaliar o desempenho.
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.
Se comparamos o OpenMP com o OpenMPI podemos afirmar que: O OpenMPI é um padrão para troca de mensagens que utiliza memória compartilhada . O OpenMP é um padrão para troca de mensagens que utiliza memória distribuída . O OpenMPI utiliza comunicação coletiva entre processos . O conceito de rank é nativo do OpenMPI .
O aspecto mais difícil de criar um programa de memória compartilhada é traduzir o que se deseja para uma versão multithread . Para o OpenMP, existem três modelos de programação. No ____________________________ (lacuna 1), cabe ao programador anotar as tarefas para execução em paralelo e definir os pontos de sincronização. No ____________________________ (lacuna 2), um processo é visto em conjunto de _____________________ (lacuna 3), que se comunicam por meio da utilização de variáveis compartilhadas. Assinale a alternativa que possui a sequência correta das lacunas.
O CUDA ( Computer Unified Device Architecture ), além de ser uma plataforma de computação paralela é também um modelo de programação. Este modelo envolve ______ que possui duas ou três coordenadas dimensionais. Tais ____ são partes de um ______.
Os modelos que lidam com ambientes computacionais de ______ são os que utilizam o paradigma de ______, os quais são compostos por rotinas de comunicação e sincronização de tarefas. Um exemplo que utiliza tal modelo é o ______ .
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.
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.
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.
Para que o OpenShift possa ser utilizado, temos que realizar o download do programa, descompactar o arquivo e, posteriormente, entrar no diretório do OpenShift e copiar os binários kubectl e oc para o diretório /usr/local/bin . Após isso, temos que verificar se tudo está corretamente instalado, verificando a versão do OpenShift cluster instalado. Assinale a alternativa correta que descreve o comando para verificar a versão do OpenShift cluster instalado.