Como conseguir afinidade de processador em containers?

Como conseguir afinidade de processador em containers?

Vejo que com o Kubernetes é possível definir a afinidade do nó para determinadas cargas de trabalho. Estou me perguntando se existem recursos nas várias tecnologias de contêineres, como docker, rocket etc., que permitem fixar processos em núcleos. ou se isso é possível em ambientes multilocatários? Talvez isso implique uma configuração bare metal?

Responder1

Se o seu sistema suportar SMP (multiprocessamento simétrico) com alguma combinação de múltiplas CPUs físicas, núcleos de CPU e CPUs lógicas, você poderá atribuir Docker Containers a recursos de CPU específicos.

Comandos de exemplo para afinidade de CPU com contêineres Docker

Os exemplos mostrados aqui cobrem a atribuição do contêiner Docker mycontainer a recursos de CPU específicos quando os contêineres são criados com o comando docker run. Ao executar comandos, você deve substituir o nome do Docker Container e os números dos componentes da CPU para se adequar ao seu ambiente.

Este comando atribuirá o contêiner Docker mycontainer à primeira CPU (CPU0):

# docker run --cpuset 0 /bin/bash mycontainer

Várias CPUs podem ser especificadas. Este comando atribuirá o contêiner Docker mycontainer às CPUs 0 e 1:

# docker run --cpuset 0,1 /bin/bash mycontainer

Uma variedade de CPUs pode ser especificada. Este comando atribuirá o contêiner Docker mycontainer às CPUs 0, 1 e 2:

# docker run --cpuset 0-2 /bin/bash mycontainer

informação relacionada