Si bien Intel ha estado trabajando en el soporte de Sapphire Rapids para Linux desde hace años y en otros componentes clave como GCC y LLVM/Clang para brindar una buena experiencia en el lanzamiento con los procesadores escalables Xeon de cuarta generación, un poco que no habían cuadrar lejos antes del lanzamiento han estado los nuevos estados inactivos de C0.x. Estos nuevos estados inactivos entre POLL y C1 permiten una combinación de baja latencia y mejores ahorros de energía que POLL.
Los ingenieros de Intel han estado trabajando en los parches de Linux para estos estados inactivos C0.1 y C0.2 durante algunos meses para ayudar con la eficiencia energética de los nuevos procesadores Sapphire Rapids. Este trabajo va junto con otros parches pendientes para ayudar a mejorar el rendimiento de la VM bajo un uso intensivo de E/S.
El sábado se publicó la tercera iteración del soporte de estado inactivo de Sapphire Rapids C0.x. La carta de presentación del parche resume elegantemente el trabajo como:
“Los estados inactivos reducen el consumo de energía cuando una CPU no tiene trabajo que hacer. El estado inactivo de la CPU más superficial es”POLL”. Tiene la latencia de activación más baja, pero ahorra poca energía. El siguiente estado inactivo en las plataformas Intel es”C1″. Tiene mayor latencia, pero ahorra más energía que”POLL”.
Sapphire Rapids Xeon agrega nuevos estados inactivos C0.1 y C0.2 que se sitúan conceptualmente entre”POLL”y”C1″. Estos proporcionan un punto medio muy atractivo: latencia de activación cercana a la POLL y consumo de energía a mitad de camino entre”POLL”y”C1″.
En otras palabras, esperamos que todos, excepto los usuarios más sensibles a la latencia, prefieran estos estados inactivos a POLL.
Este conjunto de parches habilita la compatibilidad con el estado inactivo C0.2 en Sapphire Rapids Xeon (posteriormente, SPR). El nuevo estado inactivo se agrega entre POLL y C1″.
Con esta tercera iteración hay algunos cambios técnicos menores a medida que este nuevo código funciona hacia el núcleo de la línea principal.
Con las pruebas de Intel de los nuevos parches, la potencia de CA se redujo en un 13 % y la potencia de la CPU RAPL se redujo en un 18 % al comparar el cambio porcentual de POLL a C0.2. Mientras tanto, tener C0.2 también permitió que la puntuación de Hackbench mejorara en aproximadamente un 4% para 4 grupos. Con los parches, el estado C0.2 también se puede desactivar si se desea a través de la opción del kernel”intel_idle.states_off=2″.
Trabajo interesante y, con suerte, este código llegará pronto a la línea principal, posiblemente incluso para v6.5 si todo se ve bien en esta tercera versión de los parches. Por el momento, el trabajo se puede encontrar en la lista linux-pm. Una vez que sea recogido por la línea principal, me aseguraré de ejecutar algunos puntos de referencia.