Geleneksel Remote Direct Memory Access (RDMA) ile karşılaştırıldığında esnek RDMA (eRDMA); Redis tabanlı önbellek veritabanları, Spark tabanlı büyük veri analitiği, yüksek performanslı bilgi işlemdeki (HPC) Hava Durumu Araştırma ve Tahmin Modeli (WRF) ve yapay zeka eğitimi gibi çok çeşitli senaryolarda kullanılabilir. eRDMA kullanarak bulutta yüksek performanslı uygulama kümeleri oluşturabilir ve düşük maliyetle yüksek esneklik sağlayabilirsiniz. Ayrıca bir VPC'yi bir eRDMA ağıyla değiştirerek uygulamalarınızı hızlandırabilirsiniz.
eRDMA nedir?
eRDMA, Alibaba Cloud tarafından bulut ortamları için geliştirilen esnek bir Remote Direct Memory Access (RDMA) ağıdır. eRDMA, sanal özel bulutları (VPC) alt bağlantı olarak kullanır ve Alibaba Cloud tarafından geliştirilen bir tıkanıklık kontrolü (CC) algoritmasından yararlanır. eRDMA, RDMA desteği sayesinde yüksek aktarım hızı ve düşük gecikme süresi sunar. Geleneksel RDMA ile karşılaştırıldığında eRDMA, saniyeler içinde büyük ölçekli RDMA ağlama imkanı sağlar. eRDMA; geleneksel HPC uygulamalarını, yapay zeka uygulamalarını ve İletim Kontrol Protokolü/İnternet Protokolü (TCP/IP) uygulamalarını destekler.
Neden eRDMA?
TCP/IP protokol yığını, birçok uygulamanın üzerine inşa edildiği ana akım ağ iletişim protokollerini sağlar. Veri merkezleriyle ilgili işlerin gelişmesiyle birlikte daha düşük gecikme süresi ve daha yüksek aktarım hızı gibi ağ performansı gereksinimleri artmıştır. Yüksek kopyalama ek yükleri, çapraz protokol yığını işleme, karmaşık CC algoritması ve sık bağlam değiştirme gibi sınırlamalar nedeniyle TCP/IP, iletişim ağlarının performansını kısıtlayan bir darboğaz haline gelmiştir.
RDMA, yukarıda belirtilen sorun noktalarını çözmenize yardımcı olur. RDMA; veriler kopyalanırken ve bağlam sıkça değiştirilirken oluşan ek yükleri önlemek için sıfır kopyalama ve çekirdek bypass gibi özellikler sunar. TCP/IP iletişimi ile karşılaştırıldığında RDMA; düşük gecikme süresi, yüksek aktarım hızı ve düşük CPU kullanımı sağlar. Ancak RDMA, yüksek fiyatlar ve bakım-onarım maliyetleri nedeniyle sınırlı kullanım senaryolarına sahiptir.
Alibaba Cloud eRDMA, çeşitli bulut ortamlarıyla kapsayıcı uyumluluk sağlamak üzere tasarlanmıştır. eRDMA, düşük gecikme süresi sunarak uygulamaların bulut ortamlarına uyum sağlama gereksinimlerini azaltır ve bu sayede performanslarını artırır.
eRDMA'nın Avantajları
-
Yüksek performans
RDMA, kullanıcı modundaki programlardan Host Channel Adapter'a (HCA) veri aktarmak için çekirdek yığınını bypass eder. Bu yaklaşım CPU yükünü ve gecikme süresini büyük ölçüde azaltır. eRDMA, geleneksel RDMA arabirimlerinin avantajlarını sunar ve RDMA'yı VPC'lere uygular. eRDMA, bulut ağlarında geleneksel RDMA'nın sunduğu ultra düşük gecikme süresi özelliğini barındırır.
NotHCA, bir sunucuyu ağa bağlayan ve RDMA desteği sağlayan donanımsal bir ağ arayüz kartıdır (NIC).
eRDMA, alanlar arası iletişimi destekler. Alanlar arası senaryolarda ağ gecikme süresi önemli ölçüde artarak VPC'lerdeki seviyelere benzer hale gelir. İş yükleriniz güçlü tutarlılığa sahip düşük gecikmeli ağlar gerektiriyorsa alanlar arası dağıtımdan kaçının.
-
Kapsayıcılık
eRDMA'yı ücretsiz olarak etkinleştirebilirsiniz. eRDMA'yı etkinleştirmek için bir ECS örneği satın alırken yalnızca Elastic RDMA Interface seçeneğini belirlemeniz yeterlidir.
-
Büyük ölçekli dağıtım
Geleneksel RDMA kayıpsız ağlara dayanır. Bu durum büyük ölçekli dağıtımı maliyetli ve zor hale getirir. eRDMA, Alibaba Cloud tarafından geliştirilen CC algoritmasını kullanarak VPC'lerdeki gecikme süresi ve paket kaybı gibi iletim kalitesini kontrol eder. eRDMA, kayıplı ağlarda iyi performans sunar.
-
Ölçeklenebilirlik
Ayrı bir donanımsal NIC gerektiren geleneksel RDMA'nın aksine eRDMA, ShenLong mimarisine dayalı olarak bulut niteliklerine sahip bir RDMA HCA kartı kullanır. eRDMA, ECS kullanırken cihazları dinamik olarak ekleyebilir ve esnek dağıtıma olanak tanıyan sıcak geçişi destekler.
-
Paylaşılan VPC'ler
eRDMA, esnek ağ arayüzlerine (ENI) bağlıdır ve ENI'lerin ait olduğu ağları yeniden kullanır. Bu sayede hizmet ağını değiştirmenize gerek kalmadan eski ağlarda RDMA özelliğini etkinleştirebilirsiniz.
eRDMA iletişimini uygulayın
Elastic Compute Service (ECS) örneklerinde eRDMA'yı etkinleştirin: Alibaba Cloud, ECS örnekleri için eRDMA'yı hızlı bir şekilde yapılandırmanıza, VPC'lerde RDMA özelliğini etkinleştirmenize ve iletişim için RDMA bağlantıları kurmanıza olanak tanıyan esnek ve kullanışlı yapılandırma seçenekleri sunar. Bir ECS örneğinde eRDMA'yı etkinleştirmek için örnek için eRDMA uyumlu bir örnek türü seçmeniz, örneğe eRDMA sürücüsünü yüklemeniz ve esnek RDMA arabirimlerini (ERI) örneğe bağlamanız gerekir. Daha fazla bilgi için bkz. Bir ECS örneğinde eRDMA'yı etkinleştirin.
Uygulamaları eRDMA'ya hızlıca adapte edin: Düşük gecikme süresi, yüksek bant genişliği ve düşük CPU kullanımı gereksinimlerini karşılamak için uygulamalarınızda RDMA ile ilgili mantığı uygulamak ve yapılandırmak istiyorsanız uygulamalarınızı uyarlamak için Network Accelerator (NetACC) veya Server Migration Center (SMC) kullanabilirsiniz. Daha fazla bilgi için bkz. eRDMA ve uygulamaları uyarlayın.
eRDMA'nın temel yetenekleri ve teknik özellikleri
RDMA ağ iletişiminde Queue Pair (QP), Completion Queue (CQ), Memory Region (MR) ve verbs Opcode temel bileşenlerdir. Bu bileşenler RDMA iletişimde önemli roller oynar ve RDMA ağ iletişiminin yüksek verimliliğini ve düşük gecikme süresini sağlar.
Bu bölümde eRDMA'nın teknik özellikleri açıklanmaktadır. eRDMA kullanırken hizmet teknik özelliklerinin gereksinimlerinin karşılandığından emin olun. Aksi takdirde uygulamalarınız beklendiği gibi çalışmayabilir.
QP
QP, RDMA'daki temel iletişim varlığıdır. Bir Send Queue (SQ) ve bir Receive Queue (RQ) içerir. QP, gönderilen ve alınan verileri yönetmek için kullanılır.
Özellikler: QP, uygulamaların veri göndermesine ve almasına olanak tanır. RDMA iletişiminin çekirdeğidir. QP durum makinesi, başlatmadan sonlandırmaya kadar bağlantıların durumunu yönetir.
-
eRDMA QP teknik özellikleri:
Öğe
Teknik Özellikler
Açıklama
Bağlantı kurma yöntemi
RDMA_CM
-
RDMA_CM, RDMA bağlantılarının kurulmasını, sürdürülmesini ve kapatılmasını yönetmek için kullanılır. RDMA bağlantılarının yönetim sürecini basitleştirir ve uygulamaların RDMA özelliğini kullanmasını kolaylaştırır. Genellikle Message Passing Interface (MPI), Shared Memory Communications over Remote Direct Memory Access (SMC-R) ve PolarDB SCC gibi senaryolarda kullanılır. Daha fazla bilgi için bkz. Linux rdma_cm.
ÖnemliVarsayılan olarak, eRDMA'yı destekleyen CPU tabanlı örnek aileleri, eRDMA çekirdek modu sürücüsünü Standard modda yükler. Bu modda yalnızca RDMA_CM bağlantı kurma yöntemi desteklenir.
-
eRDMA, TensorFlow, NVIDIA Collective Communications Library (NCCL) ve better Remote Procedure Call (bRPC) gibi bant dışı (OOB) senaryolardaki uygulamalar için Compat modu sağlar.
Önemli-
Varsayılan olarak, eRDMA'yı destekleyen GPU tabanlı örnek aileleri, eRDMA çekirdek modu sürücüsünü Compat modunda yükler. Bu modda RDMA_CM ve OOB bağlantı kurma yöntemleri desteklenir.
-
RDMA_CM ve OOB bağlantı kurma yöntemleri arasındaki uyumluluğu etkinleştirmek için CLI kullanabilirsiniz. Daha fazla bilgi için bkz. eRDMA'nın bağlantı kurma modunu bRPC ile uyumlu olacak şekilde değiştirin.
-
Compat modunda, 30608 ile 30623 aralığında ek 16 TCP bağlantı noktası kullanılır.
-
QP türleri
RC
RC tipi QP'ler güvenilir bağlantı hizmetleri sağlar. RC tipi bir QP, gönderme işlemlerini, RDMA yazma işlemlerini, RDMA okuma işlemlerini ve atomik işlemleri destekler.
Shared Receive Queue (SRQ)
Desteklenmiyor.
Yok.
Maksimum QP sayısı (max_qp_num)
Bu parametre örnek ailesine göre değişir. En fazla 131.071 QP oluşturulabilir.
-
Bir RDMA cihazında veya ağ arayüzünde oluşturulabilecek maksimum QP sayısı.
-
Bu parametre, bir RDMA ağında oluşturulabilecek eşzamanlı bağlantıların maksimum sayısını belirler ve ağın genişletilebilirliğini ve eşzamanlı işleme yeteneklerini etkiler.
Maksimum gönderme Work Request (WR) derinliği (max_send_wr)
8.192
-
Bir QP gönderme kuyruğundaki maksimum iş isteği sayısı.
-
Bu parametre, QP'nin aynı anda başlatabileceği iletim işlemlerinin sayısını belirler ve QP'nin iletim performansını ve aktarım hızını etkiler.
Maksimum alma WR derinliği (max_recv_wr)
32.768
-
Bir QP alma kuyruğundaki maksimum iş isteği sayısı.
-
Bu parametre, QP'nin aynı anda gerçekleştirebileceği alma işlemlerinin sayısını belirler ve QP'nin alma performansını ve aktarım hızını etkiler.
Bir gönderme WR'sindeki maksimum SGE sayısı (max_send_sge)
Not6
-
Bir gönderme WR'sindeki maksimum scatter-gather öğesi (SGE) sayısı.
-
Bu parametre, bir QP'nin tek bir gönderme işleminde işleyebileceği maksimum bellek segmenti sayısını belirler ve veri aktarımlarının verimliliğini ve esnekliğini etkiler.
Bir alma WR'sindeki maksimum SGE sayısı (max_recv_sge)
1
-
Bir alma WR'sindeki maksimum SGE sayısı.
-
Bu parametre, bir QP'nin tek bir alma işleminde işleyebileceği maksimum bellek segmenti sayısını belirler ve veri almanın verimliliğini ve esnekliğini etkiler.
-
CQ
CQ, bir uygulamanın bir WR'nin tamamlandığına dair bildirim almasını sağlar. Veri gönderme veya alma gibi bir RDMA işlemi tamamlandığında ilgili tamamlama bilgileri CQ'ya yerleştirilir.
Özellikler: CQ, RDMA'da eşzamansız işlem tamamlama bildiriminin anahtarıdır. CQ, uygulamaların eşzamansız olayları yönetmesine ve hataları işlemesine yardımcı olur. CQ, uygulamalara hangi işlemlerin tamamlandığını bildiren bir mekanizma sağlar; bu mekanizma eşzamansız işlemlerin yönetimi için önemlidir.
-
eRDMA CQ teknik özellikleri:
Öğe
Teknik Özellikler
Açıklama
CQ'lar
CQ sayısı örnek türüne göre değişir. Maksimum CQ sayısı, QP sayısının iki katıdır.
Yok.
Bir CQ'daki vektör sayısı (vector_num)
Bir CQ'daki vektör sayısı örnek türüne göre değişir. Bir CQ'daki maksimum vektör sayısı 31'dir. CPU sayısı QP sayısı ile ilişkilidir.
-
Her vektör bir donanım kesmesine karşılık gelir. Gerçek kullanımda her CPU, iletişim gereksinimlerini karşılamak üzere en fazla bir vektörle yapılandırılabilir.
-
Her vektör, eRDMA'da bir completion event queue (CEQ) ile ilişkilendirilir.
Maksimum CEQ derinliği
4.096
-
0.2.34 sürümünde maksimum CEQ derinliği 256'dır.
-
Olay modunda, her vektöre 4.096'dan fazla CQ bağlamamanız önerilir. Aksi takdirde CEQ taşması oluşabilir.
Maksimum CQ derinliği
1.048.576
Yok.
-
RDMA bellek yönetimi
MR ve Memory Window (MW), RDMA'da bellek yönetimi için önemli kavramlardır.
-
MR: RDMA tarafından erişilebilen bir bellek alanını belirtir. MR'yi kaydettikten sonra bir uygulama, RDMA donanımına bu bellek alanına doğrudan erişim izni verebilir.
Özellikler: MR, RDMA'nın uzak bir ana bilgisayarın belleğinde okuma ve yazma gibi işlemleri doğrudan gerçekleştirmesini sağlar. Bu özellik, RDMA'nın sıfır kopyalama özelliğinin temelini oluşturur.
-
eRDMA MR teknik özellikleri:
Öğe
Teknik Özellikler
MR'ler
MR sayısı örnek türüne göre değişir. Maksimum MR sayısı, QP sayısının iki katıdır.
Maksimum MR boyutu
MR'lerin boyutu altta yatan donanıma göre değişir. Desteklenen minimum MR boyutu 2 GB, desteklenen maksimum MR boyutu 64 GB'tır.
MW: Alibaba Cloud MW'yi desteklemez.
verbs arabirimleri
verbs, RDMA programlamanın temelini oluşturur ve RDMA cihazlarının davranışını kontrol etmek için bir dizi arabirim tanımlar. Opcode, belirli bir işlem türünü belirtmek için bu arabirimlerde kullanılan koddur.
Özellikler: Opcode, send (SEND), receive (RECEIVE), read (READ) ve write (WRITE) gibi RDMA işlemlerinin türlerini tanımlar. Opcode, RDMA donanımına gerçekleştirilecek özel talimatlar verir ve uygulamaların verimli veri aktarımları için RDMA donanımıyla doğrudan etkileşime girmesine olanak tanır.
-
Opcode desteği:
Opcode
İşlem destekleniyor mu?
RDMA Write
Destekleniyor
RDMA Write with Immediate
Destekleniyor
RDMA Read
Destekleniyor
Send
Destekleniyor
Send with Invalidate
Destekleniyor
Send with Immediate
Destekleniyor
Send with Solicited Event
Destekleniyor
Local Invalidate
Destekleniyor
Atomic Operation
Destekleniyor