Use DSA to accelerate data streaming

更新时间:
复制 MD 格式

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%.

Important

These figures are from test environments. Actual results vary by workload, instance type, and memory usage.

image

Prerequisites

Before you begin, make sure you have:

  1. 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

  2. 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).

    Note

    ack-koordinator supersedes resource-controller. If resource-controller is installed, uninstall it first. See Uninstall resource-controller.

  3. 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:

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.

Note

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

  1. Log on to the node. See Methods for connecting to an ECS instance.

  2. Confirm that the processor has DSA hardware:

    ls /sys/bus/dsa

    A non-empty directory means DSA is present. An error or empty directory means no DSA hardware. DSA requires eighth-generation SHENLONG bare metal instances.

  3. 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.