ASICs so với x86 định tuyến / chuyển đổi mục đích chung


14

SysAdmins thường cố gắng thuyết phục tôi rằng HĐH đa năng x86 có thể hoạt động tốt như các bộ định tuyến có CPU MHz thấp và silicon chuyên dụng (tức là ASIC) với tốc độ đường truyền 1Gbps. Suy nghĩ này được chuyển sang lĩnh vực SDN, chẳng hạn như các công tắc ảo trong VMWare.

Tôi nghĩ rằng tôi trực giác hiểu được sự khác biệt giữa lợi ích của ASIC so với x86 trong việc xử lý lưu lượng truy cập, đặc biệt là đối với các vi mạch. Có đúng không khi cho rằng ASIC cho bộ định tuyến hoặc giao diện chuyển đổi sẽ vượt trội hơn so với việc sử dụng CPU x86 cho tất cả các xử lý gói sẽ bị ảnh hưởng rất nhiều từ các ngắt CPU? Tôi biết HĐH (Windows, Linux hoặc chuyên dụng) góp phần rất lớn vào hiệu năng của phần cứng để định tuyến hoặc chuyển đổi. Và tôi biết tốc độ bus x86 áp đặt mức tối đa theo lý thuyết cho việc chuyển đổi băng thông, đặc biệt khi tốc độ vượt quá 1Gbps.

  1. Làm thế nào để tốc độ chuyển đổi Catalyst 6500 Sup2T ASIC, ví dụ, so với tốc độ chuyển đổi x86 thực tế được tìm thấy trên các hệ điều hành hoặc SDN chung?

  2. Làm thế nào để tốc độ chuyển đổi Cisco 7200VXR-NPE-G2, ví dụ, so sánh với ...

  3. Làm thế nào để bộ định tuyến hoặc chuyển đổi độ trễ điển hình so với các hệ điều hành chung thực hiện cùng chức năng?

LƯU Ý: Tôi không muốn nghe thấy giá trị của vị trí chuyển đổi ảo hoặc vai trò của chúng trong mạng ảo và vật lý. Tôi cũng không muốn tranh luận về giá trị của SDN khi triển khai ứng dụng.

Câu trả lời:


19

Có đúng không khi cho rằng ASIC cho bộ định tuyến hoặc giao diện chuyển đổi sẽ vượt trội hơn so với việc sử dụng CPU x86 cho tất cả các xử lý gói sẽ bị ảnh hưởng rất nhiều từ các ngắt CPU?

Thật khó để nói cụ thể liệu các ngắt có phải là một hạn chế hay không, vì chúng tôi không đặt tên cho các mô hình CPU, hệ điều hành hoặc bộ định tuyến cụ thể trong phần câu hỏi này của bạn. Nhìn chung, đây là một khái quát an toàn rằng CPU đa năng không thể chạm vào hiệu suất chuyển mạch gói của ASIC được thiết kế tốt. Khi tôi nói về hiệu suất, tôi đang nói về các số liệu RFC 2544 , chẳng hạn như tốc độ chuyển tiếp gói không mất mỗi giây (NDR), thông lượng và độ trễ.

Điều đó không có nghĩa là không có nơi dành cho bộ định tuyến dựa trên CPU; chỉ là những trải nghiệm cuộc sống của chúng ta cho chúng ta biết rằng CPU không thể chuyển đổi các gói nhanh như ASIC hoặc FPGA. Kết luận của tôi về ASIC / FPGA nhanh hơn CPU đa lõi dường như được củng cố bởi Q & A này trên Electronics.SE .

Hiệu suất bus PCI

Tôi biết tốc độ bus x86 áp đặt mức tối đa theo lý thuyết cho việc chuyển đổi băng thông, đặc biệt khi tốc độ vượt quá 1Gbps.

Tôi không chắc chắn những hạn chế xe buýt nào bạn đề cập ở đây, nhưng thông tin bạn có thể hơi lỗi thời. Xe buýt PCI Express được sử dụng trong hầu hết các hệ thống có quy mô tốt trên 10Gbps ngày nay.

PCIe 2.0 sử dụng sơ đồ mã hóa 8b / 10b đã phạt khoảng 20% ​​cho chi phí mã hóa làn đường PCI; trước hình phạt mã hóa đó, PCIe 2.0 cung cấp 4Gbps băng thông thô trên mỗi làn. Tuy nhiên, ngay cả với mức phạt 20% 8b / 10b, PCIe 2.0 x8 (8 làn PCIe) vắt trên 25Gbps; do đó, bạn có thể dễ dàng chạy bộ điều hợp 10GE duy nhất ở tốc độ dòng hai chiều trên thẻ PCIe 2.0 x8.

PCIe 3.0 (được sử dụng trong chipset Intel Ivy Bridge) sử dụng mã hóa 128b / 130b, giúp cải thiện đáng kể hiệu quả của bus PCI và tăng gấp đôi băng thông trên mỗi làn. Do đó, thẻ PCIe 3.0 x8 có thể cung cấp 63Gbps (8.0 * 8 * 128/132). Điều này không có gì để hắt hơi; bạn có thể đóng gói hai mức 10GE tốc độ dòng trên một riser duy nhất với các tỷ lệ hiệu suất đó.

Hiệu suất của Cisco vs Vyatta

Hãy cẩn thận: Tôi đang sử dụng tài liệu tiếp thị do nhà cung cấp cung cấp cho tất cả các so sánh ...

  1. Làm thế nào để tốc độ chuyển đổi Catalyst 6500 Sup2T ASIC, ví dụ, so với tốc độ chuyển đổi x86 thực tế được tìm thấy trên các hệ điều hành hoặc SDN chung?

Đây là một thách thức nhỏ vì chúng ta sẽ so sánh một hệ thống chuyển mạch được phân phối đầy đủ (Sup2T) với hệ thống chuyển mạch tập trung (Vyatta), vì vậy hãy cẩn thận diễn giải kết quả.

  • Sup2T có thể chuyển tiếp với tốc độ không giảm tới 60Mpps với các tính năng được bật . Tham khảo: Giấy trắng Kiến trúc Catalyst 6500 Sup2T . Lưu ý rằng đây chỉ là một hệ thống Sup2T trần không có Thẻ chuyển tiếp phân tán (DFC). Lưu ý 1
  • Tôi đã tìm thấy kết quả thử nghiệm RFC 2544 cho chuyển tiếp Vyatta 5600 với tốc độ không giảm tới 20,58Mpps và 70Mpps nếu bạn có thể chấp nhận một số giọt. Thông lượng NDR là 72Gbps. Tham khảo: Kiểm tra hiệu suất Vyatta 5600 vRouter (Trung tâm SDN) . Cần đăng ký SDN Central để xem báo cáo đầy đủ.
  1. Làm thế nào để tốc độ chuyển đổi Cisco 7200VXR-NPE-G2, ví dụ, so sánh với ...

Vyatta thổi một NPE-G2 ra khỏi nước, hoạt động hiệu quả; NPE-G2 có thể thực hiện tối đa 2Mpp dựa trên Bảng dữ liệu Cisco NPE-G2 . Đó thực sự không phải là một so sánh công bằng mặc dù đã có tuổi của NPE-G2, so với hệ thống Intel 10-Core hoàn toàn mới được đóng gói với thẻ 10GE.

Làm thế nào để bộ định tuyến hoặc chuyển đổi độ trễ điển hình so với các hệ điều hành chung thực hiện cùng chức năng?

Đó là một câu hỏi tuyệt vời. Bài viết này chỉ ra rằng Vyatta có độ trễ cao hơn, nhưng tôi muốn thấy loại thử nghiệm này được thực hiện đối với CPU dòng Intel E5.

Tóm lược

Tóm tắt so sánh song song giữa Sup2T và thổ cẩm Vyatta 5600:

  • Sup2T: 60Mpps NDR IPv4 với các tính năng (như ACL)
  • Vyatta và Intel E5: lên tới 20Mpps IPv4 NDR mà không có tính năng hoặc 70Mpps nếu bạn có thể chấp nhận số lượng nhỏ giọt.

Theo ý kiến ​​của tôi, Sup2T vẫn chiến thắng, đặc biệt là khi bạn nhìn vào những gì bạn nhận được với Sup2T (tỷ lệ phân phối thành 720Mpps, MPLS, vô số MIB, chuyển đổi Layer2 và Layer3, v.v ...).

Nếu tất cả những gì bạn quan tâm là hiệu suất chuyển mạch thô, bạn có thể nhận được số hiệu suất đáng nể từ CPU x86. Tuy nhiên, trong các mạng thực, không thường chỉ là người có số lần đua tốt nhất; hầu hết mọi người cần phải lo lắng về các tính năng (xem: Khi nào tôi nên tập trung vào từng giá trị để đánh giá chuyển đổi? ). Một yếu tố lớn cần xem xét là số lượng tính năng khả dụng và cách chúng tích hợp với phần còn lại của mạng của bạn.

Cũng đáng để xem xét tính khả thi trong hoạt động của việc sử dụng các hệ thống dựa trên x86 trong công ty của bạn. Bản thân tôi chưa sử dụng Brocade + Vyatta, nhưng họ có thể thực hiện tốt công việc xây dựng các lệnh hiển thị tốt và hỗ trợ móc vào hộp. Nếu chúng thực sự hỗ trợ đủ các tính năng và hệ thống của chúng có quy mô tốt trong các mạng thực , thì hãy sử dụng nó nếu đó là những gì bạn thích.

Tuy nhiên, nếu ai đó đi rẻ và chỉ xây dựng một hộp linux + bird/ quagga+ ACLs + qos, tôi sẽ không muốn trở thành người hỗ trợ giải pháp đó. Tôi luôn duy trì rằng cộng đồng nguồn mở thực hiện một công việc tuyệt vời, nhưng khả năng hỗ trợ của hệ thống của họ mờ nhạt khi so sánh với các nhà cung cấp mạng chính thống (Arista / Cisco / Force10 / Juniper). Người ta chỉ cần nhìn vào iptablestcxem bạn có thể tạo ra CLI như thế nào. Thỉnh thoảng tôi có những câu hỏi từ những người nhìn vào đầu ra ip link showhoặc ifconfigbị loại bỏ vì các bộ đếm gói không đúng; thông thường, các nhà cung cấp mạng lớn thực hiện công việc kiểm tra bộ đếm của họ tốt hơn nhiều so với những gì tôi thấy trong trình điều khiển NIC của linux.


Ghi chú cuối :

Lưu ý 1 Không ai quan tâm đến hiệu suất sẽ mua Sup2T và không thể lắp khung máy với DFC. Sup2T có thể chuyển đổi ở tốc độ 60Mpps, nhưng khung gầm được tải với tỷ lệ DFC lên 720Mpps.

Lưu ý 2 Thử nghiệm Vyatta chạy trên bộ xử lý kép, Intel E5-2670v2 10 nhân với tốc độ 2,5Ghz mỗi lõi; nếu chúng ta tính một lõi đơn là hai lõi ảo (tức là siêu phân luồng), thì đó là tổng số 40 lõi để chuyển mạch gói. Vyatta được cấu hình với các Intel Intel x520-DA2 và sử dụng Brocade Vyatta phiên bản 3.2.


1
Bạn có biết kích thước khung hình trong những con số đó là gì không? Bản tóm tắt điều hành cho Vyatta cho biết họ đã đạt được 70Mpps với khung 64B; kích thước khung giống nhau được sử dụng trong các thử nghiệm Sup2T?
Ryan Foley

0

Sê-ri 7200 đang bị từ chối ủng hộ sê-ri ASR vì chúng không thể xử lý chuyển đổi đa gigabit tốc độ dòng. Chất xúc tác và bộ chuyển đổi Nexus có lợi thế chuyển tiếp so với bộ xử lý đa năng NẾU chuyển mạch gói vẫn ở dạng silicon. Nếu lưu lượng phải được chuyển đổi quy trình (nghĩa là nó phải được đánh giá trên CPU thay vì trong ASIC / FPGA), thông lượng của bạn sẽ giảm mạnh và độ trễ tăng. Vì lý do này, nếu bạn cần chuyển đổi thông lượng cao, bạn tách mặt phẳng chuyển tiếp khỏi mặt phẳng định tuyến và tối ưu hóa để giữ càng nhiều chuyển đổi trong silicon của bạn càng tốt.

Trong một số trường hợp, bạn sẽ thấy silicon chuyển đổi mục đích đặc biệt kết hợp với bộ xử lý đa năng (chẳng hạn như các công tắc hộp trắng dự định sử dụng Big Switch hoặc SDN khác để phân phối, phân phối hoặc lớp phủ trên cùng) và trong những trường hợp này, bạn có thể thấy điều tốt nhất của tất cả các thế giới (thông lượng cao, chuyển đổi độ trễ thấp; xử lý công suất cao để xác định lộ trình và chính sách; tích hợp với các khung quản lý như Puppet hoặc Chef).

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.