¿Alguien sabe de una forma de bloquear subprocesos individuales dentro de un proceso de Java a núcleos de CPU específicos (en Linux)? He hecho esto en C, pero no puedo encontrar cómo hacerlo en Java. Mi instinto es que esto requerirá una llamada JNI, pero esperaba que alguien aquí pudiera tener alguna idea o podría haberlo hecho antes.Afinidad de subprocesos de Java
Gracias!
Ver mi respuesta a continuación a los comentarios de Hassan. Algunos hilos son muy intensivos en E/S, otros son intensivos en CPU. Si estoy protegiendo las interrupciones de E/S en un núcleo particular, me gustaría que los subprocesos intensivos de E/S estuvieran en núcleos en el mismo socket, y me gustaría proteger los hilos intensivos de CPU de la E/S. . – Dave
@gimpf: como siempre con este tipo de "preguntas cuestionadas": SO no se trata del "por qué", se trata del "cómo". La afinidad de CPU existe por alguna razón, hay una razón por la cual hay utilidades tanto en Linux como en Windows para establecer la afinidad de la CPU de un proceso. La pregunta del OP es una pregunta perfectamente válida que no quiere "por qué" sino un "cómo". – SyntaxT3rr0r
@WizardOfOdds: dudo que el "por qué" esté prohibido en SO, y como Java no suele ser el primer lenguaje de programación para los ajustes de rendimiento relacionados con la concurrencia, creo que un chequeo de cordura es válido. – gimpf