Definindo a afinidade para um determinado processo usando os seguintes trabalhos:
PowerShell "get-process Notepad | %% { $_.ProcessorAffinity=1 }"
O que eu gostaria de poder fazer é definir a máscara do processador de maneira diferente para cada instância de um determinado processo encontrado pelo script. Ou seja, defina a afinidade das instâncias de um determinado processo em um estilo 'round robin'. Cada instância deve receber o núcleo 'próximo disponível'
instance 1 -> 00000001 (first core)
instance 2 -> 00000010 (second core)
instance 3 -> 00000100
etc..
instance 8 -> 10000000 (8th core)
instance 9 -> 00000001 (back to the first core again)
instance 10 -> 00000010 (second core again)
e assim por diante.
Normalmente, ocorrem de 10 a 20 instâncias do processo a qualquer momento e o script seria executado em um cronograma a cada poucos minutos para manter a carga distribuída uniformemente em todos os núcleos.
Muito obrigado antecipadamente por qualquer sugestão.