2001-gre-vs-practice.pdf/Q17 — различия между версиями
Материал из DISCOPAL
ZharovG (обсуждение | вклад) |
ZharovG (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
== Вопрос: Q17-e5724f == | == Вопрос: Q17-e5724f == | ||
− | + | Параллельная программа выполняется за 100 секунд на одном процессоре. Если 40% этой программы являются "непараллелизуемыми" (то есть не могут быть ускорены с использованием дополнительных процессоров), то теоретически наилучшие возможные времена выполнения программы на 2 и 4 процессорах составят: | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | === Ответы === | |
− | + | ||
− | + | * 20 и 10 секунд. | |
− | + | * 30 и 15 секунд. | |
+ | * 50 и 25 секунд. | ||
+ | * 70 и 55 секунд. | ||
+ | * 80 и 70 секунд. | ||
− | + | === Объяснение === | |
− | + | ||
− | + | {{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_\text{seq} \)</m> — время выполнения непараллелизуемой части программы, |
+ | * <m>\( T_\text{par} \)</m> — время выполнения параллелизуемой части программы, | ||
+ | * <m>\( P \)</m> — количество процессоров. | ||
− | < | + | В нашей задаче: |
− | + | * <m>\( T_\text{seq} = 40\% \times 100 = 40 \)</m> секунд, | |
− | + | * <m>\( T_\text{par} = 60\% \times 100 = 60 \)</m> секунд. | |
+ | Для 2 процессоров <m>(\( P = 2 \))</m>: | ||
+ | <m>\[T(2) = T_\text{seq} + \frac{T_\text{par}}{2} = 40 + \frac{60}{2} = 40 + 30 = 70 \, \text{секунд}.\]</m> | ||
− | === | + | Для 4 процессоров <m>(\( P = 4 \))</m>: |
− | < | + | <m>\[T(4) = T_\text{seq} + \frac{T_\text{par}}{4} = 40 + \frac{60}{4} = 40 + 15 = 55 \, \text{секунд}.\]</m> |
− | + | ||
+ | Проверка вариантов: | ||
+ | * 20 и 10 секунд — неверно. Это слишком оптимистично и игнорирует непараллелизуемую часть. | ||
+ | * 30 и 15 секунд — неверно. Аналогично, занижено. | ||
+ | * 50 и 25 секунд — неверно. Неправильное распределение времени. | ||
+ | * 70 и 55 секунд — верно, соответствует расчетам. | ||
+ | * 80 и 70 секунд — неверно. Эти значения слишком велики. | ||
− | + | Вывод: | |
− | + | Правильный ответ — D (70 и 55 секунд). | |
− | + | ||
− | + | ||
− | |||
− | {{question-ok|}}{{reserve-task|[[Участник:ZharovG|ZharovG]] 16:16, 20 декабря 2024 (UTC)}} | + | {{question-ok|}}{{reserve-task|[[Участник:ZharovG|ZharovG]] 16:16, 20 декабря 2024 (UTC)}}{{checkme|[[Участник:ZharovG|ZharovG]] 16:39, 20 декабря 2024 (UTC)}} |
[[Категория:Надо не забыть выбрать тему]] | [[Категория:Надо не забыть выбрать тему]] |
Версия 16:39, 20 декабря 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 секунд).
Задача зарезервирована: ZharovG 16:16, 20 декабря 2024 (UTC)