• Matéria: Matemática
  • Autor: materialdosconcursos
  • Perguntado 7 anos atrás

Um programa será executado em um processador com oito núcleos. 30% desse programa pode ser executado de forma paralela, ou seja, utilizando os oito núcleos ao invés de apenas um. Sabendo que o tempo de execução utilizando apenas um núcleo é de 20 segundos,calcule o tempo de processamento utilizando os oito núcleos.

Respostas

respondido por: lasouza627
0

Como abordar esse problema?

Para resolver esse problema, devemos definir um número qualquer de instruções a serem executadas no período de 20 segundos. O valor escolhido, seja ele qual for, não muda em nada o resultado obtido e é usado apenas para facilitar os cálculos.

Determinando o número de instruções:

Vamos definir o nosso número de instruções (n) como sendo

n=20.000

Resolvendo o problema:

Usando apenas um núcleo, as 20.000 instruções são executadas em 20 segundos e, portanto, temos a execução de 1.000 instruções por segundo.

A execução de 70% das instruções nesse mesmo núcleo levará então:

t_1=\frac{70\%\;de\;20.000}{1.000\;por\;segundo}\\\\\\t_1=\frac{\frac{70}{100}\;.\;20.000}{1.000}\\\\t_1=\frac{70}{100}\;.\;\frac{20.000}{1.000}\\\\t_1=\frac{7}{10}\;.\;20\\\\t_1=\frac{140}{10}\\\\t_1=14\;segundos

A execução dos 30% restantes das instruções será feita 8 vezes mais rápido pois usará todos os 8 núcleos do processador. Portanto:

t_2=\frac{30\%\;de\;20.000}{8\;.\;1.000\;por\;segundo}\\\\\\t_2=\frac{\frac{30}{100}\;.\;20.000}{8.000}\\\\t_2=\frac{30}{100}\;.\;\frac{20.000}{8.000}\\\\t_2=\frac{3}{10}\;.\;2,5\\\\t_2=\frac{7,5}{10}\\\\t_2=0,75\;segundos

Portanto, o tempo total de processamento usando os 8 núcleos será igual a 14,75 segundos.

Perguntas similares