optimization - Что означают термины «связанный с процессором» и «связанный с вводом / выводом»?

Translate

Что означают термины «ограничение ЦП» и «ограничение ввода-вывода»?

This question and all comments follow the "Attribution Required."

Все ответы

Translate

Это довольно интуитивно понятно:

Программа связана с ЦП, если бы она работала быстрее, если бы ЦП был быстрее, то есть большую часть времени она тратит просто на ЦП (выполняя вычисления). Программа, вычисляющая новые цифры числа π, обычно связана с процессором, это просто вычисления чисел.

Программа связана с вводом-выводом, если бы она работала быстрее, если бы подсистема ввода-вывода была быстрее. Какая именно система ввода / вывода имеется в виду, может варьироваться; Я обычно ассоциирую это с диском, но, конечно, сеть или общение в целом тоже распространены. Программа, которая просматривает огромный файл в поисках некоторых данных, может быть привязана к вводу-выводу, поскольку узким местом в этом случае является чтение данных с диска (на самом деле, этот пример, возможно, в наши дни немного старомоден с сотнями МБ / с. поступает с SSD).

Источник
Translate

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

Ограничение ввода / выводаозначает, что скорость выполнения процесса ограничена скоростью подсистемы ввода-вывода. Задача, обрабатывающая данные с диска, например подсчет количества строк в файле, скорее всего, будет связана с вводом-выводом.

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

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

I / O Bound будет медленнее, чем Memory Bound будет медленнее, чем Cache Bound будет медленнее, чем CPU Bound.

Решение проблемы ограничения ввода-вывода не обязательно в увеличении объема памяти. В некоторых ситуациях алгоритм доступа может быть разработан с учетом ограничений ввода-вывода, памяти или кеша. ВидетьКэшировать незаметные алгоритмы.

Источник
Translate

Ограничение ЦП означает, что программа ограничена ЦП или центральным процессором, в то время какВвод / выводОграничение означает, что программа ограничена вводом-выводом или вводом-выводом, например чтением или записью на диск, сеть и т. д.

Как правило, при оптимизации компьютерных программ стараются найти узкое место и устранить его. Знание того, что ваша программа связана с процессором, помогает, чтобы не оптимизировать что-то излишне.

[И под «узким местом» я имею в виду то, что заставляет вашу программу работать медленнее, чем в противном случае.]

Источник
Translate

Другой способ сформулировать ту же идею:

  • Если ускорение процессора не ускоряет вашу программу, это может бытьВвод / выводсвязаны.

  • Если ускорение ввода-вывода (например, использование более быстрого диска) не помогает, ваша программа может быть связана с процессором.

(Я использовал «может быть», потому что вам нужно принимать во внимание другие ресурсы. Память - один из примеров.)

Источник
Translate

Когда ваша программа ждетВвод / вывод(например, чтение / запись на диск или сетевое чтение / запись и т. д.), ЦП может выполнять другие задачи, даже если ваша программа остановлена. Скорость вашей программы в основном будет зависеть от того, насколько быстро может происходить этот ввод-вывод, и если вы хотите его ускорить, вам нужно будет ускорить ввод-вывод.

Если ваша программа выполняет множество программных инструкций и не ожидает ввода-вывода, то говорят, что она связана с процессором. Ускорение ЦП заставит программу работать быстрее.

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

Источник
Alma Lee
Translate

Граница ввода / вывода относится к состоянию, при котором время, необходимое для завершения вычисления, определяется в основном периодом, затраченным на ожидание завершения операций ввода / вывода.

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

Источник
dua
Translate

Процессы, связанные с вводом-выводом: тратят больше времени на ввод-вывод, чем на вычисления, имеют много коротких всплесков ЦП. Процессы, связанные с ЦП: тратить больше времени на вычисления, несколько очень длинных всплесков ЦП

Источник
Translate

Процесс, связанный с вводом-выводом: - Если большая часть времени жизни процесса проводится в состоянии ввода-вывода, тогда этот процесс является процессом с привязкой к вводу-выводу. Пример: -calculator, internet explorer

Процесс, связанный с процессором: - Если большая часть времени жизни процесса проводится в процессоре, то это процесс, связанный с процессором.

Источник
Leave a Reply
You must be logged in to post a answer.