Jump to content

Ускорение

В компьютерной архитектуре ускорение это число, которое измеряет относительную производительность двух систем, решающих одну и ту же задачу. Говоря технически, это улучшение скорости выполнения задачи, выполняемой на двух одинаковых архитектурах с разными ресурсами. Понятие ускорения было установлено законом Амдала , который был особенно ориентирован на параллельную обработку . Однако ускорение можно использовать в более широком смысле, чтобы показать влияние на производительность после любого улучшения ресурсов.

Определения

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

Ускорение можно определить для двух разных типов величин: задержки и пропускной способности . [ 1 ]

Задержка архитектуры обратна скорости выполнения задачи:

где

  • v – скорость выполнения задачи;
  • Т – время выполнения задачи;
  • W — рабочая нагрузка выполнения задачи.

Пропускная способность архитектуры — это скорость выполнения задачи:

где

Задержка часто измеряется в секундах на единицу рабочей нагрузки выполнения. Пропускная способность часто измеряется в единицах рабочей нагрузки выполнения в секунду. Другая единица пропускной способности — количество инструкций на цикл (IPC), а обратная ей единица — число циклов на инструкцию (CPI) — еще одна единица задержки.

Ускорение является безразмерным и определяется по-разному для каждого типа величины, поэтому оно является согласованным показателем.

Ускорение задержки

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

Ускорение задержки определяется по следующей формуле: [ 2 ]

где

  • S Задержка — это увеличение задержки архитектуры 2 по сравнению с архитектурой 1;
  • L 1 — задержка архитектуры 1;
  • L 2 — задержка архитектуры 2.

Увеличение задержки можно предсказать на основе закона Амдала или закона Густавсона .

Ускорение пропускной способности

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

Ускорение производительности определяется по формуле: [ 3 ]

где

  • S Пропускная способность — это ускорение пропускной способности архитектуры 2 по сравнению с архитектурой 1;
  • Q 1 — пропускная способность архитектуры 1;
  • Q 2 — пропускная способность архитектуры 2.

Использование времени выполнения

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

Мы тестируем эффективность предсказателя ветвей при выполнении программы. Сначала мы выполняем программу со стандартным предсказателем ветвления на процессоре, что дает время выполнения 2,25 секунды. Затем мы выполняем программу с помощью нашего модифицированного (и, надеюсь, улучшенного) предсказателя ветвей на том же процессоре, что обеспечивает время выполнения 1,50 секунды. В обоих случаях рабочая нагрузка на выполнение одинакова. Используя нашу формулу ускорения, мы знаем

Наш новый предсказатель ветвей обеспечил ускорение в 1,5 раза по сравнению с оригиналом.

Использование циклов на инструкцию и инструкций на цикл

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

Мы также можем измерить ускорение в циклах на инструкцию (CPI), что представляет собой задержку. Сначала мы выполняем программу со стандартным предиктором ветвления, который дает CPI, равный 3. Затем мы выполняем программу с нашим модифицированным предиктором ветвления, который дает CPI, равный 2. В обоих случаях рабочая нагрузка при выполнении одинакова, и обе архитектуры не являются конвейерными и параллельными. Использование формулы ускорения дает

Мы также можем измерить ускорение в количестве инструкций за цикл ( IPC ), что является пропускной способностью и обратной величиной CPI. Использование формулы ускорения дает

Мы добились того же ускорения в 1,5 раза, хотя измеряли разные величины.

Дополнительная информация

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

Пусть S — ускорение выполнения задачи, а s — ускорение выполнения той части задачи, которая выигрывает от улучшения ресурсов архитектуры. Линейное ускорение или идеальное ускорение получается, когда S = s . При выполнении задачи с линейным ускорением удвоение локального ускорения удваивает общее ускорение. Поскольку это идеальный вариант, это считается очень хорошей масштабируемостью .

Эффективность — это показатель использования ресурсов улучшенной системы, определяемый как

Его значение обычно находится в диапазоне от 0 до 1. Программы с линейным ускорением и программы, работающие на одном процессоре, имеют эффективность, равную 1, в то время как многие программы, которые сложно распараллелить, имеют эффективность, например, 1/ln( s ). [ нужна ссылка ] который приближается к 0 по мере увеличения числа процессоров A = s .

В инженерном контексте для графиков чаще используются кривые эффективности, чем кривые ускорения, поскольку

  • вся площадь графика полезна (тогда как в кривых ускорения половина пространства тратится впустую);
  • легко увидеть, насколько хорошо работает улучшение системы;
  • нет необходимости строить кривую «идеального ускорения».

В маркетинговом контексте чаще используются кривые ускорения, главным образом потому, что они идут вверх и вправо и, таким образом, кажутся менее информированным лучше.

Суперлинейное ускорение

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

ускорение более чем на А при использовании процессоров А наблюдается Иногда при параллельных вычислениях , которое называется суперлинейным ускорением . Суперлинейное ускорение случается редко и часто сбивает с толку новичков, которые считают, что теоретическое максимальное ускорение должно быть равно A при A. использовании процессоров

Одной из возможных причин сверхлинейного ускорения низкоуровневых вычислений является эффект кэширования , возникающий из-за различной иерархии памяти современного компьютера: при параллельных вычислениях меняется не только количество процессоров, но и размер накопленных кэшей. разные процессоры. Благодаря большему размеру накопленного кэша в кэши может поместиться больше или даже весь рабочий набор , и время доступа к памяти резко сокращается, что приводит к дополнительному ускорению в дополнение к фактическому ускорению вычислений. [ 4 ]

Аналогичная ситуация возникает при поиске больших наборов данных, таких как геномные данные, поиск которых осуществляется реализациями BLAST . Там накопленная ОЗУ каждого из узлов кластера позволяет набору данных перемещаться с диска в ОЗУ, тем самым значительно сокращая время, необходимое, например, mpiBLAST для его поиска. [ 5 ]

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

Суперлинейное ускорение также может происходить в параллельных реализациях метода ветвей и границ для оптимизации: [ 7 ] обработка одного узла одним процессором может повлиять на работу, которую другие процессоры должны выполнять для других узлов.

См. также

[ редактировать ]
  1. ^ Мартин, Майло. «Производительность и сравнительный анализ» (PDF) . Проверено 5 июня 2014 г.
  2. ^ Хеннесси, Джон Л.; Дэвид А., Паттерсон (2012). Компьютерная архитектура: количественный подход . Уолтем, Массачусетс: Морган Кауфманн . стр. 46–47 . ISBN  978-0-12-383872-8 .
  3. ^ Баер, Жан-Лу (2010). Микропроцессорная архитектура: от простых конвейеров к микропроцессорам . Нью-Йорк: Издательство Кембриджского университета . стр. 10 . ISBN  978-0-521-76992-1 .
  4. ^ Бензи, Джон; Дамодаран, М. (2007). «Параллельное трехмерное прямое моделирование Монте-Карло для моделирования микропотоков» . Параллельная вычислительная гидродинамика 2007: Реализации и опыт крупномасштабных и грид-вычислений . Параллельная вычислительная гидродинамика. Спрингер. п. 95 . Проверено 21 марта 2013 г.
  5. ^ http://people.cs.vt.edu/~feng/presentations/030903-ParCo.pdf [ только URL-адрес PDF ]
  6. ^ Шпекенмейер, Эвальд (1988). «Сверхлинейное ускорение для параллельного возврата». Суперкомпьютеры . Конспекты лекций по информатике. Том. 297. стр. 985–993. дои : 10.1007/3-540-18991-2_58 . ISBN  978-3-540-18991-6 .
  7. ^ «Гуроби по сравнению с эталонами CPLEX» . cmu.edu . 29 января 2009 года . Проверено 23 апреля 2018 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c6014652dfa5a2f49e92bd7bf0c3641b__1716759180
URL1:https://arc.ask3.ru/arc/aa/c6/1b/c6014652dfa5a2f49e92bd7bf0c3641b.html
Заголовок, (Title) документа по адресу, URL1:
Speedup - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)