ASIC vs x86 routing / switching tujuan umum

14

SysAdmins sering mencoba meyakinkan saya bahwa x86 OS untuk keperluan umum dapat berkinerja sama baiknya dengan router dengan CPU MHz rendah dan silikon khusus (yaitu, ASIC) dengan kecepatan baris 1Gbps. Pemikiran ini terbawa ke ranah SDN seperti sakelar virtual di VMWare.

Saya rasa saya secara intuitif memahami perbedaan antara manfaat ASIC vs x86 dalam menangani lalu lintas khususnya sehubungan dengan microbursts. 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? Saya tahu OS (Windows, Linux, atau khusus) sangat berkontribusi pada kinerja perangkat keras untuk rute atau beralih juga. Dan saya tahu kecepatan bus x86 memaksakan maksimum teoritis untuk beralih bandwidth terutama sekali tarif melebihi 1Gbps.

  1. Bagaimana kecepatan switching ASIC Catalyst 6500 Sup2T, misalnya, dibandingkan dengan kecepatan switching x86 yang realistis yang ditemukan pada OS atau SDN umum?

  2. Bagaimana kecepatan switching Cisco 7200VXR-NPE-G2, misalnya, dibandingkan dengan ...

  3. Bagaimana router biasa atau mengganti latensi dibandingkan dengan OS umum yang melakukan fungsi yang sama?

CATATAN: Saya tidak ingin mendengar manfaat penempatan sakelar virtual atau perannya dalam jaringan virtual dan fisik. Saya juga tidak ingin memperdebatkan manfaat SDN untuk waktu penerapan ke aplikasi.

generalnetworkerror
sumber

Jawaban:

19

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 ...

  1. 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.
  1. 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 iptablesdan tcmelihat seberapa berbelit-belitnya Anda bisa membuat CLI. Saya kadang-kadang mengajukan pertanyaan dari orang-orang yang melihat output ip link showatau ifconfigdan 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.

Mike Pennington
sumber
1
Tahukah Anda berapa ukuran bingkai pada gambar-gambar itu? Ringkasan eksekutif untuk Vyatta mengatakan mereka mencapai 70Mpps dengan 64B frame; Apakah ukuran frame yang sama digunakan dalam tes Sup2T?
Ryan Foley
0

Seri 7200 sedang tidak digunakan lagi karena seri ASR karena mereka tidak dapat menangani perpindahan multi-gigabit tingkat baris. Sakelar Catalysts dan Nexus memiliki keunggulan penerusan dibandingkan prosesor tujuan umum JIKA pengalihan paket tetap dalam silikon. Jika lalu lintas harus beralih proses (yaitu harus dievaluasi pada CPU dan bukan di ASIC / FPGA), throughput Anda menurun dan latensi meningkat. Karena alasan ini, jika Anda memerlukan switching throughput tinggi, Anda memisahkan bidang penerusan dari bidang perutean, dan mengoptimalkan untuk menjaga sebanyak mungkin perpindahan silikon Anda.

Dalam beberapa kasus, Anda akan melihat silikon switching tujuan-khusus dipasangkan dengan prosesor tujuan umum (seperti sakelar kotak putih yang dimaksudkan untuk menggunakan Big Switch atau SDN lain untuk rak atas, distribusi, atau overlay), dan dalam kasus ini, Anda dapat melihat yang terbaik dari semua dunia (throughput tinggi, switching latensi rendah; pemrosesan daya tinggi untuk rute dan penentuan kebijakan; integrasi dengan kerangka kerja manajemen seperti Wayang atau Koki).

DTK
sumber