2001-gre-vs-practice.pdf/Q17 — различия между версиями
Материал из DISCOPAL
ZharovG (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
== Вопрос: Q17-e5724f == | == Вопрос: Q17-e5724f == | ||
− | Параллельная программа выполняется за 100 секунд на одном процессоре. Если 40% этой программы являются | + | Параллельная программа выполняется за 100 секунд на одном процессоре. Если 40% этой программы являются «непараллелизуемыми» (то есть не могут быть ускорены с использованием дополнительных процессоров), то теоретически наилучшие возможные времена выполнения программы на 2 и 4 процессорах составят: |
=== Ответы === | === Ответы === | ||
− | * 20 и 10 секунд. | + | * 20 и 10 секунд. |
− | * 30 и 15 секунд. | + | * 30 и 15 секунд. |
− | * 50 и 25 секунд. | + | * 50 и 25 секунд. |
− | * 70 и 55 секунд. | + | * 70 и 55 секунд. |
− | * 80 и 70 секунд. | + | * 80 и 70 секунд. |
=== Объяснение === | === Объяснение === | ||
Строка 15: | Строка 15: | ||
{{cstest-source|2001-gre-vs-practice.pdf|20|17}} | {{cstest-source|2001-gre-vs-practice.pdf|20|17}} | ||
− | Закон Амдала ( | + | Закон Амдала (Amdahl’s Law): |
Время выполнения параллельной программы определяется как: | Время выполнения параллельной программы определяется как: | ||
<m>\[T(P) = T_\text{seq} + \frac{T_\text{par}}{P},\]</m> | <m>\[T(P) = T_\text{seq} + \frac{T_\text{par}}{P},\]</m> | ||
где: | где: | ||
− | * <m>\( T_\text{seq} \)</m> | + | * <m>\( T_\text{seq} \)</m> — время выполнения непараллелизуемой части программы, |
− | * <m>\( T_\text{par} \)</m> | + | * <m>\( T_\text{par} \)</m> — время выполнения параллелизуемой части программы, |
− | * <m>\( P \)</m> | + | * <m>\( P \)</m> — количество процессоров. |
− | В нашей задаче: | + | В нашей задаче: |
− | * <m>\( T_\text{seq} = 40\% \times 100 = 40 \)</m> секунд, | + | * <m>\( T_\text{seq} = 40\% \times 100 = 40 \)</m> секунд, |
− | * <m>\( T_\text{par} = 60\% \times 100 = 60 \)</m> секунд. | + | * <m>\( T_\text{par} = 60\% \times 100 = 60 \)</m> секунд. |
Для 2 процессоров <m>(\( P = 2 \))</m>: | Для 2 процессоров <m>(\( P = 2 \))</m>: | ||
Строка 34: | Строка 34: | ||
Проверка вариантов: | Проверка вариантов: | ||
− | * 20 и 10 | + | * 20 и 10 секунд — неверно. Это слишком оптимистично и игнорирует непараллелизуемую часть. |
− | * 30 и 15 | + | * 30 и 15 секунд — неверно. Аналогично, занижено. |
− | * 50 и 25 | + | * 50 и 25 секунд — неверно. Неправильное распределение времени. |
− | * 70 и 55 | + | * 70 и 55 секунд — верно, соответствует расчетам. |
− | * 80 и 70 | + | * 80 и 70 секунд — неверно. Эти значения слишком велики. |
Вывод: | Вывод: | ||
− | Правильный | + | Правильный ответ — D (70 и 55 секунд). |
+ | {{question-ok|[[Участник:StasFomin|StasFomin]] 09:18, 21 декабря 2024 (UTC)}} | ||
− | + | [[Категория:Параллельные вычисления]] | |
− | + | ||
− | [[Категория: | + |
Текущая версия на 09:18, 21 декабря 2024
Вопрос: Q17-e5724f
Параллельная программа выполняется за 100 секунд на одном процессоре. Если 40% этой программы являются «непараллелизуемыми» (то есть не могут быть ускорены с использованием дополнительных процессоров), то теоретически наилучшие возможные времена выполнения программы на 2 и 4 процессорах составят:
Ответы
- 20 и 10 секунд.
- 30 и 15 секунд.
- 50 и 25 секунд.
- 70 и 55 секунд.
- 80 и 70 секунд.
Объяснение
Исходники — вопрос 17 на 20 странице книги «2001-gre-vs-practice.pdf»
Закон Амдала (Amdahl’s Law): Время выполнения параллельной программы определяется как: где:
- — время выполнения непараллелизуемой части программы,
- — время выполнения параллелизуемой части программы,
- — количество процессоров.
В нашей задаче:
- секунд,
- секунд.
Для 2 процессоров :
Для 4 процессоров :
Проверка вариантов:
- 20 и 10 секунд — неверно. Это слишком оптимистично и игнорирует непараллелизуемую часть.
- 30 и 15 секунд — неверно. Аналогично, занижено.
- 50 и 25 секунд — неверно. Неправильное распределение времени.
- 70 и 55 секунд — верно, соответствует расчетам.
- 80 и 70 секунд — неверно. Эти значения слишком велики.
Вывод:
Правильный ответ — D (70 и 55 секунд).