ASICs vs x86 การกำหนดเส้นทาง / การเปลี่ยนวัตถุประสงค์ทั่วไป


14

SysAdmins มักจะพยายามโน้มน้าวฉันว่า x86 ระบบปฏิบัติการทั่วไปสามารถทำงานได้ดีเท่ากับเราเตอร์ที่มีซีพียู MHz ต่ำและซิลิคอนเฉพาะ (เช่น ASICs) ที่อัตราสาย 1Gbps ความคิดนี้นำไปสู่อาณาจักร SDN เช่นสวิตช์เสมือนใน VMware

ฉันคิดว่าฉันเข้าใจความแตกต่างระหว่างประโยชน์ของ ASICs กับ x86 ในการจัดการทราฟฟิกโดยเฉพาะอย่างยิ่งเกี่ยวกับ microburst ถูกต้องหรือไม่ถ้าสมมติว่า ASIC สำหรับเราเตอร์หรือสวิตช์อินเตอร์เฟสจะมีประสิทธิภาพสูงกว่าการใช้ x86 CPU สำหรับการประมวลผลแพ็กเก็ตทั้งหมดซึ่งจะได้รับผลกระทบอย่างมากจากการขัดจังหวะของ CPU? ฉันรู้ว่าระบบปฏิบัติการ (Windows, Linux หรือเฉพาะ) มีส่วนช่วยอย่างมากต่อประสิทธิภาพของฮาร์ดแวร์ในการกำหนดเส้นทางหรือเปลี่ยนเช่นกัน และฉันรู้ว่าความเร็วบัส x86 กำหนดค่าสูงสุดตามทฤษฎีเพื่อเปลี่ยนแบนด์วิดท์โดยเฉพาะเมื่ออัตราเกิน 1Gbps

  1. ตัวอย่างเช่นความเร็วในการสลับ Catalyst 6500 Sup2T ASIC เปรียบเทียบกับความเร็วในการสลับ x86 ที่เหมือนจริงที่พบในระบบปฏิบัติการทั่วไปหรือ SDN อย่างไร

  2. ความเร็วในการสลับของ Cisco 7200VXR-NPE-G2 เป็นอย่างไรเมื่อเปรียบเทียบกับ ...

  3. เราเตอร์ทั่วไปหรือสวิตช์เวลาแฝงเปรียบเทียบกับระบบปฏิบัติการทั่วไปที่ทำหน้าที่เดียวกันได้อย่างไร

หมายเหตุ: ฉันไม่ต้องการฟังประโยชน์ของการจัดวางสวิตช์เสมือนหรือบทบาทของสวิตช์เหล่านั้นภายในเครือข่ายเสมือนและฟิสิคัล ฉันไม่ต้องการที่จะถกเถียงข้อดีของ SDN ในการปรับใช้แอพพลิเคชั่น

คำตอบ:


19

ถูกต้องหรือไม่ถ้าสมมติว่า ASIC สำหรับเราเตอร์หรือสวิตช์อินเตอร์เฟสจะมีประสิทธิภาพสูงกว่าการใช้ x86 CPU สำหรับการประมวลผลแพ็กเก็ตทั้งหมดซึ่งจะได้รับผลกระทบอย่างมากจากการขัดจังหวะของ CPU?

เป็นการยากที่จะพูดโดยเฉพาะว่าการขัดจังหวะเป็นข้อ จำกัด หรือไม่เนื่องจากเราไม่ได้ตั้งชื่อซีพียูระบบปฏิบัติการหรือเราเตอร์รุ่นเฉพาะในส่วนของคำถามของคุณ โดยรวมแล้วมันเป็นลักษณะทั่วไปที่ปลอดภัยที่ซีพียูเอนกประสงค์ไม่สามารถสัมผัสประสิทธิภาพการเปลี่ยนแพ็คเก็ตของ ASIC ที่ออกแบบมาอย่างดี เมื่อฉันพูดถึงการแสดงฉันกำลังพูดถึงRFC 2544ตัวชี้วัดของเช่นอัตราการส่งต่อ (NDR) ของแพ็กเก็ตต่อวินาที (NDR) ปริมาณงานและเวลาแฝง

ไม่ได้หมายความว่าไม่มีที่สำหรับเราเตอร์ที่ใช้ CPU เพียงแค่ว่าประสบการณ์ชีวิตของเราบอกเราว่า CPU ไม่สามารถสลับแพ็คเก็ตได้อย่างรวดเร็วเหมือน ASIC หรือ FPGA ข้อสรุปของฉันเกี่ยวกับ ASICs / FPGAs นั้นเร็วกว่าซีพียูแบบมัลติคอร์ดูเหมือนว่าจะได้รับการสนับสนุนโดยคำถามและคำตอบทางอิเล็กทรอนิกส์นี้

ประสิทธิภาพ PCI-bus

ฉันรู้ว่าความเร็วบัส x86 กำหนดค่าสูงสุดตามทฤษฎีเพื่อเปลี่ยนแบนด์วิดท์โดยเฉพาะเมื่ออัตราเกิน 1Gbps

ฉันไม่แน่ใจว่าข้อ จำกัด ของบัสที่คุณอ้างถึงที่นี่ แต่ข้อมูลที่คุณมีอาจล้าสมัยไปบ้าง PCI Express bus ที่ใช้ในระบบส่วนใหญ่มีขนาดมากกว่า 10Gbps ในปัจจุบัน

PCIe 2.0ใช้การเข้ารหัส 8b / 10bที่ลงโทษมันประมาณ 20% สำหรับค่าใช้จ่ายในการเข้ารหัสเลน PCI ก่อนการปรับการเข้ารหัสนั้นPCIe 2.0จะส่งมอบแบนด์วิดท์ดิบ 4Gbps ต่อช่องทาง อย่างไรก็ตามแม้จะมีการลงโทษ 20% 8b / 10b PCIe 2.0 x8 (8 PCIe เลน) บีบออกมากกว่า 25Gbps; ดังนั้นคุณสามารถเรียกใช้อะแดปเตอร์ 10GE เดียวได้อย่างง่ายดายที่อัตราสายสองทิศทางบนการ์ด PCIe 2.0 x8

PCIe 3.0 (ใช้ในชิปเซ็ต Intel Ivy Bridge) ใช้การเข้ารหัส 128b / 130b ซึ่งช่วยเพิ่มประสิทธิภาพบัส PCI อย่างมากและเพิ่มแบนด์วิดท์ต่อช่องทางเป็นสองเท่า ดังนั้นการ์ด PCIe 3.0 x8 สามารถส่งมอบ 63Gbps (8.0 * 8 * 128/132) นี่คืออะไรที่จะจามที่; คุณสามารถบรรจุ 10GE อัตราสองบรรทัดได้อย่างปลอดภัยในการยกระดับเดียวกับอัตราประสิทธิภาพเหล่านั้น

ประสิทธิภาพของ Cisco กับ Vyatta

Caveat: ฉันกำลังใช้สื่อการตลาดที่ผู้จำหน่ายจัดหาสำหรับการเปรียบเทียบทั้งหมด ...

  1. ตัวอย่างเช่นความเร็วในการสลับ Catalyst 6500 Sup2T ASIC เปรียบเทียบกับความเร็วในการสลับ x86 ที่เหมือนจริงที่พบในระบบปฏิบัติการทั่วไปหรือ SDN อย่างไร

นี่เป็นสิ่งที่ท้าทายเล็กน้อยเพราะเราจะเปรียบเทียบระบบสวิตชิ่งแบบกระจายเต็มรูปแบบ (Sup2T) กับระบบสวิตชิ่งแบบรวมศูนย์ (Vyatta) ดังนั้นควรตีความผลอย่างระมัดระวัง

  • Sup2T สามารถส่งได้ถึงอัตราที่ไม่ลดลง 60Mpps ด้วยคุณสมบัติที่เปิดใช้งาน อ้างอิง: Catalyst 6500 Sup2T สถาปัตยกรรมกระดาษสีขาว โปรดทราบว่านี่เป็นเพียงระบบ Sup2T ที่ไม่มีการ์ดแจกจ่าย (DFC) แบบกระจายหมายเหตุ 1
  • ฉันพบ RFC 2544 ผลการทดสอบสำหรับการส่งต่อ Vyatta 5600 ที่อัตราการดร็อปแบบไม่เกิน 20.58Mpps สูงสุดและ 70Mpps หากคุณสามารถยอมรับการลดลงได้ ปริมาณงานของ NDR คือ 72Gbps อ้างอิง: Vyatta 5600 vRouter ทดสอบประสิทธิภาพ (SDN กลาง) ต้องลงทะเบียน SDN Central เพื่อดูรายงานฉบับเต็ม
  1. ความเร็วในการสลับของ Cisco 7200VXR-NPE-G2 เป็นอย่างไรเมื่อเปรียบเทียบกับ ...

Vyatta เป่า NPE-G2 ออกมาจากน้ำ NPE-G2 สามารถทำได้ถึง 2Mpps อยู่บนพื้นฐานของซิสโก้ NPE-G2 แผ่นข้อมูล นี่ไม่ใช่การเปรียบเทียบที่ยุติธรรมแม้ว่าเมื่อเทียบกับอายุของ NPE-G2 เทียบกับระบบ Intel 10-Core ใหม่ล่าสุดที่เต็มไปด้วยการ์ด 10GE

เราเตอร์ทั่วไปหรือสวิตช์เวลาแฝงเปรียบเทียบกับระบบปฏิบัติการทั่วไปที่ทำหน้าที่เดียวกันได้อย่างไร

นั่นเป็นคำถามที่ยอดเยี่ยม บทความนี้ระบุว่า Vyatta มีเวลาแฝงที่สูงขึ้น แต่ฉันอยากจะเห็นการทดสอบแบบนี้กับ Intel E5 series CPU

สรุป

สรุปการเปรียบเทียบ Sup2T กับ Brocade Vyatta 5600 แบบเทียบเคียง:

  • Sup2T: 60Mpps NDR IPv4 พร้อมคุณสมบัติ (เช่น ACL)
  • Vyatta และ Intel E5: สูงถึง 20Mpps IPv4 NDR โดยไม่มีฟีเจอร์หรือ 70Mpps หากคุณสามารถรับหยดได้จำนวนน้อย

Sup2T ยังคงชนะในความคิดของฉันโดยเฉพาะอย่างยิ่งเมื่อคุณดูสิ่งที่คุณได้รับกับ Sup2T (สเกลกระจายถึง 720Mpps, MPLS, MIB นับไม่ถ้วน, การสลับ Layer2 และ Layer3 ฯลฯ ... )

หากสิ่งที่คุณใส่ใจคือประสิทธิภาพการสลับแบบดิบคุณสามารถรับหมายเลขประสิทธิภาพที่น่าเชื่อถือจากซีพียู x86 อย่างไรก็ตามในเครือข่ายจริงมันไม่ได้เกี่ยวกับผู้ที่มีหมายเลขการแข่งขันลากที่ดีที่สุด คนส่วนใหญ่จำเป็นต้องกังวลเกี่ยวกับคุณสมบัติ (ดู: เมื่อใดฉันจึงควรให้ความสำคัญกับแต่ละค่าสำหรับการประเมินสวิตช์ ) ปัจจัยสำคัญที่ต้องพิจารณาคือจำนวนของคุณลักษณะที่มีอยู่และวิธีการรวมเข้ากับส่วนที่เหลือของเครือข่ายของคุณ

นอกจากนี้ยังควรพิจารณาความเป็นไปได้ในการดำเนินงานของการใช้ระบบที่ใช้ x86 ใน บริษัท ของคุณ ฉันไม่ได้ใช้ Brocade + Vyatta ด้วยตัวเอง แต่พวกเขาสามารถสร้างคำสั่งการแสดงที่ดีและสนับสนุน hooks ลงในกล่องได้ หากพวกเขาสนับสนุนคุณสมบัติที่เพียงพอและระบบของพวกเขาปรับขนาดได้ดีในเครือข่ายจริงให้ลองใช้งานถ้านั่นคือสิ่งที่คุณต้องการ

อย่างไรก็ตามถ้ามีใครบางคนราคาถูกและเพิ่งสร้างกล่องลินุกซ์ + bird/ quagga+ ACLs + qos ฉันไม่อยากเป็นคนที่แต่งตัวประหลาดที่สนับสนุนโซลูชันนั้น ฉันยืนยันเสมอว่าชุมชนโอเพนซอร์ซทำผลงานได้อย่างยอดเยี่ยม แต่การสนับสนุนระบบของพวกเขาก็ลดลงเมื่อเทียบกับผู้จำหน่ายเครือข่ายหลัก (Arista / Cisco / Force10 / Juniper) เราต้องการเพียงการดูiptablesและtcเพื่อดูว่าคุณสามารถสร้าง CLI ได้อย่างไร บางครั้งฉันก็ถามคำถามจากคนที่ดูผลลัพธ์และip link showหรือifconfigพูดออกมาเพราะตัวนับแพ็คเก็ตไม่ถูกต้อง โดยทั่วไปแล้วผู้ขายเครือข่ายรายใหญ่จะทำการทดสอบเคาน์เตอร์ของพวกเขาได้ดีกว่ามากเมื่อเทียบกับสิ่งที่ฉันเห็นในไดรเวอร์ Linux ของ NIC


หมายเหตุท้าย :

หมายเหตุ 1ไม่มีใครสนใจเรื่องประสิทธิภาพเลยจะซื้อ Sup2T และไม่สามารถเติมแชสซีด้วย DFC Sup2T สามารถสลับที่ 60Mpps แต่แชสซีที่โหลดด้วย DFCs จะปรับเป็น 720Mpps

หมายเหตุ 2การทดสอบ Vyatta รันบนโปรเซสเซอร์ดูอัลโปรเซสเซอร์ 10 คอร์ Intel E5-2670v2 ที่ 2.5Ghz ต่อคอร์ หากเรานับหนึ่งคอร์เป็นเสมือนคอร์สองแกน (เช่นไฮเปอร์ - เธรด) นั่นคือทั้งหมด 40 คอร์สำหรับการสลับแพ็กเก็ต Vyatta ได้รับการกำหนดค่าด้วย Intel x520-DA2 NICs และใช้ Brocade Vyatta เวอร์ชัน 3.2


1
คุณรู้หรือไม่ว่าขนาดของเฟรมมีอะไรบ้างในภาพเหล่านั้น? บทสรุปผู้บริหารสำหรับ Vyatta กล่าวว่าพวกเขาบรรลุ 70Mpps ด้วย 64B เฟรม; ขนาดเฟรมเดียวกับที่ใช้ในการทดสอบ Sup2T คืออะไร?
Ryan Foley

0

ซีรีย์ 7200 กำลังถูกคัดค้านเนื่องจากซีรีย์ ASR เพราะพวกเขาไม่สามารถจัดการการสลับหลายกิกะบิตในอัตราสาย ตัวเร่งปฏิกิริยาและสวิตช์ Nexus มีข้อได้เปรียบในการส่งต่อเหนือตัวประมวลผลวัตถุประสงค์ทั่วไปหากการสลับแพ็กเก็ตยังคงอยู่ในซิลิคอน หากการรับส่งข้อมูลจะต้องดำเนินการเปลี่ยนกระบวนการ (เช่นต้องทำการประเมินบน CPU แทน ASIC / FPGA) การรับส่งข้อมูลของคุณจะลดลงและเวลาแฝงเพิ่มขึ้น ด้วยเหตุผลนี้หากคุณต้องการการสลับปริมาณงานสูงคุณต้องแยกระนาบการส่งต่อออกจากระนาบการจัดเส้นทางและปรับให้เหมาะสมเพื่อให้การสลับของคุณมีค่ามากที่สุดเท่าที่จะเป็นไปได้ในซิลิคอน

ในบางกรณีคุณจะเห็นการสลับซิลิคอนแบบพิเศษที่แต่งงานกับโปรเซสเซอร์อเนกประสงค์ (เช่นสวิตช์กล่องสีขาวที่มีจุดประสงค์เพื่อใช้ Big Switch หรือ SDN อื่น ๆ สำหรับด้านบนสุดของแร็คการกระจายหรือการซ้อนทับ) และในกรณีเหล่านี้ คุณสามารถเห็นสิ่งที่ดีที่สุดในโลกทั้งหมด (ปริมาณงานสูง, การสลับเวลาล่าช้าน้อย, การประมวลผลพลังงานสูงสำหรับการกำหนดเส้นทางและนโยบาย, การรวมเข้ากับกรอบการจัดการเช่น Puppet หรือ Chef)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.