40G / 10G ve 100G / 25G Ethernet'te serileştirme ve serileştirme süreleri


15

Son zamanlarda bir OpenStack platformuna ev sahipliği yapmak için bir Yaprak / Omurga (veya CLOS) ağının en düşük gecikme süresi gereksinimleriyle ilgili tartışmalara katıldım.

Sistem mimarları işlemleri için mümkün olan en düşük RTT için çalışıyorlar (blok depolama ve gelecekteki RDMA senaryoları) ve iddia 100G / 25G'nin 40G / 10G'ye kıyasla büyük ölçüde azaltılmış serileştirme gecikmeleri sunduğuydu. İlgili tüm kişiler, uçtan uca oyunda (herhangi biri RTT'ye zarar verebilecek veya RTT'ye yardımcı olabilecek) çok fazla faktör olduğunun farkındadır ve NIC'lerden ve anahtar bağlantı noktaları serileştirme gecikmelerinden daha fazladır. Yine de, serileştirme gecikmeleri ile ilgili konu, muhtemelen çok maliyetli bir teknoloji boşluğunu atlamadan optimize edilmesi zor olan bir şey olduğu için ortaya çıkmaya devam ediyor.

Biraz aşırı basitleştirilmiş (kodlama şemalarını dışarıda bırakarak), serileştirme süresi, 10G için ~ 1.2μs'de başlamamızı sağlayan bit sayısı / bit hızı olarak hesaplanabilir (ayrıca bkz. Wiki.geant.org ).

For a 1518 byte frame with 12'144bits,
at 10G (assuming 10*10^9 bits/s), this will give us ~1.2μs
at 25G (assuming 25*10^9 bits/s), this would be reduced to ~0.48μs 
at 40G (assuming 40*10^9 bits/s), one might expect to see ~0.3μs
at 100G (assuming 100*10^9 bits/s), one might expect to see ~0.12μs

Şimdi ilginç kısım için. Fiziksel katmanda 40G yaygın olarak 10G 4 şeritli olarak ve 100G 4G 25G şeritli olarak yapılır. QSFP + veya QSFP28 varyantına bağlı olarak, bu bazen 4 çift lif şeridi ile yapılır, bazen QSFP modülünün kendi başına bazı xWDM yaptığı tek bir fiber çiftinde lambdalarla bölünür. 1x 40G veya 2x 50G hatta 1x 100G şerit için spesifikasyonlar olduğunu biliyorum, ama şu an için bunları bir kenara bırakalım.

Çok şeritli 40G veya 100G bağlamında serileştirme gecikmelerini tahmin etmek için, 100G ve 40G NIC'lerin ve anahtar bağlantı noktalarının gerçekte "bitleri kablo (lar) 'a nasıl dağıtacağını" bilmek gerekir. Burada ne yapılıyor?

Biraz Etherchannel / LAG gibi mi? NIC / switchports belirli bir kanal boyunca bir "akış" ın çerçevelerini gönderir (okuma: hangi çerçevenin kapsamı boyunca kullanılan karma algoritmasının aynı karma sonucu)? Bu durumda, sırasıyla 10G ve 25G gibi serileştirme gecikmelerini bekleriz. Ama esasen, bu 40G bağlantıyı sadece 4x10G'lik bir LAG yapar ve tek akış verimini 1x10G'ye düşürür.

Biraz yuvarlak robin gibi bir şey mi? Her bit 4 (alt) kanal boyunca dağılmış robin mi? Bu aslında paralelleştirme nedeniyle daha düşük serileştirme gecikmelerine neden olabilir, ancak sipariş içi teslimatla ilgili bazı soruları gündeme getirir.

Frame-wise round-robin gibi bir şey mi? Tüm ethernet çerçeveleri (veya diğer uygun büyüklükte bit parçaları) 4 kanal üzerinden gönderilir, yuvarlak bir şekilde dağıtılır.

Tamamen başka bir şey mi?

Yorumlarınız ve işaretçileriniz için teşekkürler.

Yanıtlar:


14

Birden çok şeride bölünen bölüme IEEE 802.3ba standardında Fiziksel Kodlama Alt Katmanı denir . Gary Nicholl'un bu sunumu iyi bir genel bakış sunuyor.

Kısa açıklama, verilerin her biri 64 bitlik bloklarda birden çok şeride bölünmesidir ( saat kurtarma için tel üzerinde 66 bit olarak kodlanmıştır ). Bu nedenle paket boyutu N * 64 biti (4 şerit için = 32 bayt) aşar aşmaz, tüm şeritleri tam olarak kullanabilir. Kodlamada biraz gecikme olacaktır, ancak bu muhtemelen uygulamaya özgüdür.

Bu diyagram yukarıda bağlantılı sunumdan alınmıştır: Fiziksel Kodlama Alt Katman işlevi


1
"Kodlamada biraz gecikme olacak" , ah oh. Şimdi başka bir kutu solucan açtın! Gecikme ne kadar? Tüm paket gecikmelerini etkiler mi? Vb ...
boru

1
Ah, bunun için teşekkürler. Anladığım gibi, bu "Kelimeler" orijinal yazıma koyduğumda "uygun boyutta bit parçaları" dır. Bu yaklaşıyor mu?
Marc 'netztier' Luethi

1
@ Marc'netztier'Luethi Kesinlikle.
jpa

@pipe Evet. Neyse ki "İlgili tüm insanlar çok daha fazla faktör olduğunu biliyor" :)
jpa

2
@ boru iyi, sanırım bunu bir kenara bırakacağız. Bundan sonra ortaya çıkan herhangi bir zorluk, "NIC / Port'un dört şeritte yuvarlanmasına izin vermek için bir kerede yeterli veri (32 bayt) gönderdiğiniz sürece, daha kısa / paralel serileştirme gecikmesi alacaksınız. çok fazla peşindesiniz ". Tabii ki IP başlıklı ve yüksüz yarı pişmiş Ethernet çerçevesi bu sınırı geçecektir. Bu nedenle: boş ver.
Marc 'netztier' Luethi

16

Düşünüyorsun.

Kullanılan şerit sayısı önemli değil. İster 1, 2, ister 5 şeritten 50 Gbit / sn aktarıyor olun, serileştirme gecikmesi 20 ps / bit'tir. Yani, kullanılan şeritlerden bağımsız olarak her 100 ps'de 5 bit elde edersiniz. Verilerin şeritlere bölünmesi ve yeniden birleştirilmesi PCS alt katmanında gerçekleşir ve fiziksel katmanın üstünde bile görünmezdir. Durumunuz ne olursa olsun, bir 100G PHY'nin tek bir şerit üzerinde 10 bit (her biri 10 ps, ​​toplam 100 ps) veya 10 şeritten (her biri 100 ps, ​​toplam 100 ps) paralel olarak 10 bit serileştirmesi önemli değildir. o PHY'yi yeniden inşa ediyoruz.

Doğal olarak, 100 Gbit / sn, 50 Gbit / sn.'lik yarı gecikmeye sahiptir, bu nedenle seri hale getirdiğinizde (fiziksel katmanın üstünde), daha hızlı bir çerçeve iletilir.

Arayüzdeki dahili serileştirme ile ilgileniyorsanız, hız sınıfı için kullanılan MII varyantına bakmanız gerekir. Bununla birlikte, bu serileştirme anında veya gerçek MDI serileştirmesine paralel olarak gerçekleşir - bu biraz zaman alır, ancak bu gerçek bir donanım parçasına bağlıdır ve tahmin edilmesi imkansızdır (2-5 ps boyunca bir şey 100 Gbit / sn için tahminim ol). Bu konuda endişelenmem, çünkü daha büyük faktörler söz konusudur. 10 ps, ​​ek 2 milimetre (!) Kablodan alacağınız iletim gecikme sırasıdır.

40 Gbit / s için her biri 10 Gbit / s'lik dört şerit kullanmak, dört 10 Gbit / s bağlantıyı toplamakla aynı DEĞİLDİR. 40 Gbit / s bağlantı - şerit sayısına bakılmaksızın - LAGged 10 Gbit / s bağlantıların yapamadığı tek bir 40 Gbit / s akış taşıyabilir. Ayrıca, 40G serileştirme gecikmesi 10G'nin sadece 1 / 4'üdür.


3
Yorumun için teşekkürler. Yani, 10/25/40 / 100G'de, kare başına bit sayısı / bit hızı = serileştirme gecikmesinin temel kuralının , verilen fiziksel katmanın kaç şeridi kullansa da (ver veya bazı marjinal farklılıklar alabilir)?
Marc 'netztier' Luethi

6
Evet. Çok şeritli Ethernet, bu bağlamda toplu bağlantılardan çok farklıdır.
Zac67
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.