Потоки и процессы при прикреплении к ядру [закрыто]C++

Программы на C++. Форум разработчиков
Гость
Потоки и процессы при прикреплении к ядру [закрыто]

Сообщение Гость »


Вопрос: Чем отличается кэширование между потоком и процессом, закрепленным за ядром?
Я сравниваю следующие два сценария:
  • У меня несколько тем; каждый закреплен за отдельным ядром, выполняющим задачи. Они общаются друг с другом через некие структуры данных без блокировки.
  • У меня есть несколько процессов; каждый закреплен за отдельным ядром и выполняет задачи (задачи такие же, как в пункте 1). Они общаются друг с другом через некоторый IPC (пример общей памяти).
При этих условиях будут ли потоки иметь какой-либо кеш преимущества по сравнению с процессами? Я спрашиваю об этом, потому что, хотя все потоки используют одно и то же адресное пространство и глобальные объекты, каждый доступ, совершаемый потоком, никоим образом не приносит пользы другому потоку (поскольку каждый процессор будет иметь свой собственный набор кешей). Будут ли какие-либо различия в работе кешей для таких закрепленных потоков по сравнению с закрепленными процессами?
Изменить: я знаю, что сравнение процессов с потоками похоже на сравнение яблок с апельсинами; но, скажем, у меня есть задача, которую могут выполнить несколько процессов с использованием IPC или несколько потоков с использованием структур данных без блокировки. Меня волнуют минимальные различия в задержке, которые могут вызвать потоки и процессы (в нс или микрос).


Источник: https://stackoverflow.com/questions/781 ... -to-a-core

Вернуться в «C++»