การสืบค้นอย่างรวดเร็วด้วยการใช้แพ็คเก็ต UDP


10

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

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

ยินดีต้อนรับความคิดและข้อเสนอแนะอื่น ๆ


2
คุณสามารถดูเวลาแฝงเป็นสิบหรือหลายร้อยไมโครวินาที ... เวลาแฝงย่อยมิลลิวินาทีแน่นอน ... ตามคำอธิบายของคุณดูเหมือนว่าคุณกำลังพิจารณาระบบการซื้อขายทางการเงิน ... เวลาแฝงที่คุณขอนั้นขึ้นอยู่กับ hw เฉพาะของคุณ และคุณทำได้ดีกว่าการทดสอบมากกว่าการขอคำแนะนำฟรี
Mike Pennington

ขอบคุณมากสำหรับคำตอบของคุณ มันไม่ได้เป็นจริงสำหรับระบบการซื้อขายทางการเงินในกรณีนี้ ฉันแค่ต้องการความคิดที่คลุมเครือเกี่ยวกับสิ่งที่เป็นไปได้ก่อนที่จะเริ่มใช้งานการศึกษาความเป็นไปได้มากกว่าสิ่งอื่นใด
John Smith

คำตอบ:


11

ตัวอย่าง Juniper MX80 มีทางเข้า -> egress หน่วงเวลาประมาณ 8us, บนสวิตช์เวลาต่ำผ่านความหน่วงแฝงสามารถเป็น <1us (อาจ 0.7us) (โปรดจำไว้ว่าสวิตช์การตัดผ่านไม่สามารถทำการตัดผ่านได้ 100% ของเวลาเท่านั้นเมื่อพอร์ต egress ไม่ทำงาน!)

1km ในไฟเบอร์ประมาณ 5us latency (อีกทิศทางเดียว)

Serialization delay @ 10G สำหรับขนาดบรรจุขั้นต่ำ (46B) ประมาณ 67ns (0.067us) โดยการเพิ่มความเร็วลิงค์คุณจะลดความล่าช้าในการซีเรียล

ส่วนหัวของ IP คือ 20B ส่วนหัว UDP คือ 8B ข้อมูลของคุณคือ 8B ดังนั้นคุณจึงมีข้อมูลเพียง 36B ซึ่งหมายความว่าส่วนต่อข้อมูลอีเทอร์เน็ตของคุณจะรวมถังขยะ 10B ที่คุณต้องส่งนั่นคือถ้าคุณมีบางอย่างที่จะต้องเพิ่ม มันมีต้นทุนแฝง 0

ฉันหวังว่าคุณสามารถคาดการณ์ RTT จากสิ่งเหล่านี้ได้โดยการคูณความล่าช้าของอุปกรณ์ด้วยการนับอุปกรณ์และเพิ่ม 5us สำหรับทุก ๆ กิโลเมตรของไฟเบอร์แล้วคูณด้วย 2


ฉันไม่สามารถต้านทานการเพิ่มความคิดบางอย่างเกี่ยวกับ HFT

ตามปริมาณ HFT นี้ลดลงครึ่งหนึ่งระหว่างปี 2009 ถึงปี 2012 แนะนำว่าการชนะอย่างง่ายจะหายไป ฉันชอบดูบทความทางวิทยาศาสตร์หรือข้อมูลจริงเกี่ยวกับเวลาแฝงของ HFT และมีผลกระทบต่อกำไร ฉันสงสัยว่าเวลาแฝงที่ส่งผลกระทบต่อผลกำไรจากการค้าอยู่ที่ขนาดอื่นมากกว่าเวลาแฝงที่เรากำลังพูดถึงในขณะนี้ เพื่อนของฉันที่สร้างเครือข่ายสำหรับการแลกเปลี่ยนที่ใหญ่ที่สุดดูเหมือนว่าจะเป็นเพียงลูกค้าที่ทำ 'ลด == ดีกว่า' โดยไม่เข้าใจเครื่องชั่ง
ฉันสามารถเข้าใจได้อย่างสมบูรณ์ว่า HFT มีประโยชน์อย่างไรเมื่อมีคนเพียงไม่กี่คนที่ทำมันเมื่อคุณสามารถสังเกตการณ์ตลาดไม่เห็นการเปลี่ยนแปลงของตลาด B จะเห็นและใช้ประโยชน์จากมัน บางคนกำลังพูดถึงการใช้กฎระเบียบเพื่อหยุด HFT โดยการเก็บภาษีแต่ละการค้าทำให้มีราคาแพงสำหรับทุกคนฉันไม่คิดว่ามันจะเป็นสิ่งจำเป็นฉันคิดว่าหน้าต่างแห่งโอกาสกำลังจะปิดลง


คำตอบที่ยอดเยี่ยมและให้ข้อมูลดีมากขอบคุณ แม้แต่ความคิดส่วนตัวเล็กน้อยเกี่ยวกับ HFT!
John Smith

1
@ JohnSmith อย่าเพิกเฉยที่จะต้องพิจารณาความล่าช้าที่เกิดขึ้นภายในจุดปลายทางของคุณ (เช่นตัวกำหนดตารางเวลาระบบปฏิบัติการหรือการประมวลผลเคอร์เนล) ... สิ่งนี้สามารถมีส่วนสำคัญต่อความล่าช้าที่ฉันกล่าวถึงในความคิดเห็นก่อนหน้านี้
Mike Pennington

จุดที่ยอดเยี่ยมเกี่ยวกับการใช้ขนาดแพ็คเก็ตขั้นต่ำเต็มรูปแบบที่ 0 ค่าความหน่วง
Generalnetworkerror

1

ฉันคิดว่าฮาร์ดแวร์แบบกึ่งปรับปกติคุณควรจะสามารถ:

  1. ออกจากสแต็กเครือข่ายโฮสต์ของคุณ
  2. ตั้งค่าสแต็กเครือข่ายต่อไปของคุณ
  3. กลับไปที่สแต็กเครือข่ายที่มีแพ็กเก็ต 'ใหม่' ของคุณ

ใน ~ 10 เราที่ 10gig หากคุณล็อคสิ่งต่างๆลงไปจำนวนนั้นอาจลดลงอย่างมาก

เวลาแฝงเกือบทั้งหมดที่คุณจะเห็นไม่ใช่จากเครือข่ายฮาร์ดแวร์ / สายเคเบิล แต่มาจากระบบโฮสต์ของคุณ การตัดผ่านสวิตช์ที่เหมาะสม (Arista, Gnodal, New Cisco ฯลฯ ) จะเป็น sub 1us

เริ่มต้นด้วยการทำให้มั่นใจว่ากระบวนการที่ใช้แพ็คเก็ต UDP นั้นถูกตรึงไว้ที่แกนเดียวกับการขัดจังหวะ NIC ของคุณ ตรวจสอบให้แน่ใจว่าการรวมกันใน NIC ของคุณถูกปิดใช้งานและจากนั้นตรวจสอบให้แน่ใจว่าคุณเปิด MSI-X และ DCA แล้ว

หากคุณจริงจังมากขึ้น ... ตรวจสอบ OpenOnload ของ SolarFlare พวกเขามีชุดเครื่องมือที่ยอดเยี่ยมสำหรับการทดสอบ / ตรวจสอบประสิทธิภาพเช่นกัน

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