CPU yükünü ve geçiş süresini azaltmak için bellek işlemlerini ack-koordinator aracılığıyla DSA donanımına delege edin.
Nasıl çalışır?
DSA, bellek işlemlerini Intel® Sapphire Rapids işlemcilerdeki donanım hızlandırıcıya delege eder. Bu sayede bellek dengeleme ve sıkıştırma gibi görevlerde CPU yükü azalır ve ack-koordinator içindeki yakın bellek erişimi hızlandırması iyileşir.
DSA ile 100.000–1.000.000 bellek sayfasına erişim %30–%200 daha hızlı olur ve CPU kullanımı orantılı olarak düşer. 1,7 GB'lık bir geçiş testinde DSA, geçiş süresini temel değerin %31,25'ine düşürmüş ve bant genişliğini %320'ye çıkarmıştır.
Bu rakamlar test ortamlarından alınmıştır. Gerçek sonuçlar iş yüküne, örnek türüne ve bellek kullanımına göre değişir.
Ön koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
-
DSA destekli ECS örnekleri — Birden fazla NUMA düğümüne sahip sekizinci nesil SHENLONG bare metal örnekleri. Bkz. ECS instance types. Önerilen türler:
ecs.ebmc8i.48xlargeecs.c8i.32xlargeecs.g8i.48xlarge
-
ack-koordinator 1.2.0-ack1.2 veya üzeri — ACK kümenize yüklü olmalıdır. DSA sürücüleri Alinux 3 üzerinden dahil edilir. Bkz. ack-koordinator (FKA ack-slo-manager).
Notack-koordinator, resource-controller'ın yerini almıştır. resource-controller yüklüyse önce kaldırın. Bkz. Uninstall resource-controller.
Kümeye bağlı kubectl — Bkz. Connect to a cluster with kubectl.
Faturalama
ack-koordinator'u yüklemek ve kullanmak ücretsizdir. Aşağıdakiler için ücretlendirme uygulanabilir:
Çalışan düğüm kaynakları: ack-koordinator, yönetilmeyen bir bileşen olarak çalışan düğümlerde çalışır. Modül başına kaynak istekleri kurulum sırasında yapılandırılabilir.
Prometheus ölçümleri: ack-koordinator, kaynak profil oluşturma ve zamanlama ölçümlerini sunar. Managed Service for Prometheus ile etkinleştirilirse bunlar custom metrics olarak faturalandırılır. Etkinleştirmeden önce Managed Service for Prometheus billing bölümünü inceleyin. Kullanımı ve maliyetleri Query the amount of observable data and bills aracılığıyla izleyin.
DSA hızlandırmasını etkinleştirin
ack-koordinator, DSA donanımına sahip düğümlerde DSA'yı otomatik olarak etkinleştirir. Ek yapılandırma gerekmez.
Bir düğümde DSA donanımını doğrulamak için şunu çalıştırın:
ls /sys/bus/dsa
Boş olmayan bir dizin, DSA donanımının mevcut olduğunu ve hızlandırmanın etkin olduğunu onaylar.
DSA, yakın bellek erişimi hızlandırma özelliğini geliştirir. En iyi sonuçlar için kümeniz üzerinde enable nearby memory access acceleration özelliğini etkinleştirin.
DSA hızlandırmasını doğrulayın
DSA hızlandırmasını doğrulamak ve bellek geçişi üzerindeki etkisini ölçmek için bir ecs.ebmc8i.48xlarge örneği kullanın.
Yordam
Düğümde oturum açın. Bkz. Methods for connecting to an ECS instance.
-
İşlemcinin DSA donanımına sahip olduğunu onaylayın:
ls /sys/bus/dsaBoş olmayan bir dizin, DSA'nın mevcut olduğu anlamına gelir. Bir hata veya boş dizin, DSA donanımı olmadığını gösterir. DSA, sekizinci nesil SHENLONG bare metal örnekleri gerektirir.
Yakın bellek erişimi hızlandırması etkinleştirilmiş şekilde bellek yoğunluklu bir test uygulaması dağıtın. Redis önerilir. Bkz. example.
Sonuç analizi
DSA ile ve DSA olmadan 26,12 GB Redis uzak belleğin (1 milyon sayfa) geçirilmesinin sonuçları:
| Senaryo | Geçiş süresi (saniye) | CPU kullanımı | vCore-saniye |
|---|---|---|---|
| DSA hızlandırması devre dışı | 9.649 | 1.000 | 9.649 |
| DSA hızlandırması etkin | 4.928 | 0.668 | 3.292 |
DSA ile geçiş süresi temel değerin %51,8'ine, CPU kullanımı %66,8'e ve vCore-saniye değeri %34,1'e düşer; bu da DSA'nın bellek geçişini hızlandırdığını ve CPU tüketimini azalttığını doğrular.
Sonraki adımlar
DSA, yakın bellek erişimi hızlandırması ile en iyi şekilde çalışır. Bkz. Enable nearby memory access acceleration for containers.