URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 97566
[ Назад ]

Исходное сообщение
"Мультипоточность, мультипроцессорновть"

Отправлено Gaidamak , 05-Апр-20 10:57 
Есть ubuntu 19.04, под ней крутится сервер с 64 процессорными ядрами. Есть написанная на CPP приблуда, которая следит за некими 20 девайсами, и она по воле программистов запускается в 20 копиях.

Каждая из этих 20 копий порождает 64 pid по числу ядер, что увеличивает накладные расходы системы на переключение ядер между всей этой кучей процессов. Вопрос - можно ли как-то со стороны системы, не напрягая разрабов приблуды,  ограничить количество ядер на каждую копию, допустим, четырьмя или пятью без жесткой привязки конкретного PID к конкретному ядру? В идеале, где-то указать, что программа xyz не может получить от системы больше n ядер.


Содержание

Сообщения в этом обсуждении
"Мультипоточность, мультипроцессорновть"
Отправлено DeerFriend , 05-Апр-20 15:35 
докер, подман, кубер и др. иностранные слова


"Мультипоточность, мультипроцессорновть"
Отправлено taskset , 05-Апр-20 15:38 
man taskset
duckduckgo cpu affinity

"Мультипоточность, мультипроцессорновть"
Отправлено username , 06-Сен-20 00:09 

docker:
--cpuset-cpus     Limit the specific CPUs or cores a container can use. A comma-separated list or hyphen-separated range of CPUs a container can use, if you have more than one CPU. The first CPU is numbered 0. A valid value might be 0-3 (to use the first, second, third, and fourth CPU) or 1,3 (to use the second and fourth CPU).