Baru-baru ini saya terlibat dalam diskusi tentang persyaratan latensi terendah untuk jaringan Leaf / Spine (atau CLOS) untuk menjadi tuan rumah platform OpenStack.
Arsitek sistem berjuang untuk RTT serendah mungkin untuk transaksi mereka (blok penyimpanan dan skenario RDMA masa depan), dan klaimnya adalah 100G / 25G menawarkan penundaan serialisasi yang sangat berkurang dibandingkan dengan 40G / 10G. Semua orang yang terlibat sadar bahwa ada lebih banyak faktor di ujung ke ujung permainan (yang dapat melukai atau membantu RTT) daripada sekadar NIC dan mengalihkan penundaan serialisasi port. Namun, topik tentang penundaan serialisasi terus bermunculan, karena mereka adalah satu hal yang sulit dioptimalkan tanpa melompati kesenjangan teknologi yang mungkin sangat mahal.
Sedikit terlalu disederhanakan (meninggalkan skema pengkodean), waktu serialisasi dapat dihitung sebagai laju bit / bit , yang memungkinkan kita mulai ~ 1,2μs untuk 10G (juga lihat 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
Sekarang untuk bagian yang menarik. Pada lapisan fisik, 40G umumnya dilakukan sebagai 4 lajur 10G dan 100G dilakukan sebagai 4 lajur 25G. Bergantung pada varian QSFP + atau QSFP28, ini kadang-kadang dilakukan dengan 4 pasang untaian serat, kadang-kadang dibagi oleh lambdas pada pasangan serat tunggal, di mana modul QSFP melakukan beberapa xWDM sendiri. Saya tahu bahwa ada spesifikasi untuk jalur 1x 40G atau atau 2x 50G atau bahkan 1x 100G, tapi mari kita kesampingkan itu untuk sementara waktu.
Untuk memperkirakan keterlambatan serialisasi dalam konteks multi-lajur 40G atau 100G, kita perlu tahu bagaimana NIC 100G dan 40G dan mengganti port sebenarnya "mendistribusikan bit ke (set) kawat", "bisa dikatakan demikian. Apa yang sedang dilakukan di sini?
Apakah ini sedikit seperti Etherchannel / LAG? NIC / switchports mengirim frame dari satu "aliran" (baca: hasil hashing yang sama dari algoritma hashing apa pun yang digunakan di mana lingkup frame) di satu saluran yang diberikan? Dalam hal ini, kami mengharapkan penundaan serialisasi masing-masing seperti 10G dan 25G. Tetapi pada dasarnya, itu akan membuat tautan 40G hanya LAG 4x10G, mengurangi throughput aliran tunggal menjadi 1x10G.
Apakah itu seperti round-robin yang sedikit bijak? Setiap bit didistribusikan secara round-robin melalui 4 (sub) saluran? Itu mungkin sebenarnya menghasilkan penundaan serialisasi yang lebih rendah karena paralelisasi, tetapi menimbulkan beberapa pertanyaan tentang pengiriman dalam urutan.
Apakah itu seperti bingkai-bijaksana round-robin? Seluruh frame ethernet (atau potongan bit yang sesuai lainnya) dikirim melalui 4 saluran, didistribusikan dengan mode round robin?
Apakah ini sepenuhnya lain, seperti ...
Terima kasih atas komentar dan petunjuk Anda.