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.
Soluções para a tarefa
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
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:
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:
Portanto, o tempo total de processamento usando os 8 núcleos será igual a 14,75 segundos.