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.
Anda terlalu banyak berpikir.
Jumlah jalur yang digunakan tidak terlalu penting. Apakah Anda mengangkut 50 Gbit / detik lebih dari 1, 2, atau 5 jalur, penundaan serialisasi adalah 20 ps / bit. Jadi, Anda akan mendapatkan 5 bit setiap 100 ps, terlepas dari jalur yang digunakan. Pemisahan data menjadi jalur dan penggabungan kembali terjadi di sublayer PCS dan tidak terlihat bahkan di atas lapisan fisik. Terlepas dari situasi Anda, tidak masalah apakah PHY 100G membuat serial 10 bit secara berurutan pada satu jalur (masing-masing 10 ps, total 100 ps) atau secara paralel di atas 10 jalur (masing-masing 100 ps, total 100 ps) - kecuali jika Anda sedang membangun PHY itu.
Secara alami, 100 Gbit / s memiliki setengah keterlambatan 50 Gbit / s dan seterusnya, sehingga semakin cepat Anda membuat serial (di atas lapisan fisik), semakin cepat frame ditransmisikan.
Jika Anda tertarik dengan serialisasi internal pada antarmuka, Anda harus melihat varian MII yang digunakan untuk kelas kecepatan. Namun, serialisasi ini terjadi sambil jalan atau bersamaan dengan serialisasi MDI yang sebenarnya - memang membutuhkan waktu beberapa menit, tetapi itu tergantung pada perangkat keras yang sebenarnya dan mungkin tidak mungkin untuk diprediksi (sesuatu sepanjang 2-5 ps akan menjadi tebakan saya untuk 100 Gbit / s). Saya sebenarnya tidak khawatir tentang ini karena ada banyak faktor yang lebih besar yang terlibat. 10 ps adalah urutan latensi transmisi yang akan Anda dapatkan dari kabel tambahan 2 milimeter (!).
Menggunakan empat jalur masing-masing 10 Gbit / detik untuk 40 Gbit / detik TIDAK sama dengan menggabungkan empat tautan 10 Gbit / detik. Tautan 40 Gbit / s - terlepas dari jumlah lajur - dapat mengangkut aliran 40 Gbit / s tunggal yang tidak dapat dihubungkan dengan LAGged 10 Gbit / s. Juga, penundaan serialisasi 40G hanya 1/4 dari 10G.
sumber