Esta semana se publicó una interesante serie de parches del kernel de Linux para abordar el comportamiento inconsistente de desequilibrio de NUMA para al menos algunas cargas de trabajo
En tales casos, estos parches abordan las diferencias de rendimiento observadas en el último número de versiones del kernel de Linux que se realizaron durante un tiempo.
Mel Gorman, desarrollador del kernel de Linux desde hace mucho tiempo, resumió bien el problema en su publicación de la lista de correo del kernel:
Se informó de forma privada un problema relacionado con el rendimiento inconsistente de NAS cuando se paralelizaba con MPICH. La raíz del problema es que la ubicación inicial es impredecible y puede haber un desequilibrio mayor de lo esperado entre los nodos NUMA. Como hay capacidad sobrante y los fallos son locales, el desequilibrio persiste durante mucho tiempo y el rendimiento se resiente.
Esto no es 100% un problema de "desequilibrio permitido", ya que establecer el desequilibrio permitido en 0 no soluciona el problema, pero el desequilibrio permitido contribuye al problema de rendimiento. El comportamiento impredecible se introdujo recientemente mediante la confirmación c6f886546cb8 ("sched/fair: activa la actualización de la carga bloqueada en la CPU recién inactiva").
mpirun bifurca a los ayudantes hydra_pmi_proxy con MPICH que se duermen antes de que se exceda la carga de trabajo objetivo. Como las tareas nuevas están inactivas, no se observa el posible desequilibrio, ya que idle_cpus no refleja las tareas que se ejecutarán en un futuro próximo. La gravedad del problema depende del momento en que ocurre la bifurcación y de si las nuevas tareas aún se están ejecutando. En consecuencia, es posible que no se detecte un gran desequilibrio inicial hasta que la carga de trabajo se esté ejecutando por completo. Una vez que se ejecuta, NUMA Balancing elige el nodo preferido en función de la localidad y el equilibrio de carga en tiempo de ejecución a menudo ignora las tareas, ya que can_migrate_task() falla por motivos de localidad o task_hot y, en su lugar, selecciona tareas no relacionadas.
Gorman confirmó que el problema ha ocurrido durante un tiempo: comenzó alrededor de Linux 5.7 ~ 5.8, se solucionó en Linux 5.12 y se rompió nuevamente en Linux 5.13. Afortunadamente, pudo resolver esta serie de parches para abordar este problema que afecta a NPB con MPICH y potencialmente también a otras cargas de trabajo:
Consulte esta serie de parches para obtener más detalles sobre el trabajo pendiente.
Historias relacionadas :
Microsoft : anuncia que hará que el terminal de Winodws sea la opción predeterminada en Windows 11
Windows Terminal será incluido en Windows 10
Termux, una aplicacion y emulador de terminal para Android y Linux
Con pantalla Aprende a realizar diversas tareas en el terminal de Linux
Desde la terminal de Linux Como navegar por la web
Usa tu navegador como una terminal GNU/Linux
[Fuente]: phoronix.com
Anónimo .( 15 de Mayo de 2022).terminal de linux. Modificado por Carlos Zambrado Recuperado phoronix.com