Offload memory operations to DSA hardware via ack-koordinator to reduce CPU load and migration time.
How it works
DSA offloads memory operations to the hardware accelerator in Intel® Sapphire Rapids processors, reducing CPU load for tasks such as memory balancing and compaction and improving nearby memory access acceleration in ack-koordinator.
With DSA, accessing 100,000–1,000,000 memory pages is 30%–200% faster with proportionally lower CPU utilization. In a 1.7 GB migration test, DSA cut migration time to 31.25% of baseline and increased bandwidth to 320%.
These figures are from test environments. Actual results vary by workload, instance type, and memory usage.
Prerequisites
Before you begin, make sure you have:
-
DSA-capable ECS instances — Eighth-generation SHENLONG bare metal instances with multiple NUMA nodes. See ECS instance types. Recommended types:
-
ecs.ebmc8i.48xlarge -
ecs.c8i.32xlarge -
ecs.g8i.48xlarge
-
-
ack-koordinator 1.2.0-ack1.2 or later — Installed on your ACK cluster. DSA drivers are included via Alinux 3. See ack-koordinator (FKA ack-slo-manager).
Noteack-koordinator supersedes resource-controller. If resource-controller is installed, uninstall it first. See Uninstall resource-controller.
-
kubectl connected to the cluster — See Connect to a cluster with kubectl.
Billing
ack-koordinator is free to install and use. Fees may apply for:
-
Worker node resources: ack-koordinator runs on worker nodes as a non-managed component. Resource requests per module are configurable during installation.
-
Prometheus metrics: ack-koordinator exposes resource profiling and scheduling metrics. If enabled with Managed Service for Prometheus, these are billed as custom metrics. Review Managed Service for Prometheus billing before enabling. Monitor usage and costs via Query the amount of observable data and bills.
Enable DSA acceleration
ack-koordinator automatically activates DSA on nodes with DSA hardware. No additional configuration is required.
To verify DSA hardware on a node, run:
ls /sys/bus/dsa
A non-empty directory confirms DSA hardware is present and acceleration is active.
DSA enhances the nearby memory access acceleration feature. For best results, enable nearby memory access acceleration on your cluster.
Verify DSA acceleration
Use an ecs.ebmc8i.48xlarge instance to verify DSA acceleration and measure its effect on memory migration.
Procedure
-
Log on to the node. See Methods for connecting to an ECS instance.
-
Confirm that the processor has DSA hardware:
ls /sys/bus/dsaA non-empty directory means DSA is present. An error or empty directory means no DSA hardware. DSA requires eighth-generation SHENLONG bare metal instances.
-
Deploy a memory-intensive test application with nearby memory access acceleration enabled. Redis is recommended. See the example.
Result analysis
Results of migrating 26.12 GB of Redis remote memory (1 million pages) with and without DSA:
| Scenario | Migration time (seconds) | CPU utilization | vCore-seconds |
|---|---|---|---|
| DSA acceleration disabled | 9.649 | 1.000 | 9.649 |
| DSA acceleration enabled | 4.928 | 0.668 | 3.292 |
With DSA, migration time drops to 51.8%, CPU utilization to 66.8%, and vCore-seconds to 34.1% of baseline — confirming DSA accelerates memory migration and reduces CPU consumption.
Next steps
DSA works best with nearby memory access acceleration. See Enable nearby memory access acceleration for containers.