¿La sobrecarga de coordinación entre dos processs es significativa?

Tengo 24 processs informáticos intensivos, cada process se ejecuta en un único hilo, cada uno con una duración de aproximadamente 2 horas. Estoy en una CPU de 8 núcleos.

¿Hace una diferencia en el time de ejecución total, si ejecuto los 24 processs al mismo time, en contraste con ejecutar solo 8 processs simultáneamente?

Estoy hablando de una sobrecarga de coordinación entre los processs, por lo que en este caso a cada CPU se le asignarían 3 processs: ¿es esto significativo?

Solutions Collecting From Web of "¿La sobrecarga de coordinación entre dos processs es significativa?"

Esto dependerá de su carga de trabajo específica y más detalles de su architecture (por ejemplo, ¿los processs leen la misma memory, que puede estar en nodos NUMA separados?), Por lo que sería mejor si pudiera medir el performance y ver lo que obtiene.

La ejecución de 24 tareas intensivas de CPU en 8 unidades de ejecución requerirá la activación y desactivación de tareas de progtwigción, mientras que la ejecución de tantas tareas como unidades de ejecución debería, en principio, requerir less conmutación. No esperaría que la sobrecarga relacionada con el código en ejecución para alternar entre tareas sea tan alta, pero, cuando una tarea está progtwigda fuera de una CPU, un efecto es que el estado de las memorys caching de esa CPU corre el riesgo de ser enrojecido (es probable que se vuelvan inútil para la nueva tarea que se progtwig); si esto sucede con suficiente frecuencia, podría llevar a un performance degradado.

En su caso, puede tener sentido comparar esos tres entre sí:

  1. Ejecutar 24 tareas concurrentes;
  2. ejecutar 8 tareas;
  3. ejecutar 8 tareas, asignando una CPU específica a cada una de ellas.

Puedes hacer (3) usando, por ejemplo, cpuset en Linux.