будет ли процесс переключаться между различными ядрами для повышения производительности? Если процесс выполняет переход между ядрами, какие компоненты совместно используются ядрами? Кэш, регистры или память L1-L3?
Переключается ли процесс между различными ядрами?
3 ответа
будет ли процесс переключаться между различными ядрами для повышения производительности?
Это зависит от того, является ли процесс многопоточным процессом или нет. Сам процесс в основном просто "контейнер" для потоков, он должен иметь по крайней мере один для запуска. Каждый поток может использовать ядро процессора, поэтому, если ваш процесс имеет 2 потока (GUI-и рабочий поток), он будет работать на 2 ядрах процессора.
вопрос " будет обрабатывать переключение между разными ядра " не совсем корректно, потому что такое переключение запланировано операционной системой (ОС), а не самим процессом!
давайте представим себе один загруженный процессор с 2 ядрами системы, где нагрузка приближается к 100%.
процесс с PID 1234 имеет только один поток (например, консольное приложение, выполняющее сжатие звука monothread).
для этого типа процесса, система будет стараться изо всех сил, чтобы запустить поток на том же ядре, чтобы свести к минимуму ошибки кэша. Тем не менее, если система действительно занята, аналогичные другие процессы могут также попытаться работать на тех же ядрах. В этом случае, в принципе, ваш один процесс потока может выполняться сначала на ядре #1, затем на ядре #2 и так далее.
процесс переключения между процессорами повредит производительности, потому что переключатель будет означать хранение информации о процессе и регистров в памяти, затем загрузите его на другой процессор.
эти команды хранения и загрузки являются одними из самых медленных команд на ЦП, хотя они не будут замечены, если выполняются очень редко.
этот процесс точно так же, как когда процесс завершает свой отрезок времени и приостанавливается операционной системой, а затем перезапускается с новый временной срез.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]