Implementar programa em C sobre threads

Outros / Outros

Detalhes do trabalho

  • Publicação: faz 2 mêses e 4 dias
  • contratação fechada
  • Tipo de oportunidade: trabalho freelancer
  • Localização: em qualquer parte do Brasil
  • Orçamento: sem especificar
  • Experiência requerida : Junior (<3 anos)

Descrição do trabalho

Implementar um programa em C no qual dado um número ele calcule o fatorial desse número. Tal programa ainda deve ser feito de forma que:

A função que calcula o fatorial deve ser implementado utilizando Pthreads no Linux;

Utilizando threads, paralelize o calculo do fatorial de forma que este possa ser executado por: 1, 2, 4 e 8 threads. Ou seja, o programa deve receber o número que será calculado o fatorial e deve dar a opção desse calculo ser feito sequencialmente em 1 thread ou paralelo em 2, 4, ou 8 threads.

Faça testes com o seu programa e descreva esses testes. Tal descrição e testes deve conter no mínimo:

Especificações do hardware que executou os testes (principalmente quantidade de CPUs disponíveis);

Tempo de execução do programa, com pelo menos, três números diferentes (x, y e z) para se calcular o fatorial. Exemplo, calcular o fatorial do número 100, depois calcular de um número muito maior que 100 - que exija muito da CPU - e por fim calcular de um número muito, muito grande – utilize números que exijam muito da CPU, de forma que haja diferenças acentuadas (minutos) no tempo de processamento desses números. Cada um desses números devem ser executados obrigatoriamente com 1, 2, 4 e 8 threads (então serão no total 12 testes/execuções).

Apresentar um gráfico que represente o ganho ou a perda de desempenho para cada um dos testes realizados (gráfico no estilo speedup, tal como o professor apresentou em sala no problema do somatório – na Internet tem exemplos).

Cadastre-se para acessar os detalhes do trabalho

Habilidades desejadas

Sobre a empresa

vic****  C Programming

vic****

(0) | 4 trabalhos publicados
Brasil Brasil
Setembro de 2016

Você tem comentários ou ideias? Deseja reportar um erro de funcionamento do site? Entre em contato com a Prolancer!