2016-01-18 2 views
0

Я застрял при попытке рассчитать ускорение. Таким образом, вопрос дал был:Как рассчитать время выполнения (ускорение)


Вопрос 1

Если 50% программы увеличивается в 2 раза, а остальные 50% увеличивается в 4 раза, то, что общее ускорение из-за к улучшениям? Подсказки. Учтите, что время выполнения программы на машине до улучшения (без улучшения) равно T. Затем найдите общее время выполнения после улучшений T '. Ускорение - T/T '.


Единственное, что я знаю, убыстрение = время выполнения до времени усиления/выполнения после повышения. Таким образом, можно предположить, что ответ:

Форсировочная = Т/((50/100x1/2) + (50/100x1/4))

Общее время выполнения после усиления = Т + ускорение

(50/100x1/2), потому что 50% было увеличено в 2 раза и то же самое происходит в 4 раза.


Вопрос 2

Давайте гипотетически представим, что исполнение (2/3) й программы может быть сделано, чтобы работать бесконечно быстро по какой-то улучшения/улучшения в дизайне процессора. Затем, сколько раз улучшенный процессор будет работать быстрее по сравнению с неусовершенствованной (оригинальной) машиной?

Могу ли я считать, что в 150 раз быстрее, так как 100/(2/3) = 150

Любые идеи? Заранее спасибо. начало

+0

Пожалуйста, не деформируйте свои сообщения. –

ответ

1

Давайте с вопросом 1.

Общее время сумма времени для двух половин:

T = T1 + T2 

Затем T1 усиливается в два раза. T2 улучшается с коэффициентом 4:

T' = T1' + T2' 
    = T1/2 + T2/4 

Мы знаем, что оба T1 и T2 являются 50% от T. Итак:

T' = 0.5 * T/2 + 0.5 * T/4 
    = 1/4 * T + 1/8 * T 
    = 3/8 * T 

Скорость вверх является

T/T' = T/(3/8 T) = 8/3 

Вопрос два может быть решена аналогично:

T' = T1' + T2' 

T1' сводится к 0. T2 является оставшаяся 1/3 T ,

T' = 1/3 T 

Скорость вверх является

T/T' = 3 

Таким образом, программа в три раза быстрее, чем раньше (или в два раза быстрее).

+0

Эй, еще один вопрос, как результат этого анализа в соответствии с Законом Амдаля? Я знаю, что закон Амдаля - это ситуация, при которой ускорение через параллелизм ограничено тем компонентом приложения, который не может быть усилен. Как мы подразумеваем в этой ситуации? – hyperfkcb

+0

Это в основном второй вопрос. Второй компонент ('T2') (или может) не улучшен. Если вы можете бесконечно увеличивать все остальные компоненты, вы все равно ограничены ускорением 3. –

+0

Хорошо, спасибо вам большое! Наверное, мне нужно потратить больше времени на это. – hyperfkcb