Заставить Docker в Windows использовать несколько узлов NUMA

#docker #docker-for-windows

#docker #docker для Windows

Вопрос:

Я столкнулся с трудностями при использовании Docker на Threadripper 3990X. Несмотря на запуск 64 контейнеров, каждому из которых передан --cpus 2 параметр docker run , я не могу заставить Docker использовать оба узла NUMA в этом процессоре. Он всегда использует узел 0. Я понимаю, что --cpus 2 должно отображаться на два потока или одно ядро. Итак, с 64 контейнерами я должен быть в состоянии насытить свой процессор, но, несмотря ни на что, насыщен только узел NUMA 0. Это в Windows 10 Enterprise.

РЕДАКТИРОВАТЬ 1: я использую контейнеры Windows, а гостевая ОС также является Windows (той же версии, что и хост).

Я пробовал --cpuset-cpus и --cpuset-mems , но получаю ошибки, говорящие о том, что Docker для Windows не поддерживает эти параметры. Я пробовал start /NODE <NUMA_node> docker run , но это никак не повлияло на то, на каком узле NUMA работает виртуальная машина. Единственным успехом, который у меня был, было использование --isolation process , поскольку это предоставляет доступ ко всем ядрам. Однако характер приложения, которое я размещаю в контейнере, означает, что я действительно хочу вернуться в режим изоляции Hyper-V.