Thời gian tuần tự hóa và tuần tự hóa trong Ethernet 40G / 10G và 100G / 25G


15

Gần đây tôi đã tham gia vào các cuộc thảo luận về các yêu cầu độ trễ thấp nhất cho mạng Lá / Cột sống (hoặc CLOS) để lưu trữ nền tảng OpenStack.

Các kiến ​​trúc sư hệ thống đang cố gắng đạt RTT thấp nhất có thể cho các giao dịch của họ (lưu trữ khối và các kịch bản RDMA trong tương lai), và tuyên bố là 100G / 25G cung cấp độ trễ tuần tự giảm đáng kể so với 40G / 10G. Tất cả những người liên quan đều biết rằng có rất nhiều yếu tố trong trò chơi từ đầu đến cuối (bất kỳ yếu tố nào có thể làm tổn thương hoặc giúp đỡ RTT) hơn là chỉ các lỗi trì hoãn và chuyển đổi cổng. Tuy nhiên, chủ đề về sự chậm trễ nối tiếp vẫn xuất hiện, vì chúng là một điều khó tối ưu hóa nếu không thu hẹp khoảng cách công nghệ có thể rất tốn kém.

Một chút đơn giản hóa (bỏ qua các sơ đồ mã hóa), thời gian tuần tự hóa có thể được tính là tốc độ số bit / bit , cho phép chúng tôi bắt đầu ở mức ~ 1,2μs cho 10G (cũng xem 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

Bây giờ cho bit thú vị. Ở lớp vật lý, 40G thường được thực hiện là 4 làn 10G và 100G được thực hiện là 4 làn 25G. Tùy thuộc vào biến thể QSFP + hoặc QSFP28, đôi khi điều này được thực hiện với 4 cặp sợi quang, đôi khi nó được phân chia bởi lambdas trên một cặp sợi đơn, trong đó mô-đun QSFP tự thực hiện một số xWDM. Tôi biết rằng có thông số kỹ thuật cho các làn đường 1x 40G hoặc 2x 50G hoặc thậm chí 1x 100G, nhưng hãy tạm gác chúng sang một bên.

Để ước tính độ trễ xê-ri hóa trong bối cảnh của nhiều làn 40G hoặc 100G, người ta cần biết các cổng 100G và 40G và các cổng chuyển đổi thực sự "phân phối các bit cho (các) dây" như thế nào. Điều gì đang được thực hiện ở đây?

Có phải nó hơi giống Etherchannel / LAG không? Các NIC / tổng đài gửi các khung của một "luồng" (đọc: kết quả băm giống nhau của bất kỳ thuật toán băm nào được sử dụng trên phạm vi của khung) trên một kênh nhất định? Trong trường hợp đó, chúng tôi mong đợi sự chậm trễ nối tiếp như 10G và 25G, tương ứng. Nhưng về cơ bản, điều đó sẽ làm cho một liên kết 40G chỉ là LAG 4x10G, giảm lưu lượng dòng chảy xuống còn 1x10G.

Nó có phải là một cái gì đó giống như vòng tròn bit-khôn ngoan? Mỗi bit được luân chuyển vòng tròn trên 4 kênh (phụ)? Điều đó thực sự có thể dẫn đến sự chậm trễ tuần tự hóa thấp hơn vì song song hóa, nhưng đặt ra một số câu hỏi về giao hàng theo thứ tự.

Đây có phải là một cái gì đó giống như vòng tròn thông minh không? Toàn bộ khung ethernet (hoặc các bit có kích thước phù hợp khác) được gửi qua 4 kênh, được phân phối theo kiểu vòng tròn?

Có phải đôi khi hoàn toàn khác, chẳng hạn như ...

Cảm ơn ý kiến ​​và gợi ý của bạn.

Câu trả lời:


14

Phần phân chia thành nhiều làn được gọi là Lớp con Mã hóa vật lý theo tiêu chuẩn IEEE 802.3ba. Bài thuyết trình này của Gary Nicholl cho một cái nhìn tổng quan về nó.

Giải thích ngắn gọn là dữ liệu được chia thành nhiều làn trong các khối 64 bit mỗi khối ( được mã hóa trên dây là 66 bit để phục hồi xung nhịp). Do đó, ngay khi kích thước gói vượt quá N * 64 bit (= 32 byte cho 4 làn), nó có thể sử dụng đầy đủ tất cả các làn. Sẽ có một số chậm trễ trong mã hóa, nhưng đó có thể là việc triển khai cụ thể.

Sơ đồ này là từ bản trình bày được liên kết ở trên: Chức năng lớp mã hóa vật lý


1
"Sẽ có một số chậm trễ trong mã hóa" , uh oh. Bây giờ bạn đã mở ra một lon giun khác! Bao nhiêu là sự chậm trễ? Nó có ảnh hưởng đến sự chậm trễ của tất cả các gói không? V.v ...
đường ống

1
À, cảm ơn vì điều đó. Theo cách tôi hiểu, những "Từ" này là "các bit có kích thước phù hợp", như tôi đã đặt nó trong bài viết gốc của mình. Điều đó đến gần?
Marc 'netztier' Luethi

1
@ Marc'netztier'Luethi Chính xác.
JPA

@pipe Vâng. May mắn thay "Tất cả những người liên quan đều biết rằng có nhiều yếu tố hơn" :)
jpa

2
@pipe tốt, tôi nghĩ chúng ta sẽ bỏ qua chuyện đó. Bất kỳ thử thách nào được đưa ra kể từ bây giờ, tôi sẽ trả lời bằng "miễn là bạn gửi đủ dữ liệu cùng một lúc (32byte) để cho phép NIC / Cổng quay vòng qua bốn làn, bạn sẽ nhận được độ trễ nối tiếp ngắn hơn / song song Các bạn đang theo đuổi rất nhiều ". Tất nhiên, bất kỳ khung Ethernet nào được nướng với tiêu đề IP và không có tải trọng sẽ vượt qua giới hạn đó. Do đó: không bao giờ.
Marc 'netztier' Luethi

16

Bạn đang suy nghĩ quá mức.

Số làn đường được sử dụng không thực sự quan trọng. Cho dù bạn vận chuyển 50 Gbit / s trên 1, 2 hoặc 5 làn, độ trễ tuần tự hóa là 20 ps / bit. Vì vậy, bạn sẽ nhận được 5 bit cứ sau 100 ps, ​​bất kể làn đường được sử dụng. Việc chia dữ liệu thành các làn và kết hợp lại diễn ra trong lớp con PCS và vô hình ngay cả trên lớp vật lý. Bất kể tình huống của bạn là gì, việc 100G PHY tuần tự hóa 10 bit liên tục trên một làn đường (10 ps mỗi lần, tổng cộng 100 ps) hay song song trên 10 làn (mỗi lượt 100 ps, ​​tổng cộng 100 ps) - trừ khi bạn ' Đang xây dựng mà PHY.

Đương nhiên, 100 Gbit / s có độ trễ bằng một nửa 50 Gbit / s, do đó, bạn càng tuần tự hóa nhanh hơn (trên đỉnh của lớp vật lý), khung hình được truyền càng nhanh.

Nếu bạn quan tâm đến việc tuần tự hóa nội bộ trong giao diện, bạn cần xem xét biến thể MII đang được sử dụng cho lớp tốc độ. Tuy nhiên, việc tuần tự hóa này diễn ra nhanh chóng hoặc song song với việc xê-ri hóa MDI thực tế - mất một khoảng thời gian nhưng điều đó tùy thuộc vào phần cứng thực tế và có thể không dự đoán được (điều gì đó trong khoảng 2-5 ps sẽ là dự đoán của tôi cho 100 Gbit / s). Tôi sẽ không thực sự lo lắng về điều này vì có nhiều yếu tố lớn hơn liên quan. 10 ps là thứ tự độ trễ truyền bạn nhận được từ thêm 2 mm (!) Cáp.

Sử dụng bốn làn đường 10 Gbit / s cho mỗi 40 Gbit / s KHÔNG giống như tổng hợp bốn liên kết 10 Gbit / s. Liên kết 40 Gbit / s - bất kể số làn đường - có thể vận chuyển một luồng 40 Gbit / s mà LAGged 10 liên kết Gbit / s không thể. Ngoài ra, độ trễ serialization của 40G chỉ bằng 1/4 so với 10G.


3
Cám ơn bạn đã góp ý. Vì vậy, bạn đang nói rằng trên 10/25/40 / 100G, quy tắc ngón tay cái của số bit trên mỗi khung hình / tốc độ bit = độ trễ tuần tự vẫn có hiệu lực, bất kể có bao nhiêu làn đường mà lớp vật lý đã cho sử dụng (cho hoặc mất một số khác biệt cận biên)?
Marc 'netztier' Luethi

6
Đúng. Ethernet đa làn rất khác với các liên kết tổng hợp về mặt này.
Zac67
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.