Prova Discursiva
VP1464
Otimização e modelagem a partir de dados
em ambientes computacionais de alto
desempenho
1. Você recebeu do fiscal o seguinte material:
a) Este Caderno de Questões contendo o enunciado das 2 (duas) questões da prova discursiva.
b) 1 (um) Caderno de Texto Definitivo da Prova Discursiva, onde você deverá transcrever a resposta de cada uma das questões da prova discursiva no lugar apropriado, usando tinta azul ou preta.
2. Somente após autorizado o início da prova, verifique se este Caderno de Questões está completo e em ordem. Notifique ao fiscal qualquer irregularidade IMEDIATAMENTE. Folhear o Caderno de Questões antes do início da prova implica na eliminação do candidato. 3. Tenha muito cuidado com o Caderno de Texto Definitivo da Prova Discursiva para não DOBRAR, AMASSAR ou MANCHAR.
4. Cada uma das questões discursivas deverá ter como resposta um mínimo de 50 e um máximo de 120 linhas.
5. O caderno de texto definitivo da prova discursiva não poderá ser assinado, rubricado e/ou conter qualquer palavra e/ou marca que o identifique, sob pena de ser anulado. Assim, a detecção de qualquer marca identificadora no espaço destinado à transcrição dos textos definitivos acarretará nota ZERO na respectiva prova discursiva.
6. Não deixe de transcrever a resposta das questões da prova discursiva para os Cadernos de Texto Definitivo da Prova Discursiva, único documento válido para a correção das questões (o rascunho não será considerado).
7. O tempo de duração das provas será de 4 (quatro) horas, incluindo o tempo para o preenchimento do Caderno de Texto Definitivo da Prova Discursiva. Nenhum rascunho SERÁ LEVADO EM CONTA.
8 Quando terminar, entregue ao fiscal o Caderno de Questões e o Caderno de Texto Definitivo da Prova Discursiva. ASSINE OBRIGATORIAMENTE A LISTA DE PRESENÇA.
I
NSTRUÇÕES
2
Questão 01
Considere os itens abaixo:
Utilize de 50 a 120 linhas para o desenvolvimento da resposta.
a) Defina a matriz de correlações e descreva a técnica de Análise de Componentes Principais no contexto da fase de pré-processamento dos dados.
b) Defina o problema de aprendizado supervisionado; descreva um algoritmo linear e um algoritmo não linear para solução deste problema e cite duas aplicações.
c) Defina o problema de análise de agrupamentos (ou aprendizado não supervisionado); descreva dois algoritmos de agrupamento e cite duas aplicações.
d) Descreva duas técnicas combinação de modelos (ensembles) e duas técnicas de seleção de variáveis (feature selection). e) Descreva duas medidas de avaliação de modelos de aprendizado supervisionado e descreva a técnica de validação cruzada em k ciclos.
f) Descreva o ambiente Hadoop; a técnica de programação Mapreduce e cite uma biblioteca de código aberto para processamento paralelo de algoritmos de mineração de dados.
g) Descreva os bancos de dados NoSQL; cite três tecnologias NoSQL e explique a diferença entre bancos de dados NoSQL e bancos de dados relacionais.
3
Questão 02
Em relação ao tema de computação de alto desempenho:
a. Suponha que 2/3 das operações realizadas por um programa sejam estritamente seriais. Qual seria o maior ganho de desempenho possível para tal programa com a aplicação de técnicas de computação paralela?
b. Descreva o problema de coerência de cache e uma estratégia possível para solucioná-lo, supondo a existência de um barramento compartilhado.
c. Com relação à biblioteca de programação paralela MPI, considere o seguinte trecho de um programa em linguagem C:
if (rank == 0) {
MPI_Send(o, n, MPI_INT, 1, tag, comm);
MPI_Recv(d, n, MPI_INT, 1, tag, comm, &status); }
else if (rank == 1) {
MPI_Send(o, n, MPI_INT, 0, tag, comm);
MPI_Recv(d, n, MPI_INT, 0, tag, comm, &status); }
Descreva, fundamentando sua resposta, possíveis resultados da sua execução conforme diferentes estratégias permitidas de implementação da biblioteca MPI.
d. Descreva o que faz a função MPI_Probe da biblioteca de programação paralela MPI e seus possíveis impactos em termos de desempenho.
e. Com relação à biblioteca de programação paralela OpenMP para linguagem C, descreva as condições para que um laço do tipo for seja paralelizável com a diretiva #pragma omp for e as diferentes opções que podem ser passadas nessa diretiva para o escalonamento da sua execução.