Descargue las operaciones de memoria al hardware DSA mediante ack-koordinator para reducir la carga de la CPU y el tiempo de migración.
Funcionamiento
DSA descarga las operaciones de memoria al acelerador de hardware en los procesadores Intel® Sapphire Rapids. Esto reduce la carga de la CPU en tareas como el equilibrio y la compactación de memoria, y mejora la aceleración del acceso a memoria cercana en ack-koordinator.
Con DSA, el acceso a entre 100,000 y 1,000,000 páginas de memoria es entre un 30 % y un 200 % más rápido, con una utilización de CPU proporcionalmente menor. En una prueba de migración de 1.7 GB, DSA redujo el tiempo de migración al 31.25 % del valor base y aumentó el ancho de banda al 320 %.
Estas cifras provienen de entornos de prueba. Los resultados reales varían según la carga de trabajo, el tipo de instancia y el uso de memoria.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
-
Instancias ECS compatibles con DSA: instancias bare metal SHENLONG de octava generación con varios nodos NUMA. Consulte ECS instance types. Tipos recomendados:
ecs.ebmc8i.48xlargeecs.c8i.32xlargeecs.g8i.48xlarge
-
ack-koordinator 1.2.0-ack1.2 o posterior: instalado en su clúster ACK. Los controladores DSA se incluyen mediante Alinux 3. Consulte ack-koordinator (FKA ack-slo-manager).
Notaack-koordinator reemplaza a resource-controller. Si tiene instalado resource-controller, desinstálelo primero. Consulte Desinstalar resource-controller.
kubectl conectado al clúster: consulte Conexión a un clúster con kubectl.
Facturación
La instalación y el uso de ack-koordinator son gratuitos. Es posible que se generen cargos por:
Recursos de nodos worker: ack-koordinator se ejecuta en nodos worker como un componente no administrado. Las solicitudes de recursos por módulo se pueden configurar durante la instalación.
Métricas de Prometheus: ack-koordinator expone métricas de perfilado de recursos y programación. Si se habilitan con Managed Service for Prometheus, se facturan como métricas personalizadas. Revise la facturación de Managed Service for Prometheus antes de habilitar esta función. Monitoree el uso y los costos mediante Consulta de la cantidad de datos observables y facturas.
Habilitar la aceleración DSA
ack-koordinator activa automáticamente DSA en los nodos que cuentan con este hardware. No se requiere configuración adicional.
Para comprobar la presencia de hardware DSA en un nodo, ejecute:
ls /sys/bus/dsa
Un directorio no vacío confirma que el hardware DSA está presente y que la aceleración se encuentra activa.
DSA mejora la función de aceleración del acceso a memoria cercana. Para obtener mejores resultados, enable nearby memory access acceleration en su clúster.
Comprobar la aceleración DSA
Utilice una instancia ecs.ebmc8i.48xlarge para verificar la aceleración DSA y medir su efecto en la migración de memoria.
Procedimiento
Inicie sesión en el nodo. Consulte Métodos para conectarse a una instancia ECS.
-
Confirme que el procesador cuenta con hardware DSA:
ls /sys/bus/dsaUn directorio no vacío indica que DSA está presente. Un error o un directorio vacío significa que no hay hardware DSA. DSA requiere instancias bare metal SHENLONG de octava generación.
Despliegue una aplicación de prueba con uso intensivo de memoria y con la aceleración de acceso a memoria cercana habilitada. Se recomienda Redis. Consulte el example.
Análisis de resultados
Resultados de la migración de 26.12 GB de memoria remota de Redis (1 millón de páginas) con y sin DSA:
|
Escenario |
Tiempo de migración (segundos) |
Utilización de CPU |
vCore-segundos |
|
Aceleración DSA deshabilitada |
9,649 |
1,000 |
9,649 |
|
Aceleración DSA habilitada |
4,928 |
0,668 |
3,292 |
Con DSA, el tiempo de migración se reduce al 51.8 %, la utilización de CPU al 66.8 % y los vCore-segundos al 34.1 % del valor base. Esto confirma que DSA acelera la migración de memoria y reduce el consumo de CPU.
Siguientes pasos
DSA funciona mejor con la aceleración de acceso a memoria cercana. Consulte Enable nearby memory access acceleration for containers.