Apakah benar dalam mengasumsikan bahwa ASIC untuk router atau switch interface akan mengungguli penggunaan CPU x86 untuk semua pemrosesan paket yang akan sangat menderita gangguan CPU?
Sulit untuk mengatakan secara spesifik apakah interupsi adalah batasan, karena kami tidak menyebutkan CPU, sistem operasi atau model router tertentu di bagian pertanyaan Anda ini. Secara keseluruhan, ini adalah generalisasi yang aman bahwa CPU untuk keperluan umum tidak dapat menyentuh kinerja packet-switching dari ASIC yang dirancang dengan baik. Ketika saya mengatakan kinerja, saya berbicara tentang metrik RFC 2544 , seperti tingkat penerusan paket-per-detik (NDR), throughput, dan latensi.
Itu bukan untuk mengatakan bahwa tidak ada tempat untuk router berbasis CPU; Hanya saja pengalaman hidup kita memberi tahu kita bahwa CPU tidak dapat mengganti paket secepat ASIC atau FPGA. Kesimpulan saya tentang ASICs / FPGAs yang lebih cepat dari CPU multi-core tampaknya diperkuat oleh T&J ini pada Electronics.SE .
Kinerja PCI-bus
Saya tahu kecepatan bus x86 memaksakan maksimum teoritis untuk beralih bandwidth terutama sekali tarif melebihi 1Gbps.
Saya tidak yakin bus mana yang Anda maksudkan di sini, tetapi informasi yang Anda miliki mungkin agak ketinggalan jaman. Bus PCI Express yang digunakan dalam kebanyakan sistem memiliki skala jauh di atas 10Gbps saat ini.
PCIe 2.0 menggunakan skema pengkodean 8b / 10b yang menghukumnya sekitar 20% untuk overhead jalur pengkodean PCI; sebelum penalti pengkodean itu, PCIe 2.0 memberikan 4Gbps bandwidth mentah per jalur. Namun, bahkan dengan penalti 20% 8b / 10b, PCIe 2.0 x8 (8 PCIe lane) diperas lebih dari 25Gbps; dengan demikian Anda dapat dengan mudah menjalankan adaptor 10GE tunggal pada tingkat garis dua arah pada kartu PCIe 2.0 x8.
PCIe 3.0 (digunakan dalam chipset Intel Ivy Bridge) menggunakan pengkodean 128b / 130b, yang sangat meningkatkan efisiensi PCI-bus, dan menggandakan bandwidth per-lane. Dengan demikian kartu PCIe 3.0 x8 dapat menghasilkan 63Gbps (8.0 * 8 * 128/132). Ini bukan apa-apa untuk bersin; Anda dapat dengan aman mengemas dua tingkat garis 10GE pada satu riser tunggal dengan tingkat kinerja tersebut.
Kinerja Cisco vs Vyatta
Peringatan: Saya menggunakan materi pemasaran yang disediakan vendor untuk semua perbandingan ...
- Bagaimana kecepatan switching ASIC Catalyst 6500 Sup2T, misalnya, dibandingkan dengan kecepatan switching x86 yang realistis yang ditemukan pada OS atau SDN umum?
Ini agak sulit karena kita akan membandingkan sistem switching terdistribusi penuh (Sup2T) dengan sistem switching terpusat (Vyatta), jadi berhati-hatilah menafsirkan hasilnya.
- Sup2T dapat meneruskan dengan kecepatan non-drop hingga 60Mpps dengan fitur yang diaktifkan . Referensi: Buku Putih Arsitektur Catalyst 6500 Sup2T . Perhatikan bahwa ini hanyalah sistem Sup2T yang telanjang tanpa Kartu Penerusan Terdistribusi (DFC). Catatan 1
- Saya telah menemukan hasil tes RFC 2544 untuk penerusan Vyatta 5600 hingga 20,58Mpps tingkat non-drop, dan 70Mpps jika Anda dapat menerima beberapa tetes. Throughput NDR adalah 72Gbps. Referensi: Vyatta 5600 vRouter Performance Test (SDN Central) . Registrasi SDN Central diperlukan untuk melihat laporan lengkap.
- Bagaimana kecepatan switching Cisco 7200VXR-NPE-G2, misalnya, dibandingkan dengan ...
Vyatta menghembuskan NPE-G2 keluar dari air, berdasarkan kinerja; NPE-G2 dapat melakukan hingga 2Mpps berdasarkan pada Cisco NPE-G2 Datasheet . Itu tidak benar-benar perbandingan yang adil meskipun mengingat usia NPE-G2, vs sistem Intel 10-Core baru yang dikemas dengan kartu 10GE.
Bagaimana router biasa atau mengganti latensi dibandingkan dengan OS umum yang melakukan fungsi yang sama?
Itu pertanyaan yang fantastis. Makalah ini menunjukkan bahwa Vyatta memiliki latensi yang lebih tinggi, tetapi saya ingin melihat pengujian semacam ini dilakukan terhadap CPU Intel E5 series.
Ringkasan
Rekap perbandingan berdampingan Sup2T vs Brocade Vyatta 5600:
- Sup2T: 60Mpps NDR IPv4 dengan fitur (seperti ACL)
- Vyatta dan Intel E5: hingga 20Mpps IPv4 NDR tanpa fitur , atau 70Mpps jika Anda dapat menerima sejumlah kecil tetes.
Sup2T masih menang menurut saya, terutama ketika Anda melihat apa yang Anda dapatkan dengan Sup2T (skala didistribusikan ke 720Mpps, MPLS, MIB yang tak terhitung jumlahnya, switching Layer2 dan Layer3, dll ...).
Jika yang Anda pedulikan adalah kinerja pensakelaran mentah, Anda bisa mendapatkan angka kinerja terhormat dari CPU x86. Namun, di jaringan nyata, ini bukan hanya tentang siapa yang memiliki angka drag-race terbaik; kebanyakan orang perlu khawatir tentang fitur (lihat: Kapan saya harus fokus pada setiap nilai untuk penilaian switch? ). Faktor besar yang perlu dipertimbangkan adalah jumlah fitur yang tersedia, dan bagaimana mereka berintegrasi dengan seluruh jaringan Anda.
Ada baiknya juga melihat kelayakan operasional menggunakan sistem berbasis x86 di perusahaan Anda. Saya belum pernah menggunakan Brocade + Vyatta sendiri, tetapi mereka bisa melakukan pekerjaan yang layak untuk membangun perintah pertunjukan yang baik dan mendukung kait ke dalam kotak. Jika mereka memang mendukung cukup banyak fitur, dan sistem mereka berskala baik di jaringan nyata , maka lakukan jika itu yang Anda suka.
Namun, jika seseorang menjadi murah dan hanya membangun kotak linux + bird
/ quagga
+ ACLs + qos, saya tidak ingin menjadi orang yang mendukung solusi itu. Saya selalu berpendapat bahwa komunitas open-source melakukan inovasi besar, tetapi dukungan sistem mereka tidak ada jika dibandingkan dengan vendor jaringan utama (Arista / Cisco / Force10 / Juniper). Kita hanya perlu melihat iptables
dan tc
melihat seberapa berbelit-belitnya Anda bisa membuat CLI. Saya kadang-kadang mengajukan pertanyaan dari orang-orang yang melihat output ip link show
atau ifconfig
dan menjadi bingung karena penghitung paket tidak benar; biasanya vendor jaringan utama melakukan pekerjaan yang jauh lebih baik menguji penghitung mereka, vs apa yang saya lihat di driver NIC linux.
Catatan Akhir :
Catatan 1 Tidak ada yang peduli dengan kinerja akan pernah membeli Sup2T dan gagal mengisi sasis dengan DFC. Sup2T dapat beralih pada 60Mpps, tetapi sasis dimuat dengan skala DFCs menjadi 720Mpps.
Catatan 2 Tes Vyatta berjalan pada prosesor ganda, 10-core Intel E5-2670v2 pada 2,5Ghz per inti; jika kita menghitung satu inti sebagai dua core virtual (yaitu hyper-threading), itu total 40 core untuk packet switching. Vyatta dikonfigurasikan dengan Intel x520-DA2 NICs, dan menggunakan Brocade Vyatta versi 3.2.