2001-gre-vs-practice.pdf/Q17 — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) (Новая страница: « == Вопрос: Q17-e5724f == <blockquote> Тут вставьте перевод вопроса. Используйте [https://wiki.4intra.net/Help:%D0%A4%D…») |
StasFomin (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 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|}} | + | {{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 секунд).