Jump to content

Закон Амдала

(Перенаправлен из закона Amdahls )
Теоретическое ускорение задержки (через сокращение задержки, т.е. задержка в качестве метрики истекает время между входом и выводом в системе) выполнения программы как функция числа процессоров, выполняющих ее, в соответствии с Закон Амдала. Ускорение ограничено последовательной частью программы. Например, если 95% программы могут быть параллелизированы, теоретическое максимальное ускорение с использованием параллельных вычислений будет в 20 раз.

В компьютерной архитектуре закон Амдала (или аргумент Амдала [ 1 ] ) - это формула, которая дает теоретическое ускорение в задержке выполнения задачи при фиксированной рабочей нагрузке , которую можно ожидать от системы, ресурсы которых улучшаются.

Закон может быть заявлен как:

«Общее улучшение производительности, достигнутое путем оптимизации одной части системы, ограничено доли времени, когда на самом деле используется улучшенная часть». [ 2 ]

Он назван в честь компьютерного ученого Джина Амдаля и был представлен в Американской федерации общественных обществ -общества (AFIPS) Весенней совместной компьютерной конференции в 1967 году.

Закон Амдала часто используется в параллельных вычислениях для прогнозирования теоретического ускорения при использовании нескольких процессоров. Например, если программе требуются 20 часов, чтобы завершить использование одного потока, а одночасовая часть программы не может быть параллелизирована, тогда только оставшиеся 19 часов ( p = 0,95 может быть параллелизировано ). Поэтому, независимо от того, сколько потоков посвящено параллельному выполнению этой программы, минимальное время выполнения всегда составляет более 1 часа. Следовательно, теоретическое ускорение, больше всего в 20 раз превышает производительность единого потока, .

Определение

[ редактировать ]

Закон Амдала может быть сформулирован следующим образом: [ 3 ]

где

  • S задержка - это теоретическое ускорение выполнения всей задачи;
  • S - ускорение части задачи, которая выигрывает от улучшенных системных ресурсов;
  • P - это доля времени исполнения, в течение которого часть извлекает выгоду из улучшенных ресурсов, первоначально занятых.

Более того,

Показывает, что теоретическое ускорение выполнения всей задачи увеличивается с улучшением ресурсов системы, и что независимо от величины улучшения, теоретическое ускорение всегда ограничено частью задачи, которая не может извлечь выгоду из улучшения Полем

Закон Амдала применим только к случаям, когда размер проблемы фиксируется. На практике, по мере того, как становятся доступными больше вычислительных ресурсов, они, как правило, привыкли к более крупным проблемам (более крупные наборы данных), а время, проведенное в параллелизируемой части, часто растет гораздо быстрее, чем последовательная работа по своей сути. В этом случае закон Густафсона дает менее пессимистичную и более реалистичную оценку параллельных результатов. [ 4 ]

Задача, выполняемая системой, ресурсы которой улучшены по сравнению с начальной аналогичной системой, можно разделить на две части:

  • часть, которая не выигрывает от улучшения ресурсов системы;
  • Часть, которая выигрывает от улучшения ресурсов системы.

Примером является компьютерная программа, которая обрабатывает файлы. Часть этой программы может отсканировать каталог диска и создать список файлов внутренне в памяти. После этого другая часть программы передает каждый файл в отдельный поток для обработки. Часть, которая сканирует каталог и создает список файлов, не может быть ускорена на параллельном компьютере, но часть, которая обрабатывает файлы, может.

Время выполнения всей задачи до улучшения ресурсов системы обозначено как Полем Он включает в себя время исполнения той части, которое не выиграло бы от улучшения ресурсов и времени выполнения того, что из них выиграет. Доля времени выполнения задачи, которая выиграет от улучшения ресурсов, обозначается Полем Поэтому тот, кто относится к той части, которая не выиграет от нее Полем Затем:

Именно выполнение части выигрывает от улучшения ресурсов, которые ускоряются фактором После улучшения ресурсов. Следовательно, время исполнения той части, которая не выигрывает от нее, остается прежним, в то время как часть, которая извлекается из нее, становится:

Теоретическое время исполнения всей задачи после улучшения ресурсов тогда:

Закон Амдаля дает теоретическое ускорение при задержке выполнения всей задачи при фиксированной рабочей нагрузке , который дает

Параллельные программы

[ редактировать ]

Если 30% времени выполнения может быть предметом ускорения, P будет 0,3; Если улучшение сделает затронутую часть в два раза быстрее, S будет 2. Закон Амдаля утверждает, что общее ускорение применения улучшения будет:

Например, предположим, что нам дается последовательная задача, которая разделена на четыре последовательных частях, проценты времени выполнения, P 1 = 0,11 , P 2 = 0,18 , P 3 = 0,23 и P 4 = 0,48 соответственно. Затем нам говорят, что 1 -я часть не ускоряется, поэтому S 1 = 1 , в то время как 2 -я часть ускоряется 5 раз, поэтому S 2 = 5 , 3 -я часть ускоряется 20 раз, так что S 3 = 20 , и 4 -я часть ускоряется в 1,6 раза, поэтому S 4 = 1,6 . Используя закон Амдала, общее ускорение

Обратите внимание, как ускорение в 5 и 20 раз на 2 -й и 3 -й части соответственно не оказывает большого влияния на общее ускорение, когда 4 -я часть (48% времени выполнения) ускоряется только в 1,6 раза.

Серийные программы

[ редактировать ]
Предположим, что задача имеет две независимые части A и B. , Часть B занимает примерно 25% времени всего вычисления. Работая очень усердно, можно сделать эту часть в 5 раз быстрее быстрее, но это слегка снижает время всего вычисления. В отличие от этого, может потребоваться выполнить меньше работы, чтобы сделать часть вдвое быстрее. Это сделает вычисление намного быстрее, чем путем оптимизации части B , даже если ускорение части B будет больше с точки зрения соотношения (в 5 раз против 2 раза).

Например, с серийной программой в двух частях A и B, для которых t a = 3 s и t b = 1 s ,

  • Если часть B сделана для бега в 5 раз быстрее, то есть S = 5 и P = T B /( T A + T B ) = 0,25 , тогда
  • Если часть A сделана для работы в 2 раза быстрее, то есть s = 2 и p = t a /( t a + t b ) = 0,75 , тогда

Следовательно, сделать часть A для бега в 2 раза быстрее, лучше, чем сделать часть B , работать в 5 раз быстрее. Процентное улучшение скорости может быть рассчитано как

  • Улучшение части A в 2 раза увеличит общую скорость программы в 1,60, что делает ее на 37,5% быстрее, чем исходное вычисление.
  • Тем не менее, улучшение части B в 5 в 5, что, по -видимому, требует большего усилия, достигнет общего коэффициента ускорения только 1,25, что делает его на 20% быстрее.

Оптимизация последовательной части параллельных программ

[ редактировать ]

Если непараллелизируемая часть оптимизируется фактором , затем

Из закона Амдала следует, что ускорение из -за параллелизма дается

Когда , у нас есть , это означает, что ускорение Измеряется в отношении времени выполнения после оптимизированной непараллелизуемой части.

Когда ,

Если , и , затем:

Преобразование последовательных частей параллельных программ в параллелизируемые

[ редактировать ]

Далее мы рассмотрим случай, когда непараллелизуемая часть уменьшается в результате фактора и параллелизируемая часть соответственно увеличена. Затем

Из закона Амдала следует, что ускорение из -за параллелизма дается

Отношение к закону уменьшения возврата

[ редактировать ]

Закон Амдала часто связывается с законом уменьшающейся прибыли , тогда как только особые случаи применения закона Амдаля демонстрирует закон об уменьшении отдачи. Если кто -то оптимально выбирает (с точки зрения достигнутого ускорения) то, что должно быть улучшено, то можно увидеть монотонно уменьшая улучшения по мере улучшения. Если, однако, выбирает не оптимально, после улучшения неоптимального компонента и продолжения улучшения более оптимального компонента, можно увидеть увеличение возврата. Обратите внимание, что часто рационально улучшать систему в порядке, который «не оптимальный» в этом смысле, учитывая, что некоторые улучшения более сложны или требуют большего времени разработки, чем другие.

Закон Амдала действительно представляет закон об уменьшении доходности, если рассматривает вопрос о том, какую возврат получает, добавив больше процессоров в машину, если кто-то запускает вычисление с фиксированным размером, которые будут использовать все доступные процессоры в их емкость. Каждый новый процессор, добавленный в систему, добавит менее полезную мощность, чем предыдущий. Каждый раз, когда кто -то удваивает количество процессоров, коэффициент ускорения будет уменьшаться, поскольку общая пропускная способность направляется к пределу 1/(1 - P ).

Этот анализ пренебрегает другими потенциальными узкими местами, такими как пропускная способность памяти и полоса пропускания ввода/вывода. Если эти ресурсы не масштабируются с количеством процессоров, то простое добавление процессоров обеспечивает еще более низкую доходность.

Смысл закона Амдаля заключается в том, что для ускорения реальных приложений, которые имеют как последовательные, так и параллельные части, неоднородные методы вычислений . требуются [ 5 ] Существуют новые модели ускорения и энергопотребления, основанные на более общем представлении гетерогенности, называемых неоднородностью нормальной формы, которые поддерживают широкий спектр гетерогенных многочисленных архитектур. Эти методы моделирования направлены на прогнозирование эффективности и диапазонов производительности системы и облегчают исследования и разработки на уровнях аппаратного и системного программного обеспечения. [ 6 ] [ 7 ]

Смотрите также

[ редактировать ]
  1. ^ Роджерс, Дэвид П. (июнь 1985 г.). «Улучшения в проектировании многопроцессорной системы». ACM Sigarch Computer Architecture News . 13 (3). Нью -Йорк, Нью -Йорк, США: ACM : 225–231 [с. 226]. doi : 10.1145/327070.327215 . ISBN  0-8186-0634-7 Полем ISSN   0163-5964 . S2CID   7083878 .
  2. ^ Редди, Мартин (2011). API -дизайн для C ++ . Берлингтон, Массачусетс : издатели Морган Кауфманн . п. 210. doi : 10.1016/c2010-0-65832-9 . ISBN  978-0-12-385003-4 Полем LCCN   2010039601 . OCLC   666246330 .
  3. ^ Брайант, Рэндал Э .; Дэвид, О'Халларон (2016), Компьютерные системы: перспектива программиста (3 изд.), Pearson Education, p. 58, ISBN  978-1-488-67207-1
  4. ^ МакКул, Майкл; Реиндерс, Джеймс; Робисон, Арч (2013). Структурное параллельное программирование: шаблоны для эффективных вычислений . Elsevier. п. 61. ISBN  978-0-12-415993-8 .
  5. ^ Хилл, Марк Д.; Марти, Майкл Р. (2008). «Закон Амдала в многокрасную эпоху». Компьютер 41 (7): 33–38. Citeseerx   10.1.1.221.8635 . doi : 10.1109/mc.2008.209 .
  6. ^ Рафиев, Ашур; Аль-Хаянни, Мухаммед Ан; Ся, Фэй; Шафик, Ришад; Романовский, Александр; Яковлев, Алекс (2018-07-01). «Модели ускорения и масштабирования мощности для гетерогенных много ядерных систем» . IEEE транзакции на многомасштабных вычислительных системах . 4 (3): 436–449. doi : 10.1109/tmscs.2018.2791531 . ISSN   2332-7766 . S2CID   52287374 .
  7. ^ Аль-Хаянни, Мухаммед А. Ноаман; Ся, Фэй; Рафиев, Ашур; Романовский, Александр; Шафик, Ришад; Яковлев, Алекс (июль 2020 г.). «Закон Амдала в контексте гетерогенных многоъядерных систем-опрос» . IET компьютеры и цифровые методы . 14 (4): 133–148. doi : 10.1049/iet-cdt.2018.5220 . ISSN   1751-8601 . S2CID   214415079 .

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 334a4dc1ca5cec24503105a0bfd7f1ff__1726565220
URL1:https://arc.ask3.ru/arc/aa/33/ff/334a4dc1ca5cec24503105a0bfd7f1ff.html
Заголовок, (Title) документа по адресу, URL1:
Amdahl's law - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)