Paralelização em MPI - repost

Cancelado Postado Nov 27, 2013 Pago na entrega
Cancelado Pago na entrega

Implementar um algoritmo paralelo com uso da biblioteca MPI para a contagem dos pares de números mutualmente amigáveis existentes entre dois valores inteiros. O algoritmo paralelo a ser usado é de livre escolha, buscando obter o máximo de desempenho possível.

Dois números podem ser considerados mutualmente amigáveis se a razão entre a soma de todos os divisores do número e o próprio número é igual à razão correspondente do outro número.

O problema consiste em dado 2 números inteiros, descobrir a quantidade de pares de números que podem ser considerados mutualmente amigáveis. Um código sequencial para mostrar os números mutualmente amigáveis está disponível. Deve-se testar a implementação paralela com 4, 8, 16, 32 e 64 processos.

Entrada

A entrada deve ser realizada pela linha de comando na entrada padrão. Deve ser informado ao programa dois números inteiros I e F representando o número inicial e o número final respectivamente. A busca por pares de números amigáveis deve começar em I e terminar em F, incluindo eles.

Observações

 Deve-se produzir apenas um código que será executado para qualquer número de processos;

 Caso se tente executar com um número de processos diferente do enunciado, o programa deve mostrar uma mensagem (apenas uma) de erro e não executar;

 O tempo da execução sequencial para I =1∧ F=800 000 é de aproximadamente 1039s, obtendo 15402 soluções (pares de números mutualmente amigáveis);

Saída

A saída deve ser apresentada na saída padrão. Deve-se mostrar o número de soluções encontradas (pares de números mutualmente amigáveis) e o tempo decorrido (em segundos) para encontrar as soluções. Considerar para coleta dos resultados passar 1 e 800 000 para I e F respectivamente.

N processos competindo para utilizar os mesmos dados
compartilhados
 Cada processo tem um segmento de código onde é feito o acesso a
este dado ou recurso compartilhado
 Região crítica
 O problema é garantir que quando um processo executa a sua
região crítica, nenhum outro processo pode acessar a sua região
crítica
 Evitar condições de corrida
 Vários processos acessam dados compartilhados concorrentemente e o
resultado da execução depende da ordem específica em que ocorre o
acesso ao dado compartilhado Região Crítica
 Dois processos não podem executar em suas regiões críticas ao
mesmo tempo
 É necessário um protocolo de cooperação
 Cada processo precisa “solicitar” permissão para entrar em sua
região crítica

iPad

ID do Projeto: #5173959

Sobre o projeto

1 proposta Projeto remoto Ativo em Nov 29, 2013

1 freelancer está oferecendo em média $155 para esse trabalho

paklancers

TRY ENGLISH PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ PLZ P Mais

$155 USD in 3 dias
(0 Comentários)
0.0